Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 мая 2022, 11:04

Значение реквизита в Модуле Объекта

Автор blade_snl, 20 фев 2022, 14:11

0 Пользователей и 1 гость просматривают эту тему.

blade_snl

ПОдскажите пожалуйста, может я чтото недопонимаю...
В модуле объекта документа в процедуре ПередЗаписью, проверяю значение реквизита объекта и если он уже был заполнен, не выполняю следующую процедуру...

&После("ПередЗаписью")
Процедура Расш_ПередЗаписью()

пТипОбъекта = "Документ";
пОбъектНаименование = "РасходнаяНакладная";

//...// Присваеваем уникальный идентификатор Синхр_ID
// проверяем, новый ли это элемент или уже имеет идентификатор:
Если СтрДлина(Синхр_ID) > 0 Тогда //если уже есть, прерываем
Возврат;
КонецЕсли;

Синхр_ID = РасшСинхр_РегистрируемОбъектыВРегистре.ПолучитьПерсональныйИдентификаторСинхр_ID(пТипОбъекта,пОбъектНаименование);
//...//
КонецПроцедуры

смысл в том, что если этот документ уже был ранее создан и сейчас просто редактировался, то реквизит Объект.Синхр_ID уже не будет пустым и мы прерываем дальнейшее выполнение процедуры.
Если же этот документ только что создали - то перед его первым сохранением необходимо выполнить процедуру получения персонального идентификатора и занести его в реквизит документа, чтоб он сохранился уже с идентификатором.

проблему обнаружил не сразу.
почемуто, если я создаю несколько подряд документов новых - он считает что в каждом последущем, значение реквизита уже заполнено (по факту оно заполнено оказывается значением ранее сохраненного документа).

blade_snl

blade_snl, процедуру пишу в модуле объекта для того, чтоб даже если пользователь не откроет форму объекта, а, например в списке документов через контекстное меню выберет отменить проведение или пометить на удаление или еще какое действие - мно его нужно перехватывать...

blade_snl

я разобрался в проблеме.. она возникала если пользователь создавал новый документ копированием старого... все встало на свои места.

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск