//Привяжем к нашей таблице вызов процедуры обработки //события "ПередОкончаниемРедактирования" !!! процедура должна существовать !!! ДействиеОбработкаВыбора = Новый Действие("ОбработкаВыбораЗнач"); ЭлементыФормы["Таблица"].УстановитьДействие("ПередОкончаниемРедактирования",ДействиеОбработкаВыбора);
//--- создаем новую закладку тмпСтраницы = ЭлементыФормы.ОсновнаяПанель.Страницы; СтраницаПанелиОПЗС = тмпСтраницы.Добавить("Производство", "Производство"); ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = СтраницаПанелиОПЗС; ПолеДокументов = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "ап_Призводство", Истина, ЭлементыФормы.ОсновнаяПанель); ПолеДокументов.Данные = "ап_Производство"; ПолеДокументов.УстановитьДействие("ПередУдалением", Новый Действие("апПроизводствоПередУдалением")); ПолеДокументов.УстановитьДействие("ПередНачаломДобавления", Новый Действие("апПроизводствоПередНачаломДобавления")); ПолеДокументов.УстановитьДействие("ПриПолученииДанных", Новый Действие("апПроизводствоПриПолученииДанных"));
Колонка.ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие(Действие"));
ЭлементыФормы.РасшифровкаПлатежа.Колонки.СтатьяДвиженияДенежныхСредств.ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие("_СтатьяДвиженияДенежныхСредствНачалоВыбора"))
// Необходимо выбрать документы за период по ответственному // В каждом документе, где в первой строке табличного поля не заполнен реквизит Статья // заполнить, и провести документ Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходныйКассовыйОрдер.Ссылка |ИЗ | Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер |ГДЕ | РасходныйКассовыйОрдер.Дата МЕЖДУ &ДатаН И &ДатаК | И РасходныйКассовыйОрдер.Ответственный = &Ответственный"; Запрос.УстановитьПараметр("ДатаН", ЭлементыФормы.НачПериода.Значение); Запрос.УстановитьПараметр("ДатаК", ЭлементыФормы.КонПериода.Значение); Запрос.УстановитьПараметр("Ответственный", Ответственный); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл // получим документ для обработки Док = Выборка.Ссылка.ПолучитьОбъект(); //Проверим заполнение реквизита СтатьяДвиженияДенежныхСредств в первой строке табл. поля Если ПустаяСтрока(Док.РасшифровкаПлатежа[0].СтатьяДвиженияДенежныхСредств) тогда Док.РасшифровкаПлатежа[0].СтатьяДвиженияДенежныхСредств=СтатьяЗатрат; Док.Записать(РежимЗаписиДокумента.Проведение); Сообщить(Док); КонецЕсли; КонецЦикла;