Имя: Пароль:
1C
1С v8
Получение количество строк
0 Валидатор
 
26.12.12
18:52
Взял из 7ки код
Процедура TXT(НаименованиеНовогоФайла)
   
   Разделитель=СимволТабуляции;
   
   ТекстЗагружаемыеДанные = СоздатьОбъект("Текст");  
   ТЗ  =СоздатьОбъект("ТаблицаЗначений");  
   ТЗ.НоваяКолонка("НеГоднаяСтрока");
   
   Попытка
       //ТекстЗагружаемыеДанные.Открыть(ВЫБФАЙЛ);
       ТекстЗагружаемыеДанные.Открыть(НаименованиеНовогоФайла);
   Исключение
       Предупреждение("Не могу открыть файл!
       |Возможно он заблокирован
       |другой программой.");
       Возврат;
   КонецПопытки;
   
   Для Стр=1 по ТекстЗагружаемыеДанные.КоличествоСтрок() Цикл
       Если Стр<НАЧСТРОКА Тогда
           Продолжить;
       КонецЕсли;    
       
       СЗ=глРазложить(ТекстЗагружаемыеДанные.ПолучитьСтроку(Стр),Разделитель);
       
       Если Стр=НАЧСТРОКА Тогда//делаем колонки
           Для кол=1 по СЗ.РазмерСписка() Цикл
               Колонка=Симв(64+кол);//АВС
               //Сообщить(Колонка+" "+Стр);
               ТЗ.НоваяКолонка(Колонка);
           КонецЦикла;
       КонецЕсли;
       
       ТЗ.НоваяСтрока();
       Для кол=1 по СЗ.РазмерСписка() Цикл  
           Если ТЗ.КоличествоКолонок()-1<кол Тогда//-1 это ТЗ.НоваяКолонка("НеГоднаяСтрока");
               ТЗ.НоваяКолонка(Симв(64+ТЗ.КоличествоКолонок()));
           КонецЕсли;    
           Значение=СокрЛП(СЗ.ПолучитьЗначение(кол,));
           ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,Симв(64+кол),Значение);
       КонецЦикла;
   КонецЦикла;        
пытаюсь переделаеть его в 8ку, что то плохо получается, особенно меня интересует, как в 8ке выбрать количество строк в загружаемом документе?
1 Валидатор
 
26.12.12
18:52
тобеш у меня получается документ:
Док = Получить ComОбъект(ссылканаЗагружаемыйФайл);
и потом как узнать количество строк в этом Док?
2 Kashemir
 
26.12.12
18:57
(1) В восьмерке у документа может быть произвольное число табличных частей
3 Валидатор
 
26.12.12
18:58
(2) не осилил? я знаю что у 8ки может быть произвольное количество таб частей, просто я не понимаю, как мне выгружать данные из CSV файла с пробелом в виде табуляции(символы.Таб), затем представлять пользователю выбор колонок, по которым он считывает данные
4 Kashemir
 
26.12.12
19:01
(3) Для начала попробуй цсв вычитать в более удобный объект типа таблица значений. Потом уже будет предоставлять выбор пользователю по заполнению чего-либо на базе тз
5 Kashemir
 
26.12.12
19:07
Если тебе не понятно как цсв файлы в восьмерке обрабатывать - так гугл все знает https://www.google.com.ua/#hl=ru&q=csv+1C&oq=csv+1C
6 Melxior
 
26.12.12
19:15
ФайлАН = Новый ТекстовыйДокумент;
   ФайлАН.Прочитать(Каталог +"\"+ Файл);
   
   
   
   ТаблПТ = Новый ТаблицаЗначений;
   
   ТаблПТ.Колонки.Добавить("КоличествоТовара", Новый ОписаниеТипов(МЧисло,,Новый КвалификаторыЧисла(15,0)));

   Для н = 1 По ФайлАН.КоличествоСтрок() Цикл
       СтрДн = ФайлАН.ПолучитьСтроку(н);
       МасивДн = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрДн, ";");
       
       
       НовСтрКН = ТаблПТ.Добавить();
       НовСтрКН.КоличествоТовара = Число(МасивДн[0]);
   КонецЦикла;
7 Lama12
 
26.12.12
19:43
На итс есть готовая обработка по загрузке данных.