Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:42

Автоматическое создание номенклатуры при загрузке из файла

Автор dsshelygin, 14 мар 2018, 23:28

0 Пользователей и 1 гость просматривают эту тему.

dsshelygin

При загрузке ТОРГ-12 из Excel-файла в документ "Поступление" в Бухгалтерии 3.0 не заполняется номенклатура, если она отсутствует в базе.
Как сделать так, чтобы создавалась новая номенклатура и табличная часть документа нормально заполнялась, а не приходилось руками создавать номенклатуру для каждой позиции?

AIFrame


Norfolk

Цитата: AIFrame от 15 мар 2018, 04:04
Дописать обработку.
Без вас бы видимо ТС вообще не справился. Как не посмотришь в какую-нибудь тему - так вы всегда точно и по делу...(сарказм)
По теме:
при загрузке у вас наверняка проверяется наличие данной номенклатуры в базе. Сделайте дополнительную проверку: если таковая номенклатура не найдена - создать новый элемент справочника, ну а дальше по алгоритму.

Поиск родных

Найдите в инете - полно (внешних) обработок, которые загружают с созданием отсутствующих позиций номенклатуры

AIFrame

Цитата: Norfolk от 15 мар 2018, 05:21Сделайте дополнительную проверку: если таковая номенклатура не найдена - создать новый элемент справочника, ну а дальше по алгоритму.
А сам то как помог.
Че ж ты так слабо? Садись пиши все за него, а то будешь как я.
И не забудь подключить свои экстрасенсорные способности и посмотреть, как он грузит, какой обработкой и какой там код.
Цитата: Norfolk от 15 мар 2018, 05:21так вы всегда точно и по делу
Каков вопрос - таков ответ.

Поиск родных

Цитата: Norfolk от 15 мар 2018, 05:21
при загрузке у вас наверняка
это встроенный функционал загрузки-выгрузкм файлов в формате Excel в БП 3.0,
который не стоит трогать

Найдите (внешнюю) обработку - в инете полно

BuhRust

Цитата: dsshelygin от 14 мар 2018, 23:28
Как сделать так, чтобы создавалась новая номенклатура и табличная часть документа нормально заполнялась, а не приходилось руками создавать номенклатуру для каждой позиции?

Вариантов много.
Если непременно нужно, чтобы новая номенклатура создавалась сразу при загрузке, то штатного такого механизма нет и нужно заказывать обработку у специалиста (или разработать самому, или искать готовые решения).
Но в любом случае заполнять руками не нужно, в БП 3.0 есть штатный механизм загрузки номенклатуры. В справочнике номенклатуры в панели инструментов есть кнопка "Загрузить". Попробуйте нажать. Штатный механизм конечно слабенький и простенький, но лучше чем никакой.
И штатно загрузка в два этапа, сначала загружаете новые элементы в справочник номенклатуры, потом уже загружаете накладную.

dsshelygin

Реализовал следующим образом:

Нашел в общих формах "СопоставлениеДанныхПоНоменклатуре". Это форма, которая как раз и вызывается при загрузке, в случае отсутствия необходимых номенклатур.
Создал на форме кнопку "Заполнить" со следующим кодом:


Для Каждого Позиция Из Список Цикл       
        НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
        НоваяНоменклатура.Наименование = Позиция.НаименованиеНоменклатурыКонтрагента;
        НоваяНоменклатура.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товары");
        НоваяНоменклатура.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(Позиция.ЕдиницаНоменклатурыКонтрагента);
        НоваяНоменклатура.Записать();
        Позиция.Номенклатура = НоваяНоменклатура.Ссылка;
КонецЦикла;

Похожие темы (5)

Рейтинг@Mail.ru

Поиск