Имя: Пароль:
1C
1С v8
Загрузка из текстового документа
,
0 BarakuzA
 
27.09.11
16:28
ДОбрый день,
Небольшая обработка для загрузки из текстового файла в справочник.
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать("C://2.txt");
Для НомерСтроки = 3 По СтрЧислоСтрок(НаборСтрок) Цикл
НаборСтрок = СтрЗаменить(СтрокаФайла, Символы.Таб, Символы.ПС);
СтрокаПараметра = СтрПолучитьСтроку(НаборСтрок, НомерСтроки);
Спр=Справочники.ДисконтныеКарты.СоздатьЭлемент();
Спр.Код          =НаборСтрок[0];
Спр.Наименование =НаборСтрок[1];
Спр.Записать();
КонецЦикла;
1 MRAK
 
27.09.11
16:29
(0) Поздравляю!
2 BarakuzA
 
27.09.11
16:31
не до конца дописал. одним словом - не работает, помогите.
3 BarakuzA
 
27.09.11
17:00
может у кого то есть пример обработки как загружать из текстовых файлов???
4 ptiz
 
27.09.11
17:05
Для НомерСтроки = 3 По Текст.КоличествоСтрок() Цикл
СтрокаФайла = Текст.ПолучитьСтроку(НомерСтроки);
5 Wobland
 
27.09.11
17:10
(0) НаборСтрок в Для откуда взялся?
6 Wobland
 
27.09.11
17:11
Для й=1 по Текст.КоличествоСтрок() Цикл
стр=Текст.ПолучитьСтроку(й);
...

и имя файла нормальное сделай
7 BarakuzA
 
27.09.11
17:12
строка содрежит несколько (5реквизитов) реквизитов для справочника, как их разделить???
8 Wobland
 
27.09.11
17:13
СтрЗаменить()+ПолучитьСтроку() //вроде
РазложитьСтрокуВМассивПодстрок() // или как-то так
9 palpetrovich
 
27.09.11
17:18
(8) +1 если типовая конфа конечно
10 BarakuzA
 
27.09.11
17:18
В Синтаксис-Помощнике РазложитьСтрокуВМассивПодстрок() не нахожу описания
11 Wobland
 
27.09.11
17:18
(10) и не найдёшь. она обычно во всех типовых бывает в ОбщегоНазначения
12 BarakuzA
 
27.09.11
17:20
Нашел вот такой вариант.
Для НомерСтроки = 3 По Текст.КоличествоСтрок() Цикл
       Строка = Текст.ПолучитьСтроку(НомерСтроки);
       Реквизиты = СтрЗаменить(Строка,",",Символы.ПС);
       Массив = Новый Массив();
       Для Индекс = 1 По СтрЧислоСтрок(Реквизиты) Цикл
           Массив.Добавить(СтрПолучитьСтроку(Реквизиты,Индекс));
       КонецЦикла;
       Спр=Справочники.ДисконтныеКарты.СоздатьЭлемент();
       Спр.Код          =Массив[0];
       Спр.Наименование =Массив[1];
       Спр.Записать();
13 palpetrovich
 
27.09.11
17:21
из типовой:
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
   
   МассивСтрок = Новый Массив();
   Если Разделитель = " " Тогда
       Стр = СокрЛП(Стр);
       Пока Истина Цикл
           Поз = Найти(Стр,Разделитель);
           Если Поз=0 Тогда
               МассивСтрок.Добавить(Стр);
               Возврат МассивСтрок;
           КонецЕсли;
           МассивСтрок.Добавить(Лев(Стр,Поз-1));
           Стр = СокрЛ(Сред(Стр,Поз));
       КонецЦикла;
   Иначе
       ДлинаРазделителя = СтрДлина(Разделитель);
       Пока Истина Цикл
           Поз = Найти(Стр,Разделитель);
           Если Поз=0 Тогда
               МассивСтрок.Добавить(Стр);
               Возврат МассивСтрок;
           КонецЕсли;
           МассивСтрок.Добавить(Лев(Стр,Поз-1));
           Стр = Сред(Стр,Поз+ДлинаРазделителя);
       КонецЦикла;
   КонецЕсли;
   
КонецФункции // глРазложить
14 BarakuzA
 
27.09.11
17:21
спасибо. нашел в общих.
Независимо от того, куда вы едете — это в гору и против ветра!