Имя: Пароль:
1C
 
Есть ли ограничения на количество строк в текстовом файле
0 vtolga
 
25.08.09
13:27
при работе с объектом "Текст"?
файл не особо большой (ок. 4000 строк ), а 1с видит только 3153 строки. Это люк или ограничение? и как с этим бороться?
1 vtolga
 
25.08.09
13:28
"люк="Глюк" :)
2 rs_trade
 
25.08.09
13:29
(0) Нет таких ограничений. 4000 маленький файл. Код покажи
3 Valery
 
25.08.09
13:30
Строки все должны быть.  И почему решила, что не видит. 3153 это тоже ок 4000.
4 vtolga
 
25.08.09
13:34
Если Текстдок7.КоличествоСтрок()=0 Тогда
       Предупреждение("Файл пуст");
       возврат;
   КонецЕсли;  
   // предварительная обработка
   табвесы.УдалитьСтроки();
   ном7=0;  
Пока ном7<= ТекстДок7.КоличествоСтрок() цикл
   Табвесы.НоваяСтрока();
       табвесы.Номер=текстДок7.ПолучитьСтроку(Ном7+1);;
   табвесы.Товар="";
   табвесы.Вар="";
   табвесы.Наим1=СтрЗаменить(текстДок7.ПолучитьСтроку(ном7+2),"LOG2","");
   табвесы.Наим2=текстДок7.ПолучитьСтроку(ном7+3);
   табвесы.Цена=текстДок7.ПолучитьСтроку(ном7+4);
   табвесы.СрокГодности=текстДок7.ПолучитьСтроку(ном7+5);
   табвесы.Тара=текстДок7.ПолучитьСтроку(ном7+6);
   табвесы.кодТовара=текстДок7.ПолучитьСтроку(ном7+7);
   табвесы.кодГрупповой=текстДок7.ПолучитьСтроку(ном7+8);
   табвесы.Сообщение=текстДок7.ПолучитьСтроку(ном7+9);
   номСообщ=Сокрлп(табвесы.Сообщение);
   табвесы.ТекстСообщения=текстДок8.ПолучитьСтроку(число(номСообщ)+1);
   
   ном7=Ном7+9;  
   Сообщить(табвесы.Наим1);
   Сообщить(ном7);
конеццикла;
сообщить("*********");
Сообщить(ТекстДок7.КоличествоСтрок());    // тут пишет 3153
ТекстДок7.Показать();    //тут показывает кусок файла
5 rs_trade
 
25.08.09
13:38
(4) Жесть какая...Че то я не понял, каждый реквизит в новой строке что ли?
6 vtolga
 
25.08.09
13:40
Да,это файл настройки весов. Мне его надо разобрать и сделать удобную обработку, чтобы весы сами могли подстроить, а то достали уже :)
7 Токс3
 
25.08.09
13:40
Ты одно и тоже по несска раз тянешь..
8 CODER082
 
25.08.09
13:40
а Сообщить("" + ТекстДок7.КоличествоСтрок()), чо пишет ?
9 Токс3
 
25.08.09
13:41
+(7) Ан нет, пардон..
10 vtolga
 
25.08.09
13:42
(8) пишет 3153, хотя их больше,блокнотом видно
11 smaharbA
 
25.08.09
13:42
нули ?
12 vtolga
 
25.08.09
13:43
что "нули"?
13 CODER082
 
25.08.09
13:43
Сделай так <Для ном7 = 1 По ТекстДок7.КоличествоСтрок() Цикл>
14 CODER082
 
25.08.09
13:43
(10) "ном7=Ном7+9;" - это зачем ?
15 vtolga
 
25.08.09
13:44
(14)там на каждый товар по 9 строк
16 smaharbA
 
25.08.09
13:45
(12) нули
17 CODER082
 
25.08.09
13:45
а блокнот ровно 4000 строк показывает ?
18 CODER082
 
25.08.09
13:47
Каким текстовым редактором пользуешся ?
19 Valery
 
25.08.09
13:48
Вот здесь ошибка
табвесы.Сообщение=текстДок7.ПолучитьСтроку(ном7+9);
ном7=Ном7+9;
Т.е. строку прочитала и присваиваешь ее значение для следующего цикла. надо не 9 а 10 присваивать.
20 vtolga
 
25.08.09
13:48
блокно 3800 с копейками показывает, да и так видно, товары не все попадают
21 vtolga
 
25.08.09
13:51
(19), нет, там все нормально,клинит только на 351 товаре, берет только наименование, а остальное-нет.Причем насчет "нулей"-351 товар от 350 ничем не отличается.
22 Valery
 
25.08.09
13:55
(21) Да вроде так.
А на 351 может все параметры в строку записаны, а не в строки.
23 vtolga
 
25.08.09
13:56
нет, там так

350
LOG2Деликатес Славянский
(в чесноке)(охлажден.
0
15
5
723350
460709
350
351
LOG2Деликатес Славянский
(вязаный)(охлажден.)
0
15
5
723351
460709
351
24 smaharbA
 
25.08.09
13:56
нули ищи
25 vtolga
 
25.08.09
14:01
оп-па... сюда кусок вставила и видно, что наименования отличаются-может,
возврат каретки лишний или еще какой-нибудь не особо видимый символ.
Короче, в 351 товаре стороку наименования перебила и все пошло как надо.
Всем Спасибо за помощь! Вопрос снят.
26 SaM58
 
25.08.09
14:02
эх... даже фотку спросить не успели.......
27 smaharbA
 
25.08.09
14:04
(25) нули были