создает только последний документ в папки, а должен каждый создать и открыть. Должно получится сколько файлов столько и документов
ИмяФайлаДанных = "C:\ptz"; СоответствиеУслугам = Новый Соответствие; СоответствиеУслугам.Вставить("газ.txt", Новый Структура("Услуга",Справочники.Номенклатура.ГазоснабжениеИГБУ)); СоответствиеУслугам.Вставить("то.txt", Новый Структура("Услуга",Справочники.Номенклатура.Техобслуживание)); МассивФайлов = НайтиФайлы(ИмяФайлаДанных, "*.txt"); Для каждого ТекущийФайл Из МассивФайлов Цикл ПолноеИмяФайл = СтрЗаменить(ТекущийФайл.Имя, "_",Символы.ПС); ПрефиксФайла = СтрПолучитьСтроку(ПолноеИмяФайл, 4); ПрефиксФайла = НРег(ПрефиксФайла); СтруктураУслуги = СоответствиеУслугам[ПрефиксФайла]; Если СтруктураУслуги <> Неопределено Тогда СоответствиеУчастка = Новый Соответствие; СоответствиеУчастка.Вставить("лах", Новый Структура("Участок",Справочники.Пользователи.НайтиПоНаименованию("Лах АУ"))); СоответствиеУчастка.Вставить("птз", Новый Структура("Участок",Справочники.Пользователи.НайтиПоНаименованию("Пет АУ"))); МассивФайлов2 = НайтиФайлы(ИмяФайлаДанных, "*.txt"); Для каждого ТекущийФайл2 Из МассивФайлов2 Цикл ПолноеИмяФайл2 = СтрЗаменить(ТекущийФайл2.Имя, "_",Символы.ПС); ПрефиксФайла2 = СтрПолучитьСтроку(ПолноеИмяФайл2, 2); ПрефиксФайла2 = НРег(ПрефиксФайла2); СтруктураУчастка = СоответствиеУчастка[ПрефиксФайла2]; Если СтруктураУчастка <> Неопределено Тогда АбонентскийУчасток=СтруктураУчастка.Участок; Регион=АбонентскийУчасток.ОсновнойРегион; Текст = Новый ЧтениеТекста(СокрЛП(ТекущийФайл.ПолноеИмя), КодировкаТекста.ANSI); Стр=""; Ном=0; //АбонентскийУчасток=ПараметрыСеанса.ГруппаТекущегоПользователя; //Регион=АбонентскийУчасток.ОсновнойРегион; Док=Документы.ВводПлатежей.СоздатьДокумент(); Док.Дата=ТекущаяДата(); Док.АбонентскийУчасток=АбонентскийУчасток; Док.ПриходОплаты=Справочники.ПриходДенег.НайтиПоНаименованию("Сбербанк (рас.счет)"); Пока Стр<>Неопределено Цикл Стр=Текст.ПрочитатьСтроку(); Если Стр=Неопределено Тогда Прервать; Конецесли; МассивСтроки=РазложитьСтрокуВМассивПодстрок(Стр, ";"); Если МассивСтроки[0]="#СУММА" тогда продолжить; КонецЕсли; Преф=Строка(Регион.Префикс); ЛС=Строка(МассивСтроки[0]); ЛСдляПоиска=Преф+ЛС; ЛСН=Справочники.ЛицевыеСчетаАбонентов.НайтиПоКоду(ЛСдляПоиска); Если ЛСН=Справочники.ЛицевыеСчетаАбонентов.ПустаяСсылка() Или ЛСН=Неопределено Тогда Сообщить("Не найден ЛС="+ЛС); Продолжить; КонецЕсли; Сумм=Число(МассивСтроки[1]); ФИО=МассивСтроки[2]; Адрес=МассивСтроки[4]; ИД=""; НоваяСтрока=Док.РучнаяОплата.Добавить(); НоваяСтрока.ЛицевойСчет=ЛСН; НоваяСтрока.ФИО=ФИО; НоваяСтрока.Сумма=Сумм; НоваяСтрока.ВидУслуги=СтруктураУслуги.Услуга; НоваяСтрока.ВидКвитанции=СтруктураУслуги.Услуга.ВидКвитанции; НоваяСтрока.Адрес=НоваяСтрока.ЛицевойСчет.Наименование; КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Док.Комментарий="Загрузка из банка"; ДокОплаты=Док.Ссылка; Док.ВсегоОплата=ТаблКвитанций.Итог("Сумма"); ФормаДокумента=Док.ПолучитьФорму("ФормаДокумента"); ФормаДокумента.Открыть();
В цикле чтения файлов, должна быть запись документа, а ее вообще нет
Запись не нужна, пока что нужно чтобы они открывались
тогда получение и открытие формы должно тоже быть в цикле