Имя: Пароль:
1C
1С v8
v8: Записать в txt файл
0 selvador
 
26.02.13
14:42
Процедура ОсновныеДействияФормыВывестиВТекстовыйФайл(Кнопка)
   Режим = РежимДиалогаВыбораФайла.Сохранение;
   ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
   ДиалогОткрытияФайла.ПолноеИмяФайла = "";
   Текст = "ru = ""Текст""";
   Фильтр = НСтр(Текст)+"(*.txt)|*.txt";
   ДиалогОткрытияФайла.Фильтр = Фильтр;
   ДиалогОткрытияФайла.МножественныйВыбор = Истина;
   ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
   Если ДиалогОткрытияФайла.Выбрать() Тогда
       МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;
       Для Каждого ИмяФайла Из МассивФайлов Цикл
           ВыбФайл = Новый Файл(ИмяФайла);
           Текст = "ru = ""; Размер = """;
       КонецЦикла;
   Иначе
       Текст = "ru = ""Файл(ы) не выбран!""";
       Предупреждение(НСтр(Текст));
   КонецЕсли;
   
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    ЗарплатаКВыплатеОрганизацийЗарплата.НомерСтроки,
   |    ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо,
   |    ЗарплатаКВыплатеОрганизацийЗарплата.Сумма
   |ИЗ
   |    Документ.ЗарплатаКВыплатеОрганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизацийЗарплата
   |ГДЕ
   |    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Дата МЕЖДУ &НачалоДата И &КонецДата";
   Запрос.УстановитьПараметр("НачалоДата", НачалоМесяца(Дата));
   Запрос.УстановитьПараметр("КонецДата", КонецМесяца(Дата));
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   Текст = Новый ЗаписьТекста("C:\vigruz.txt" , КодировкаТекста.ANSI);
   Пока Выборка.Следующий() Цикл
       Текст.ЗаписатьСтроку(Строка(Число(Выборка.Физлицо.код)) + "  " + Строка(Выборка.Сумма), Символы.ПС);    
   КонецЦикла;
   Текст.Закрыть();
КонецПроцедуры

Сейчас происходит запись в "C:\vigruz.txt" файл, если место vigruz.txt вставить ДиалогОткрытияФайла.ПолноеИмяФайла то выходит ошибка, мол параметр 1 не верный.
Как сделать запись в любой созданный txt файл , а не жестко установленный?
1 Fragster
 
гуру
26.02.13
14:44
это потому что множественный выбор
2 LAAry
 
26.02.13
14:47
Диалога к моменту записи уже нет.
Текст = Новый ЗаписьТекста(ВыбФайл.ПолноеИмяФайла  , КодировкаТекста.ANSI);
3 selvador
 
26.02.13
14:52
Спасибо!