Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
Granfury
9 / 9 / 5
Регистрация: 22.04.2015
Сообщений: 305
1

Отмена Записи документа

17.06.2016, 15:07. Просмотров 4347. Ответов 6
Метки нет (Все метки)

Доброго времени суток!
Как реализовать отмену записи документа?
Есть поле "ответственный"
Записать может только тот пользователь имя которого совпадает с "ответственный"

как это реализовать?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    ПередЗаписьюНаСервере();
КонецПроцедуры
 
&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере()
    //Документ сохраняется только владельцем документа (ответственым)
    User = ЭтаФорма.Объект.Ответственный();
    Users = ПользователиИнформационнойБазы.ТекущийПользователь();
    Если User = Users
          Тогда 
    Сообщить("Документ сохранён : "+User);
    Иначе
    РежимЗаписиДокумента.Запись(Отказ);
    КонецЕсли;
КонецПроцедуры
ошибка кода:
{Документ.ПланЗакупок.Форма.ФормаДокумента.Форма(563,9)}: Переменная не определена (ЭтаФорма)
User = <<?>>ЭтаФорма.Объект.Ответственный(); (Проверка: Сервер)
{Документ.ПланЗакупок.Форма.ФормаДокумента.Форма(569,30)}: Переменная не определена (Отказ)
РежимЗаписиДокумента.Запись(<<?>>Отказ); (Проверка: Сервер)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 15:07
Ответы с готовыми решениями:

Отмена проведения проведённого документа
Всем привет! Пытаюсь сделать запрет на проведение уже проведённого ранее документа. Почитала,...

Отмена проведения документа при недостатке на складе. с учетом перепроведения
В 1С пару недель. Был диск с 1С 2013 года, там код работал, скачал с сайта новый конфигуратор,...

Как изменить текст надписи формы документа при записи документа
Здравствуйте уважаемые, у меня простой вопрос - как мне при записи документа изменить надпись на...

Запрет повторной записи документа
Привет всем. Скажите пожалуйста как можно запретить повторную интерактивную запись документа?

Вывод выбранной записи ТЧ документа на печать.
Есть справочник Клиенты, в нем табличная часть Услуги. У каждого клиента по 2 услуги. Как мне...

6
SHIFT_969
Злой самаритянин
179 / 180 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
17.06.2016, 15:18 2
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    ПередЗаписьюНаСервере();
КонецПроцедуры
 
&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере()
    //Документ сохраняется только владельцем документа (ответственым)
    User = Объект.Ответственный();
    Users = ПользователиИнформационнойБазы.ТекущийПользователь();
    Если User = Users Тогда 
        Сообщить("Документ сохранён : "+User);
    Иначе
        Сообщить("Документ не может быть записан этим пользователем.");
        Возврат;
    КонецЕсли;
КонецПроцедуры
0
Tklwegsd
Эксперт 1С
807 / 581 / 199
Регистрация: 24.07.2013
Сообщений: 2,028
17.06.2016, 19:30 3
Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

У формы уже есть события, выполняющиеся на сервере ПередЗаписьюНаСервере, ПриЗаписиНаСервере. Лучше воспользоваться ими.
1
Granfury
9 / 9 / 5
Регистрация: 22.04.2015
Сообщений: 305
19.06.2016, 14:47  [ТС] 4
Tklwegsd, попробую, спасибо!
0
Granfury
9 / 9 / 5
Регистрация: 22.04.2015
Сообщений: 305
21.06.2016, 09:15  [ТС] 5
SHIFT_969, Ошибка:
{Документ.ПланЗакупок.Форма.ФормаДокумента.Форма(30,12)}: Переменная не определена (Объект)
User = <<?>>Объект.Ответственный(); (Проверка: Сервер)

Добавлено через 11 минут
если поле "ответственный" пустое, в таком случаи может быть данная ошибка?
или с чем связанна эта ошибка?
0
SHIFT_969
Злой самаритянин
179 / 180 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
21.06.2016, 10:19 6
Лучший ответ Сообщение было отмечено Granfury как решение

Решение

Granfury, &НаСервереБезКонтекста – означает, что метод исполняется на сервере вне контекста формы.
Это значит что Объект у тебя недоступен, так как это реквизит формы.
Пиши просто &НаСервере.
Скобки там зачем? Чтобы получить значение реквизита:
1C
1
User = Объект.Ответственный;
1
Granfury
9 / 9 / 5
Регистрация: 22.04.2015
Сообщений: 305
21.06.2016, 15:39  [ТС] 7
SHIFT_969, Спасибо!
0
21.06.2016, 15:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2016, 15:39

Ошибки при записи движений документа в регистр накопления
Здравствуйте. Есть собственная конфигурация 1С 8.3 по планированию и учету проектов. В Конфигурации...

Оповещение о скором истечении документа, выполнение документа, истечение документа
Плохо разбираюсь в 1С. Помогите пожалуйста реализовать, чтоб когда документ подходил к истечению...

Не выбран элемент при записи реквизита справочника из обработки проведения документа
Требуется из обработки проведения документа внести изменения в справочник, Процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.