Имя: Пароль:
1C
1С v8
Импорт данных с TXT файла в 1С с множественными разделителями
0 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


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

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