Untitled
unknown
plain_text
2 years ago
6.1 kB
13
Indexable
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ДВИЖЕНИЯ ПО РЕГИСТРУ ОСТАТКИ НОМЕНКЛАТУРЫ
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.ОстаткиНоменклатуры.Записать();
// Установка блокировки данных в регистре Остатки номенклатуры по записям с истекшим сроком годности
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.УстановитьЗначение("СрокГодности", Новый Диапазон(, Дата));
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
// Получение данных для формирования движений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиНоменклатурыОстатки.Номенклатура КАК Номенклатура,
| ОстаткиНоменклатурыОстатки.СрокГодности КАК СрокГодности,
| ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК Количество,
| ОстаткиНоменклатурыОстатки.СуммаОстаток КАК Сумма
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, СрокГодности < &Дата) КАК ОстаткиНоменклатурыОстатки";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
// Заполнение набора записей регистра
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Движение = Движения.ОстаткиНоменклатуры.ДобавитьРасход();
ЗаполнитьЗначенияСвойств(Движение, Выборка);
Движение.Период = Дата;
КонецЦикла;
//ДВИЖЕНИЯ ПО РЕГИСТРУ ЭКСПЛУАТИРУЕМОЕ ОБОРУДОВАНИЕ
Движения.ЭксплуатируемоеОборудование.Записывать = Истина;
Движения.ЭксплуатируемоеОборудование.Записать();
// Установка блокировки данных в регистре Эксплуатируемое оборудование по записям
// с истекшим сроком годности и записям с истекшим сроком эксплуатации
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ЭксплуатируемоеОборудование");
ЭлементБлокировки.УстановитьЗначение("СрокГодности", Новый Диапазон(, Дата));
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ЭксплуатируемоеОборудование");
ЭлементБлокировки.УстановитьЗначение("СрокЭксплуатации", Новый Диапазон(, Дата));
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
// Получение данных для формирования движений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЭксплуатируемоеОборудованиеОстатки.Номенклатура КАК Номенклатура,
| ЭксплуатируемоеОборудованиеОстатки.СрокГодности КАК СрокГодности,
| ЭксплуатируемоеОборудованиеОстатки.СрокЭксплуатации КАК СрокЭксплуатации,
| ЭксплуатируемоеОборудованиеОстатки.КоличествоОстаток КАК Количество,
| ЭксплуатируемоеОборудованиеОстатки.СуммаОстаток КАК Сумма
|ИЗ
| РегистрНакопления.ЭксплуатируемоеОборудование.Остатки(
| &МоментВремени,
| СрокГодности < &Дата
| ИЛИ СрокЭксплуатации < &Дата) КАК ЭксплуатируемоеОборудованиеОстатки";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
// Заполнение набора записей регистра
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Движение = Движения.ЭксплуатируемоеОборудование.ДобавитьРасход();
ЗаполнитьЗначенияСвойств(Движение, Выборка);
Движение.Период = Дата;
КонецЦикла;
КонецПроцедуры
Editor is loading...