Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Импорт данных с TXT файла в 1С с множественными разделителями

Импорт данных с TXT файла в 1С с множественными разделителями
Я
   jojojoba2
 
05.03.20 - 10:48
Добрый день!

Поставили задачу сделать импорт TXT файла по мобильной связи в 1С.Я начинающий программист,поетому не судите строго).
1).Суть в том что в файле не нужно перебирать все строки.
2).В нем нужно использовать несколько разделителей.

3).Данные находятся в текстовых блоках
Попробовал создать процедуру,но она перебирает все строки и по 10 раз заполняет номера
Процедура ОсновныеДействияФормыЗаполнить(Кнопка)
    
    Перем Стр;
          Стр = "";
          Режим = РежимДиалогаВыбораФайла.Открытие;
          ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
          ДиалогОткрытияФайла.ПолноеИмяФайла = "";
          Текст = "ru = "" Текст""; en = ""Text""";
          Фильтр = Нстр(Текст)+"(*.txt)|*.txt";
          ДиалогОткрытияФайла.Фильтр = Фильтр;
          ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
          
          Если ДиалогОткрытияФайла.Выбрать() Тогда
              ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;

          Сообщить (ИмяФайла);
      Иначе
          Текст = "ru= ""Файл не выбран!""; en=""File not selected""";
          Предупреждение(НСтр(Текст));      
      КонецЕсли;
      Текст = Новый ТекстовыйДокумент();
      
    Текст.Прочитать(ИмяФайла);
          Для а = 1 по Текст.КоличествоСтрок() Цикл
                  Стр = Текст.ПолучитьСтроку(а) ;
          Тел=Прав(СокрЛП(Сред(Стр,Найти(Стр,"Контракт №")+4)),7);
          Стр = Текст.ПолучитьСтроку(а) ;
          СтрТаб = ЭтотОбъект.Номера.Добавить();
          СтрТаб.НомерТелефона = Тел;           
           КонецЦикла;  
КонецПроцедуры


С первого рисунка данные нужно вставить в сам документ,а со второго в табличную часть этого же документа

Пожалуйста,помогите разобраться. Если можно скиньте пример даной релизации.

Контракт № 3954343434  Номер телефону: 380502423420    
Тарифний Пакет: RED Business S
ВАРТІСТЬ ПАКЕТА/ЩОМІСЯЧНА ПЛАТА:  . . . . . . . . . . . . . . . . . . . .     0.0000   78.4314   78.4314
КОНТЕНТ-ПОСЛУГИ:  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    13.3333
НАДАНІ КОНТЕНТ-ПОСЛУГИ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    13.3333
Голосові довідкові, розважальні та інші сервіси за спец. цінами . . . . . . . . . . . . . . .    13.3333
ЗНИЖКИ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    -7.8431
Знижка на суму особового рахунку . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .    -7.8431
ЗАГАЛОМ ЗА КОНТРАКТОМ (БЕЗ ПДВ ТА ПФ):  . . . . . . . . . . . . . . . . . . . . . . . . . . .    83.9216




Контракт № 3954006243433  Номер телефону: 380504466577    
Тарифний Пакет: RED Business ULTRA L
ВАРТІСТЬ ПАКЕТА/ЩОМІСЯЧНА ПЛАТА:  . . . . . . . . . . . . . . . . . . . .     0.0000  352.9412  352.9412
ЗНИЖКИ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   -35.2941
Знижка на суму особового рахунку . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .   -35.2941
ЗАГАЛОМ ЗА КОНТРАКТОМ (БЕЗ ПДВ ТА ПФ):  . . . . . . . . . . . . . . . . . . . . . . . . . . .   317.6471




Контракт № 395381614342  Номер телефону: 380503459087    
Тарифний Пакет: RED Business S
ВАРТІСТЬ ПАКЕТА/ЩОМІСЯЧНА ПЛАТА:  . . . . . . . . . . . . . . . . . . . .     0.0000   78.4314   78.4314
КОНТЕНТ-ПОСЛУГИ:  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     1.5686
НАДАНІ КОНТЕНТ-ПОСЛУГИ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     1.5686
SMS\USSD\MMS\довідкові\розважальні\контент та інші сервіси за спец. цінами. . . . . . . . . .     1.5686
ЗНИЖКИ: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    -7.8431
Знижка на суму особового рахунку . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .    -7.8431
ЗАГАЛОМ ЗА КОНТРАКТОМ (БЕЗ ПДВ ТА ПФ):  . . . . . . . . . . . . . . . . . . . . . . . . . . .    72.1569


Спасибо.
 
 
   Garykom
 
1 - 05.03.20 - 10:54
(0) Сколько платишь?
   Кирпич
 
2 - 05.03.20 - 10:54
узнай, что такое отладчик и как им пользоваться в 1с
   Кодер
 
3 - 05.03.20 - 11:20
Спроси нормальный формат файла.

Привыкай - часто задачи бывают сформулированы неправильно. Но, построив связи нужного процесса в голове, можно понять, кто что делает не так, и иногда удаётся скорректировать его.
   jojojoba2
 
4 - 05.03.20 - 11:27
Можно какой то пример?
   arsik
 
5 - 05.03.20 - 12:00
Что за рисунок?
   arsik
 
6 - 05.03.20 - 12:06
Как то так
мБлоков = СтрРазделить(текстТекстовогоФайла,"Контракт №",Ложь);
Для Каждого Блок из мБлоков Цикл
    мДанных = СтрРазделить(Блок,"Номер телефону:",Ложь);
    Сообщить("Контракт: "+сокрЛП(мДанных[0]));
    Сообщить("Телефон: "+СокрЛП(СтрПолучитьСтроку(мДанных[1],1)));
КонецЦикла;

   jojojoba2
 
7 - 05.03.20 - 18:00
Спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.