|
Чтение txt для обмена в банк (исходящие) в ТЗ | ☑ | ||
---|---|---|---|---|
0
anisa8310
20.12.15
✎
08:11
|
Доброго утра!
Мучаюсь с текстовым файлом ТОт файл который мы отправляем в Банк нужно считать в ТЗ, как правильно цикл в цикле сделать чтобы когда "КонецДокумента" вернулся на заспиьс нового набора в ТЗ начиная с номера дока даты и т.д файл текстовый |
|||
1
anisa8310
20.12.15
✎
08:15
|
Текст.Прочитать("U:\User_Folders\Documents\Выгрузка в банк\1.txt");
//Создаем ТЗ Таб=Новый ТаблицаЗначений; Таб.Колонки.Добавить("Номер"); Таб.Колонки.Добавить("Дата"); Таб.Колонки.Добавить("Сумма"); Таб.Колонки.Добавить("ПлательщикСчет"); Таб.Колонки.Добавить("Плательщик"); Таб.Колонки.Добавить("ПлательщикИНН"); Таб.Колонки.Добавить("Плательщик1"); Таб.Колонки.Добавить("ПлательщикРасчСчет"); Таб.Колонки.Добавить("ПлательщикБанк1"); Таб.Колонки.Добавить("ПлательщикБанк2"); Таб.Колонки.Добавить("ПлательщикБИК"); Таб.Колонки.Добавить("ПлательщикКорсчет"); Таб.Колонки.Добавить("ПолучательСчет"); Таб.Колонки.Добавить("Получатель"); Таб.Колонки.Добавить("ПолучательИНН"); Таб.Колонки.Добавить("Получатель1"); Таб.Колонки.Добавить("ПолучательРасчСчет"); Таб.Колонки.Добавить("ПолучательБанк1"); Таб.Колонки.Добавить("ПолучательБанк2"); Таб.Колонки.Добавить("ПолучательБИК"); Таб.Колонки.Добавить("ПолучательКорсчет"); Таб.Колонки.Добавить("ВидПлатежа"); Таб.Колонки.Добавить("ВидОплаты"); Таб.Колонки.Добавить("ПлательщикКПП"); Таб.Колонки.Добавить("Очередность"); Таб.Колонки.Добавить("НазначениеПлатежа"); Таб.Колонки.Добавить("НазначениеПлатежа1"); Таб.Колонки.Добавить("НазначениеПлатежа2"); Таб.Колонки.Добавить("НазначениеПлатежа3"); // перебор строк текстового документа Для НомерСтроки=12 по Текст.КоличествоСтрок() Цикл КонецДокумента=Найти(СтрСтр,"КонецДокумента"); // получить строку файла с указанным номером СтрСтр = Текст.ПолучитьСтроку(НомерСтроки); Для Каждого СтрСтр Пока КонецДокумента<> 1 Цикл Позиция = Найти (СтрСтр, "="); //Если //разделила границу нужно и не нужного Строка1=Найти(СтрСтр,"Номер"); КонецДокумента=Найти(СтрСтр,"КонецДокумента"); Если Строка1=1 Тогда Строка2=Сред(СтрСтр,Позиция+1); //сообщила нужное Сообщить(Строка2); Стр = Таб.Добавить(); Стр.Номер = Строка2; КонецЕсли; КонецЦикла; |
|||
2
фобка
20.12.15
✎
09:15
|
"Для Каждого СтрСтр Пока КонецДокумента<> 1 Цикл "
Что это? |
|||
3
anisa8310
20.12.15
✎
10:11
|
В строке есть слово"КонецДокумента" значит нужно снова вернуться в чтение цикла
Номер Дата Плательщик... ... КонецДокумента Вот здесь уже новый документ пойдет снова читаем и записываем в ТЗ НОмер дата и т.д |
|||
4
Amra
20.12.15
✎
10:20
|
(3) Намекают что такая конструкция невозможна
|
|||
5
фобка
20.12.15
✎
10:41
|
(3) стереть все что написано после
Таб.Колонки.Добавить("НазначениеПлатежа3"); и написать заново, последовательно, проговаривая каждый свой шаг про себя |
|||
6
RomanYS
20.12.15
✎
10:43
|
цикл должен быть один
//цикл по строкам файла ...Цикл ... если ЭтоПерваяСтрока(СтрокаТекста) тогда СтрокаТЗ = ТЗ.Добавить(); иначеесли ЭтоСтрокаПоказателя(СтрокаТекста) тогда УстановитьПоказатель(СтрокаТЗ, СтрокаТекста); иначеесли ЭтоКонецДокумента(СтрокаТекста) тогда //ничего не делаем КонецЕсли; КонецЦикла; |
|||
7
zak555
20.12.15
✎
10:49
|
зачем это делать, если есть готовое ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |