Процедура ВыгрузкаПроводок(Кнопка) Если Не ЗначениеЗаполнено(Документ) Тогда Сообщить("Заполните поле Документ!"); Иначе Движ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Движ.Отбор.Регистратор.Установить(Документ); Движ.Прочитать(); ТЗ = Движ.Выгрузить(); ПараметрОтбора = Новый Структура("СчетДт",Счет); ТЗИтог = ТЗ.Скопировать(ПараметрОтбора); Если ЗначениеВФайл("D:\OUT.TXT",ТЗ) Тогда Сообщить("Создан файл ""D:\OUT.TXT"""); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ЗагрузитьПроводки(Кнопка) ТЗЗагрузка = ЗначениеИзФайла("D:\OUT.TXT"); Движ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Движ.Отбор.Регистратор.Установить(Документ); Движ.Прочитать(); ТЗ = Движ.Выгрузить(); Для Каждого Эл Из ТЗЗагрузка Цикл ПараметрОтбора = Новый Структура("СчетДт,СубконтоДт1",Эл.СчетДт,Эл.СубконтоДт1); Массив = ТЗ.НайтиСтроки(ПараметрОтбора); Если Массив.Количество()>0 Тогда Сообщить("Запись есть - Пропускаем!"); Продолжить; Иначе Сообщить("Записи нет - Добавляем!"); НоваяСтрока = ТЗ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,Эл); КонецЕсли; КонецЦикла; Движ.Загрузить(ТЗ); Движ.Записать(); Сообщить("Проводки для данного документа созданы успешно!"); КонецПроцедуры
//Вых - ЭлементыФормы.РезультатТабличныйДокумент, //ТЗЗ - Результат выполнения запроса Процедура ПечатьРезвТаб(Вых,ТЗЗ) Экспорт КоличествоКолонок = ТЗЗ.Колонки.Количество(); Выборка = ТЗЗ.Выбрать(ОбходРезультатаЗапроса.Прямой); ДетальнаяСтрока = Вых.ПолучитьОбласть(1, , 1, ); ОбластьОбщихИтогов = Вых.ПолучитьОбласть(1, , 1, ); ОбластьОбщихИтогов.Область().Шрифт = Новый Шрифт(ОбластьОбщихИтогов.Область().Шрифт, , , Истина, , ,); ОбластьИерархическихЗаписей = Вых.ПолучитьОбласть(1, , 1, ); ОбластьИерархическихЗаписей.Область().Шрифт = Новый Шрифт(ОбластьИерархическихЗаписей.Область().Шрифт, , , Истина, , ,); ОбластьГрупповыхЗаписей = Вых.ПолучитьОбласть(1, , 1, ); ОбластьГрупповыхЗаписей.Область().Шрифт = Новый Шрифт(ОбластьГрупповыхЗаписей.Область().Шрифт, , , Истина, , ,); ОбластьЗаголовка = Вых.ПолучитьОбласть(1, , 1, ); Для ТекущееПоле = 0 По КоличествоКолонок - 1 Цикл Область = ОбластьЗаголовка.Область(1, ТекущееПоле + 1); Область.Текст = ТЗЗ.Колонки[ТекущееПоле].Имя; Область.ШиринаКолонки = ?(ТЗЗ.Колонки[ТекущееПоле].Ширина<3,3,ТЗЗ.Колонки[ТекущееПоле].Ширина); КонецЦикла; Вых.Вывести(ОбластьЗаголовка); ОбластьЗаголовка = Вых.Область(1, 1, 1, КоличествоКолонок); ОбластьЗаголовка.Шрифт = Новый Шрифт(ОбластьЗаголовка.Шрифт, , , Истина, , ,); ОбластьЗаголовка.ЦветФона = Новый Цвет(234, 234, 234); ОбластьЗаголовка.ГраницаСнизу = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1); Вых.НачатьАвтогруппировкуСтрок(); Пока Выборка.Следующий() Цикл ОбработкаПрерыванияПользователя(); Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда ИсходнаяСтрока = ОбластьГрупповыхЗаписей; ИначеЕсли Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда ИсходнаяСтрока = ОбластьИерархическихЗаписей; ИначеЕсли Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог Тогда ИсходнаяСтрока = ОбластьОбщихИтогов; Иначе ИсходнаяСтрока = ДетальнаяСтрока; КонецЕсли; Для ТекущееПоле = 0 По КоличествоКолонок - 1 Цикл Область = ИсходнаяСтрока.Область(1, ТекущееПоле + 1); Область.Текст = Выборка[ТекущееПоле]; КонецЦикла; Вых.Вывести(ИсходнаяСтрока, Выборка.Уровень()); КонецЦикла; Вых.ЗакончитьАвтогруппировкуСтрок(); КонецПроцедуры