Форум: "Основная";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизИмпорт справочника товара в 1с Найти похожие ветки
← →
V-A-V © (2006-01-14 12:18) [0]Народ подскажите, если кто знает или когда либо сталкивался,
как можно импортировать справочник товаро в 1с торговле.
У меня есть прога собственной разработки, так вот из нее я могу в любом формате выгрузить справочник товаров, а вот как его закачать в 1с я не знаю...
Очень надо!!!!!
← →
tesseract © (2006-01-14 12:36) [1]а в чём проблема если уж в любои формате то в CommerceML и XML 1С. Поддерживает.
А если через текст то см работу с v7plus.
Типа
Процедура поКнопкеИмпорт()
перем ТекЭлемент;
перем цРозница,цВвод;
перем НовыйСпр;
перем ПослЭл;
// Выбор цен
ПолучитьРодителя();
НовыйСпр=СоздатьОбъект("Справочник.Номенклатура");
цРозница=СоздатьОбъект("Справочник.цены");
цВвод=СоздатьОбъект("Справочник.цены");
ТекЭлемент=СоздатьОбъект("Справочник.Номенклатура");
// Создаём еденицы номенклатуры
ЕдНоменклатуры=СоздатьОбъект("Справочник.Единицы");
Прайс.ВыбратьСтроки();
// Апдейт цен
Пока Прайс.ПолучитьСтроку()=1 Цикл
НачатьТранзакцию();
Попытка
Если ПустоеЗначение(Прайс.Есть)=0 Тогда
// Если обновляем номенклатуру
//ТекЭлемент=Прайс.Есть.ТекущийЭлемент();
ТекЭлемент.НайтиПоКоду(Прайс.есть.код);
Состояние("Обработка старого элемента "+ Прайс.есть.наименование);
ПослЭл=Прайс.есть.наименование;
// преобразоывываем прайс
// Контроль за единицей
Если ПустоеЗначение(ТекЭлемент.БазоваяЕдиница)=1 Тогда
СоздатьЕдиницу(ТекЭлемент,Единица);
КонецЕсли;
Если НайтиЦену(ТекЭлемент,тцВвод,валВвод,прайс.ЦенаЗак)=0 тогда
СоздатьЦену(ТекЭлемент,тцВвод,валВвод,Прайс.ЦенаЗак);
КонецЕсли; // Найти цены
Если НайтиЦену(ТекЭлемент,тцРозница,валРозница,прайс.ЦенаРозн)=0 Тогда
СоздатьЦену(ТекЭлемент,тцРозница,валРозница,Прайс.ЦенаРозн);
КонецЕсли; // ПустоеЗначение(цРозница)
// Проверка базовой единицы
Если ТекЭлемент.выбран()=1 Тогда
ТекЭлемент.УстановитьАтрибут("Комментарий","Изменён автообработкой от: "+Строка(ТекущаяДата()));
ТекЭлемент.записать();
Иначе
Сообщить (ТекЭлемент.Наименование + " не выбран");
КонецЕсли;
Иначе // Если Прайс.ПустоеЗначение(Прайс.Есть)
Состояние("Создание нового элемента "+ Прайс.Тип);
ПослЭл=Прайс.Тип;
НовыйСпр.новый();
НовыйСпр.Родитель=ГруппаНовые;
НовыйСпр.Наименование=Прайс.Тип;
НовыйСпр.Артикул=Прайс.Артикул;
НовыйСпр.Весовой=0;
НовыйСпр.Комментарий="Создан обработкой от "+Строка(ТекущаяДата());
НовыйСпр.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Прочее;
НовыйСпр.СтавкаНДС = глЗначениеПоУмолчанию("ОсновнаяСтавкаНДС");
НовыйСпр.СтавкаНП = глЗначениеПоУмолчанию("ОсновнаяСтавкаНП");
НовыйСпр.Записать();
НовыйСпр.БазоваяЕдиница = СоздатьЕдиницу(НовыйСпр,Единица);
// ставим цены exw
СоздатьЦену(НовыйСпр,тцВвод,валВвод,Прайс.ЦенаЗак);
СоздатьЦену(НовыйСпр,тцРозница,валРозница,Прайс.ЦенаРозн);
НовыйСпр.Записать();
КонецЕсли; // Если Прайс.ПустоеЗначение(Прайс.Есть)
Исключение
ОтменитьТранзакцию();
Сообщить("Ошибка на "+ПослЭл);
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
ЗафиксироватьТранзакцию();
КонецЦикла; // Прайс.ПолучитьСтроку
//КонецЕсли;
//КонецЦикла;
КонецПроцедуры
← →
tesseract © (2006-01-14 12:40) [2]Вообще проще по мылу скинуть.
← →
V-A-V © (2006-01-14 12:51) [3]Можно и по мылу: vdovin-av@yandex.ru
Я правда с 1с на "ВЫ". Могу установить, запустить и т.п.
> tesseract
а у тебя аськи нет, а то можно было обговорить этот вопрос...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c