Modber Сообщество
профессионалов по 1С

  
Сообщений: 41

+2
Нужно заполнить данными табличную часть в документе "Заказ покупателя"- Товары по кнопке из Excell данных. Выполнять по полю "Артикул", а синхронизация поиска по справочнику "Номеклатура"
Сообщений: 50

+1
Рекомендую посетить Инфостар. Именно там видел уже готовое решение, но нужно будет слегка подкорректировать.
Сообщений: 10

0
ИМХО зависит от конфигурации. В УТ11 есть мастер (по крайней мере для цен номенклатуры точно работает), там можно просто из Excel'я скопировать столбцы и все.
Сообщений: 34

+3
Для импорта данных из Excel используем следующую функцию: //Номер листа в книге Excel для получения данных НомерЛиста = 1; //Пытаемся подключиться к Excel Попытка Excel = новый COMОбъект("Excel.Application"); Исключение Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel."); Возврат; КонецПопытки; //Подключились удачно, открываем файл Excel.Workbooks.Open(ИмяФайла); //Открываем необходимый лист Excel.Sheets(НомерЛиста).select(); //Получим количество строк и колонок. //В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1); Если Версия = "8" тогда ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count; ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13); Иначе ФайлСтрок = Excel.Cells(1,1).SpecialCells(11).Row; ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column; Конецесли; //Для установки цен необходимо создать документ "Установка цен номенклатуры" //Заполним шапку документа, в т.ч. заполним тип цены и валюту ТипЦеныРозничный = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"); НоваяСтрока = ДокументУстановкиЦенГривна.ТипыЦен.Добавить(); НоваяСтрока.ТипЦен = ТипЦеныРозничный; ДокументУстановкиЦенГривна.Дата = ТекущаяДата(); ВалютаГривна = Справочники.Валюты.НайтиПоКоду("980"); //определим по файлу в каких колонках необходимые данные НомерКолонкиКодаТовара = 1; НомерКолонкиНаименованияТовара = 2; НомерКолонкиЦеныТовара = 3; // Выбираем данные из файла Для а = НомерСтрокиТЧ по ФайлСтрок Цикл //Полуим данные из соответсвующих ячеек КодТовара = СокрЛП(Excel.Cells(а,НомерКолонкиКодаТовара).Value); НаименованиеТовара = СокрЛП(Excel.Cells(а,НомерКолонкиНаименованияТовара).Value); Цена = Число(Excel.Cells(а,НомерКолонкиЦеныТовара).Value); Товар = Справочники.Номенклатура.ПустаяСсылка(); // Ищем товар в справочнике по коду Товар = Справочники.Номенклатура.НайтиПоКоду(КодТовара); // Если не нашли по коду, то ищем по наименованию Если Товар.Пустая() Тогда Товар = Справочники.Номенклатура.НайтиПоНаименованию(тНаименование, Истина); Конецесли; //Если не нашли создаем новый Если Товар.Пустая() Тогда Товар = Справочники.Номенклатура.СоздатьЭлемент(); Товар.Код = КодТовара; Товар.Наименование = НаименованиеТовара; Товар.НаименованиеПолное = НаименованиеТовара; Товар.Записать(); Конецесли; //Запишем товар и цену в документ установки цен НоваяСтрока = ДокументУстановкиЦенГривна.Товары.Добавить(); НоваяСтрока.Валюта = ВалютаГривна; НоваяСтрока.Цена = Цена; НоваяСтрока.Номенклатура = Товар.Ссылка; НоваяСтрока.ТипЦен = ТипЦеныРозничный; Конеццикла; //Если в документе есть товары записываем и проводим Если Не(ДокументУстановкиЦенГривна.Товары.Количество() = 0) Тогда ДокументУстановкиЦенГривна.Записать(РежимЗаписиДокумента.Запись); ДокументУстановкиЦенГривна.Записать(РежимЗаписиДокумента.Проведение); Конецесли; //Закрываем Excel Excel.ActiveWorkbook.Close();
В начало страницы 
|
Перейти на форум: