|
Связь данных из Excel с данными 1с | ☑ | ||
---|---|---|---|---|
0
pandemion3
03.09.23
✎
10:52
|
Всем привет, столкнулся с такой незадачей:
Не могу связать данные "Номенклатуры" из файла Excel с номенклатурой 1С. Есть файл, который я загружаю в 1С. Он загружается, но в табличной части документа поле "Номенклатура" остается пустое Наименование номенклатуры как в файле, так и в справочнике "Номенклатура" совпадает Программа полностью самописная (Для курсового проекта) Буду очень благодарен, если натолкнете на правильную мысль. Ниже представляю код загрузки &НаСервере Процедура ЗагрузитьНаСервере() ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(Объект.Путь); СтраницаЗаказы = ТабДок.ПолучитьОбласть("ПродажиТовара"); ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(Объект.Путь); СтраницаЗаказы = ТабДок.ПолучитьОбласть("ПродажиТовара"); Для сч1 = 2 по СтраницаЗаказы.ВысотаТаблицы Цикл СтрокаДанных = Объект.Заказы.Добавить(); СтрокаДанных.Номенклатура = СтраницаЗаказы.Область(сч1,1).Текст; СтрокаДанных.Количество = СтраницаЗаказы.Область(сч1,2).Текст; СтрокаДанных.ЦенаЗаЕдиницу = СтраницаЗаказы.Область(сч1,3).Текст; СтрокаДанных.Сумма = СтраницаЗаказы.Область(сч1,4).Текст; ТЧ = Документы.Продажи.СоздатьДокумент(); ТЧ.Дата = ТекущаяДата(); ТЧЧ = ТЧ.Товары.Добавить(); ТЧЧ.Номенклатура = СтраницаЗаказы.Область(сч1,1).Текст; ТЧЧ.Количество = СтраницаЗаказы.Область(сч1,2).Текст; ТЧЧ.Цена = СтраницаЗаказы.Область(сч1,3).Текст; ТЧЧ.Сумма = СтраницаЗаказы.Область(сч1,4).Текст; ТЧ.Записать(РежимЗаписиДокумента.Проведение); КонецЦикла; Сообщить("Файл загружен"); КонецПроцедуры Сразу отмечу, что данный код работает: после нажатия кнопки "Загрузить" заполняет форму обработки и создает документ "Заказы" по каждой позиции |
|||
1
PuhUfa
03.09.23
✎
10:56
|
(0) А искать нужную номенклатуру в справочнике 1С по наименованию кто за тебя будет?
|
|||
2
nodrama
03.09.23
✎
11:00
|
1. Зачем два раза брать из Эксель
СтрокаДанных.Номенклатура = СтраницаЗаказы.Область(сч1,1).Текст; ТЧЧ.Номенклатура = СтраницаЗаказы.Область(сч1,1).Текст; // Ном = Справочники.номенклатура.НайтиПоНаименованию(СтраницаЗаказы.Область(сч1,1).Текст); СтрокаДанных.Номенклатура = Ном; ТЧЧ.Номенклатура = Ном; |
|||
3
pandemion3
03.09.23
✎
12:32
|
(2) Спасибо большое!
|
|||
4
nodrama
03.09.23
✎
12:35
|
(3) не за что.
Можно дописать проверку и удивить преподавателя.. Ном = Справочники.номенклатура.НайтиПоНаименованию(СтраницаЗаказы.Область(сч1,1).Текст); Если ЗначениеЗаполнено(НОм) тогда СтрокаДанных.Номенклатура = Ном; Иначе НоваяНом=Справочники.Номенклатура.СоздатьЭлемент(); ну и т.д по реквизитам. Либо Сообщить(" не найдена номенклатура " + СтраницаЗаказы.Область(сч1,1).Текст); КонецЕсли; ну так на всякидку ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |