Процедура Обновить()
Табл.Очистить();
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|ПриходныйДокумент = Регистр.ПартииНаличие.Партия.ПриходныйДокумент;
|ДатаОкончанияХранения = Регистр.ПартииНаличие.ДатаОкончанияХранения;
|Количество = Регистр.ПартииНаличие.Количество;
|
|Группировка Номенклатура без групп;
|Группировка ПриходныйДокумент без групп;
|Группировка ДатаОкончанияХранения без групп;
|
|Функция КоличествоКонОст = КонОст(Количество);
|";
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Табл.НоваяКолонка("Раскраска");
Табл.НоваяКолонка("Номенклатура",,,,,50);
Табл.НоваяКолонка("ПриходныйДокумент","Строка",,,,50);
Табл.НоваяКолонка("Ед",,,,,10);
Табл.НоваяКолонка("Остаток","Число",15,3);
Табл.НоваяКолонка("ДатаПоступления","Дата");
Табл.НоваяКолонка("ХранитьДо","Дата");
Табл.НоваяКолонка("Очередность");
Табл.ВидимостьКолонки("Раскраска",0);
Табл.ВидимостьКолонки("Очередность",0);
КолНаим = 0;
КолДок = 0;
КолДней = 0;
Пока Запрос.Группировка(1) = 1 Цикл
КолНаим = КолНаим + 1;
Пока Запрос.Группировка(2) = 1 Цикл
Пока Запрос.Группировка(3) = 1 Цикл
КолДок = КолДок + 1;
Табл.НоваяСтрока();
Табл.Номенклатура = Запрос.Номенклатура;
Табл.ПриходныйДокумент = Строка(Запрос.ПриходныйДокумент) + " Автор: " + Запрос.ПриходныйДокумент.Автор;
Табл.Ед = Запрос.Номенклатура.БазоваяЕдиница;
Табл.Остаток = Запрос.КоличествоКонОст;
Табл.ДатаПоступления = Запрос.ПриходныйДокумент.ДатаДок;
Табл.ХранитьДо = Запрос.ДатаОкончанияХранения;
КолДней = Табл.ХранитьДо - Табл.ДатаПоступления;
Если Табл.ДатаПоступления + Окр(КолДней * 0.75,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[13311]";
Табл.Очередность = 0;
ИначеЕсли Табл.ДатаПоступления + Окр(КолДней * 0.5,0) < ТекущаяДата() Тогда
Табл.Раскраска = "BRUSH[16776960]";
Табл.Очередность = 1;
Иначе
Табл.Раскраска = "";
Табл.Очередность = 2;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Табл.Сортировать("Очередность,ХранитьДо");
Сообщить("На складе " + КолНаим + " номенклатурных наименований по " + КолДок + " приходным документам");
КонецПроцедуры