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

Изменение регистра сведений



// изменение действующей записи в регистре сведений
&НаСервере
Процедура ПроизвестиИзменениеСостоянияЗаказовКлиентов()



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

Если ВыборкаДетальныеЗаписи.Количество() <> 0 Тогда
            ВыборкаДетальныеЗаписи.Следующий();
МенеджерЗаписи = РегистрыСведений.СостоянияЗаказовКлиентов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Заказ = ВыборкаДетальныеЗаписи.РегСвЗаказСсылка;
МенеджерЗаписи.Прочитать();
МенеджерЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию;
        Попытка
МенеджерЗаписи.Записать()
Исключение
КонецПопытки

КонецЕсли
 КонецЕсли;

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

Если ВыборкаДетальныеЗаписи2.Количество() <> 0 Тогда
       ВыборкаДетальныеЗаписи2.Следующий();
МенеджерЗаписи = РегистрыСведений.СостоянияОтгрузки.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ДокументОтгрузки = ВыборкаДетальныеЗаписи2.РегСвРеалСсылка;
МенеджерЗаписи.Прочитать();
МенеджерЗаписи.Состояние = Перечисления.СостоянияОтгрузки.Доставлено;
       Попытка
МенеджерЗаписи.Записать()
Исключение
КонецПопытки
КонецЕсли
КонецПроцедуры

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

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