Имя: Пароль:
1C
1C 7.7
v7: Выборка из TXT
,
0 NSIS
 
19.06.12
09:41
Нужна выбрать из ТхТ данные и записать в ДБФ.(что-то неидет выборка)
ТХТ структура

Кол

Файл ТХТ
2.2.3  90000

2.2.3  99300

2.2.3  90000






    ИмяФайла="";
   КаталогФайла=КаталогИБ()+"D:\4\";
   Т=СоздатьОбъект("Текст");
   Т.КодоваяСтраница(0);
   ФС.ВыбратьФайл(0,ИмяФайла,КаталогФайла,"Выберите пачку","Все файлы (*.*)|*.*",,);

   Попытка
       Т.Открыть(КаталогФайла+ИмяФайла);      
       Сообщить("Файл открыт");
   Исключение  
       Сообщить("Файл не открыт!");
   КонецПопытки;
      Если Т.КоличествоСтрок() = 0 Тогда
     Предупреждение("Текст пустой!");
     Возврат;
  КонецЕсли;
      Для Z=1 По Т.КоличествоСтрок() Цикл

     Стр  = Т.ПолучитьСтроку(Z);
          Инд = Найти(Стр, "2.2.3");
   
      КонецЦикла;
                    ДБФ=СоздатьОбъект("XBase");
   

     ДБФ.ОткрытьФайл("d:\1\r.dbf");
     Если ДБФ.Открыта()=1 тогда
     Предупреждение ("Открыты");

   

  ДБФ.Добавить();
ДБФ.Suma_=Инд;
   ДБФ.Записать();
   КонецЕсли;
1 zak555
 
19.06.12
09:42
jest
2 1Сергей
 
19.06.12
09:43
Инд = Найти(Стр, "2.2.3");

ДБФ.Suma_=Инд;

в курсе что всегда ноль будет?
3 1Сергей
 
19.06.12
09:44
+ точнее, единица
4 dk
 
19.06.12
09:44
(0) про отладчик слышал?
5 NSIS
 
19.06.12
09:44
а как исправить чтоб была сумма
6 NSIS
 
19.06.12
09:45
1Сергей        а как исправить чтоб была сумма
7 1Сергей
 
19.06.12
09:46
(6) всё переписать по-нормальному. и добавление записей в ДБФ вставить внутрь цикла
8 Simod
 
19.06.12
10:00
Оригинальный код. Т.е. после выполнения исключения выводится сообщение о невозможности открыть файл и следом читается количество строк. Автор вообще понимает, что он пишет?
9 155153144627
 
19.06.12
10:11
ИмяФайла="";
   КаталогФайла=КаталогИБ()+"D:\4\";
   Т=СоздатьОбъект("Текст");
   Т.КодоваяСтраница(0);
   ФС.ВыбратьФайл(0,ИмяФайла,КаталогФайла,"Выберите пачку","Все файлы (*.*)|*.*",,);

   Попытка
       Т.Открыть(КаталогФайла+ИмяФайла);      
       Сообщить("Файл открыт");
   Исключение  
       Сообщить("Файл не открыт!");
   КонецПопытки;
      Если Т.КоличествоСтрок() = 0 Тогда
     Предупреждение("Текст пустой!");
     Возврат;
  КонецЕсли;
 ДБФ=СоздатьОбъект("XBase");
 ДБФ.ОткрытьФайл("d:\1\r.dbf");
 Если ДБФ.Открыта()=1 тогда
     Предупреждение ("Открыты");
 КонецЕсли;
      Для Z=1 По Т.КоличествоСтрок() Цикл
          Стр  = Т.ПолучитьСтроку(Z);
          Если Найти(Стр, "2.2.3") <>0 Тогда
              СуммаСтр = СокрЛП (Сред(Стр,6));
              ДБФ.Добавить();
              ДБФ.Suma_ = Число(СуммаСтр);
             ДБФ.Записать();
          КонецЕсли;
      КонецЦикла;
 ДБФ.Закрыть();
10 1Сергей
 
19.06.12
10:18
(9) Толя, у тебя значка ГТО на груди случайно нет? пришёл, прожевал и в рот положил :)
11 Мимохожий Однако
 
19.06.12
10:22
СуммаСтр = СокрЛП (Сред(Стр,6)); не дожевал )))
12 antoneus
 
19.06.12
10:45
СуммаСтр=СокрЛП(СтрЗаменить(Стр, "2.2.3", ""))
13 155153144627
 
19.06.12
10:46
(10) Нету... :-)
(11) В каком месте?
14 155153144627
 
19.06.12
10:48
(11) А, ну да... СуммаСтр = СокрЛП (Сред(Стр, Найти(Стр, "2.2.3") + 1));
15 155153144627
 
19.06.12
10:52
СуммаСтр = СокрЛП (Сред(Стр, Найти(Стр, "2.2.3") + 6)); :-)
16 Venom
 
19.06.12
11:01
Прогресс, вчера было без кода
КАк перенести даные из txt в ДБФ обработкой
17 1Сергей
 
19.06.12
11:22
(11) (12) (14) (15) к числу преобразовывать кто будет?
18 antoneus
 
19.06.12
11:27
(17) ТС. Пусть хоть что-то сделает.
19 Мимохожий Однако
 
19.06.12
12:21
(13) у метода Сред 3 параметра
20 1Сергей
 
19.06.12
12:22
(19) третий - не обязательный
21 155153144627
 
19.06.12
12:59
(19) Подарю СП :-)
22 155153144627
 
19.06.12
12:59
(17) в (9) преобразование есть.