Добрый день! Подскажите, пожалуйста, мне нужно загрузить в 1с файлик эксель, состоящий из колонок, например, Номенклатура, ВидНоменклатуры и ЕдиницаИзмерения.
Я все прописала, внешняя обработка открывается, выбирается файл эксель, данные подтягиваются. Загружаю данные в номенклатуру, передается только наименование. Я нашла проблему: у меня указан тип ссылка справочник и перечисление у реквизитов на форме.
У меня создана ТЗ, в ней,собственно, реквизиты и расположены. Вопрос, как мне эти реквизиты преобразовать в объект? Есть какая-то универсальная функция или их как-то по отдельности надо "вытаскивать" в объект? Делаю для бп3 учебной
Эта штука работает, но не передает(
Как обойти цикл и получить объекты?
Подскажите, как сделать, учусь, тонкостей не знаю(((
Заранее спасибо
Я все прописала, внешняя обработка открывается, выбирается файл эксель, данные подтягиваются. Загружаю данные в номенклатуру, передается только наименование. Я нашла проблему: у меня указан тип ссылка справочник и перечисление у реквизитов на форме.
У меня создана ТЗ, в ней,собственно, реквизиты и расположены. Вопрос, как мне эти реквизиты преобразовать в объект? Есть какая-то универсальная функция или их как-то по отдельности надо "вытаскивать" в объект? Делаю для бп3 учебной
Эта штука работает, но не передает(
Как обойти цикл и получить объекты?
//загруженные данные - наша тз
///////////Получи объект из ссылкит
Для каждого НоменклатураПеременная Из ЗагруженныеДанные Цикл
НовыйЭлемент=Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование=НоменклатураПеременная.Номенклатура;
НовыйЭлемент.ВидНоменклатуры=НоменклатураПеременная.ВидНоменклатуры;
НовыйЭлемент.ВидСтавкиНДС=НоменклатураПеременная.СтавкаНДС;
НовыйЭлемент.ЕдиницаИзмерения=НоменклатураПеременная.ЕдиницаИзмерения;
НовыйЭлемент.Записать();
КонецЦикла;
ПоказатьПодскажите, как сделать, учусь, тонкостей не знаю(((
Заранее спасибо
По теме из базы знаний
- Загрузка из Excel книги покупок и книги продаж в 1С:Налогоплательщик 8.3 (релиз 3.0.254.1) для последующего формирования декларации НДС 2015-2025
- 5 способов загрузки из Excel в 1С
- Загрузка из эксель в документ Заказ клиента для УТ 11.4, 11.5, КА 2.4, 2.5, ЕРП 2.4, 2.5
- Загрузка из эксель в документ Приобретение товаров и услуг для УТ 11.5, КА 2.5, ЕРП 2.5
- Загрузка из эксель в документ Приходная накладная для УНФ 3, Розница 3
Найденные решения
(5)
.......
СуществующийЭлемент = Справочники.Номенклатура.НайтиПоНаименованию(<Наименование>, Истина);
Если НЕ ЗначениеЗаполнено(СуществующийЭлемент) Тогда
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
..........
НовыйЭлемент.Записать();
СуществующийЭлемент = НовыйЭлемент.Ссылка;
КонецЕсли;
.........
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Хорошим тоном считается создание нового элемента только в случае отсутствия существующего
в общем случае подход верен, только нужно соблюдать типы значений реквизитов.
НовыйЭлемент.ВидНоменклатуры, например, имеет тип СправочникСсылка.ВидыНоменклатуры.
Ссылку на элемент справочника "ВидыНомеклатуры" необходимо так же определять с помощью поиска существующего/созданием нового элемента
в общем случае подход верен, только нужно соблюдать типы значений реквизитов.
НовыйЭлемент.ВидНоменклатуры, например, имеет тип СправочникСсылка.ВидыНоменклатуры.
Ссылку на элемент справочника "ВидыНомеклатуры" необходимо так же определять с помощью поиска существующего/созданием нового элемента
(5)
.......
СуществующийЭлемент = Справочники.Номенклатура.НайтиПоНаименованию(<Наименование>, Истина);
Если НЕ ЗначениеЗаполнено(СуществующийЭлемент) Тогда
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
..........
НовыйЭлемент.Записать();
СуществующийЭлемент = НовыйЭлемент.Ссылка;
КонецЕсли;
.........
Показать
(6) Я или не так делаю что-то (скорее всего), но у меня не проставляется(((
Только СтавкаНДС и то только потому, что там жестко проставлено(что не корректно, но для проверки сойдет)
Только СтавкаНДС и то только потому, что там жестко проставлено(что не корректно, но для проверки сойдет)
Для каждого НоменклатураПеременная Из ЗагруженныеДанные Цикл
СуществующийЭлемент =Справочники.Номенклатура.НайтиПоНаименованию(НоменклатураПеременная.номенклатура).Наименование;
Если НЕ ЗначениеЗаполнено(СуществующийЭлемент) Тогда
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование=НоменклатураПеременная.Номенклатура;
НовыйЭлемент.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоНаименованию(НоменклатураПеременная.Видноменклатуры).Наименование;
НовыйЭлемент.ЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(Номенклатурапеременная.единицаИзмерения).Наименование;
НовыйЭлемент.ВидСтавкиНДС=Перечисления.ВидыСтавокНДС.Общая;
НовыйЭлемент.Записать();
СуществующийЭлемент = НовыйЭлемент.Ссылка;
Показать
(8)убрала
последнее "Наименование". Работает!!! Только с перечислениями беда
НовыйЭлемент.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоНаименованию(НоменклатураПеременная.Видноменклатуры).Наименование;
НовыйЭлемент.ЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(Номенклатурапеременная.единицаИзмерения).Наименование;
последнее "Наименование". Работает!!! Только с перечислениями беда
(9)то есть теперь так у меня
НовыйЭлемент.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоНаименованию(НоменклатураПеременная.Видноменклатуры)
;
НовыйЭлемент.ЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(Номенклатурапеременная.единицаИзмерения);
(10)Исходя из скриншота, в ТЗ у вас уже хранятся значения в нужном типе, т.е. ссылочном.
Вы должны в процессе формирования ТЗ получать ссылки на ВидНоменклатуры/ЕдиницуИзмерения точно так же как получаете на номенклатуру.
А при формировании номенклатуры использовать эти значения напрямую:
Вы должны в процессе формирования ТЗ получать ссылки на ВидНоменклатуры/ЕдиницуИзмерения точно так же как получаете на номенклатуру.
А при формировании номенклатуры использовать эти значения напрямую:
НовыйЭлемент.ВидНоменклатуры = НоменклатураПеременная.Видноменклатуры;
НовыйЭлемент.ЕдиницаИзмерения = Номенклатурапеременная.единицаИзмерения;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот