Нужна помощь

  • Автор темы Vilgelm
  • Дата начала
V

Vilgelm

#1
Собственно я пока тока изучаю 1с... мне надо написать обработку на 1с которая: Берет Тхт файл и загружает его в справочник (Например:контрагенты)
обработка для Бух 7.7... Если можно с пояснениями... чтоб я понял откуда там чего....
 

vbs

Well-known member
18.02.2007
1 708
1
#2
Вот тебе первый толчок :
Строка текстового файла может выглядеть, например, так :
Название контрагента/Адрес/Телефон/...
Берешь первую строку, ищешь в справочнике "Контрагенты" название (НайтиПоНаименованию), если не нашел - создаешь новый элемент справочника и заполняешь его реквизиты.
Потом аналогично обрабатываешь следующую строку и т.д.
А значит, появляется повод почитать ЖКК.
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#3
мне надо написать обработку на 1с
Если надо - пиши, нет ничего сложного да и тут на форуме уже обсуждалась работа с файлами причем с примерами. а вот когда появится реальная проблема (делаю то-то то-то и у меня не получается такая штучка...) - тогда пиши и попробуем помочь...
 

Allexei

Well-known member
02.05.2008
322
1
#5
Посмотри, может поможет:
Код:
Функция ВозвратЗначения(стрЗначений)
//К примеру имеет формат Код/Наименование/Адрес/..../Телефон	 
//Возвратит список значений в соответствии с которым будет заполнен справочник
спс= СоздатьОбъект("СписокЗначений");
Пока Найти(стрЗначений,"/")<>0 Цикл  
спс.ДобавитьЗначение(Сред(стрЗначений,1, Найти(стрЗначений,"/")-1));	
стрЗначений= Прав(стрЗначений,СтрДлина(стрЗначений)-Найти(стрЗначений,"/"));
КонецЦикла;
Возврат спс;  
КонецФункции

Процедура Сформировать() 
Текст= СоздатьОбъект("Текст");
спрКонт= СоздатьОбъект("Справочник.Контрагенты");
Текст.Открыть("C:\Kontr.txt");  

Для Й= 1 По Текст.КоличествоСтрок() Цикл 
спс= ВозвратЗначения(Текст.ПолучитьСтроку(Й)); 
Если спрКонт.НайтиПоКоду(спс.ПолучитьЗначение(1))<>0 Тогда
Продолжить;	
КонецЕсли;

спрКонт.Новый();
спрКонт.Код		 = спс.ПолучитьЗначение(1);
спрКонт.Наименование = спс.ПолучитьЗначение(2);
спрКонт.Адрес		= спс.ПолучитьЗначение(3);
//.....................
спрКонт.Телефон	 = спс.ПолучитьЗначение(10);
спрКонт.Записать();
КонецЦикла;
КонецПроцедуры