четверг, 1 сентября 2016 г.

Регистрирование изменений в документе

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
...
//обработка на проверку изменения документа поле ЖелаемаяДатаОтгрузкиДополн более 2х раз
Если Объект.Проведен = Истина И Объект.Регистратор >= 3 Тогда
Если НЕ ПолучитьРольАдминистратораСистемы() Тогда
Сообщить ("Внимание!" + Символы.ПС + "Изменение даты отгрузки невозможно");
ДатаПолученнаяИзЗапроса = ПолучениеДытыИзДокумента();
Объект.ЖелаемаяДатаОтгрузкиДополн = ДатаПолученнаяИзЗапроса;
КонецЕсли
КонецЕсли;


// регистрируем изменения желаемой даты
Если Объект.Регистратор < 3 И Объект.Проведен = Истина Тогда
ДатаПолученнаяИзЗапроса = ПолучениеДытыИзДокумента();
Если ДатаПолученнаяИзЗапроса <> Объект.ЖелаемаяДатаОтгрузкиДополн Тогда
Объект.Регистратор = Объект.Регистратор + 1
КонецЕсли
КонецЕсли
КонецПроцедуры


&НаСервере
Функция ПолучитьРольАдминистратораСистемы()
Возврат  РольДоступна(Метаданные.Роли.АдминистраторСистемы)
КонецФункции
&НаСервере
Функция ПолучениеДытыИзДокумента()

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.Текст = "ВЫБРАТЬ
              | РеализацияТоваровУслуг.ЖелаемаяДатаОтгрузкиДополн
              |ИЗ
              | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
              |ГДЕ
              | РеализацияТоваровУслуг.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.ЖелаемаяДатаОтгрузкиДополн
КонецЦикла

КонецФункции

Комментариев нет:

Отправить комментарий