|
Загрузка номенклатуры и упаковок при переходе УТ10->УТ11 | ☑ | ||
---|---|---|---|---|
0
ZANDER
28.03.25
✎
07:09
|
Здравствуйте!
Имеется: Платформа 8.3 (8.3.25.1546) УТ11 (11.5.20.101) Переходим с УТ10 на УТ11. Обмен через Ексель-файл. Сначала загружаю Номенклатуру, устанавливая флаг ИспользоватьУпаковки и выставляя флажок ИндивидуальныйНабор. И вторым ходом, из второго файла, загружаем УпаковкиЕдиницыИзмерения. Вот код: Загрузка Номенклатуры: &НаСервере // МассНом - это массив с Номенклатурой Процедура ЗагрузитьНоменклатуруНаСервере(МассНом) Ном = Справочники.Номенклатура; Для каждого ЭлМасс из МассНом цикл Если ЭлМасс.флагГруппы = 1 тогда НомНовый = Ном.СоздатьГруппу(); иначе НомНовый = Ном.СоздатьЭлемент(); КонецЕсли; // Установка УИД УИД = Новый УникальныйИдентификатор (ЭлМасс.УИд); НоваяСсылка = Справочники.Номенклатура.ПолучитьСсылку(УИД); НомНовый.УстановитьСсылкуНового(НоваяСсылка); Если СокрЛП(ЭлМасс.КодРодителя) = "" тогда НомНовый.Родитель = Ном.ПустаяСсылка(); иначе НомНовый.Родитель = Ном.НайтиПоКоду(ЭлМасс.КодРодителя).Ссылка; КонецЕсли; НомНовый.Код = СокрЛП(ЭлМасс.Код); НомНовый.Наименование = СокрЛП(ЭлМасс.Наименование); Если ЭлМасс.флагГруппы = 0 тогда СтавкаНДС_Ном = ПолучитьСтавкуНДС(ЭлМасс.СтавкаНДС); СтранаПроисхождения = ПолучитьСтрануПроисхождения(СокрЛП(ЭлМасс.СтранаПроисхождения)); НомНовый.Артикул = СокрЛП(ЭлМасс.Артикул); НомНовый.СтавкаНДС = СтавкаНДС_Ном; НомНовый.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(ЭлМасс.ВидНоменклатуры).Ссылка; НомНовый.ЕдиницаИзмерения = ПолучитьЕдиницуИзмерения(ЭлМасс.ЕдИзм); НомНовый.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать; НомНовый.ВестиУчетПоГТД = Истина; НомНовый.СтранаПроисхождения = СтранаПроисхождения; Если СокрЛП(ЭлМасс.ВидНоменклатуры) = "Товар" тогда НомНовый.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; иначе НомНовый.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга; КонецЕсли; НомНовый.ВариантОформленияПродажи = Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг; НомНовый.ИспользоватьУпаковки = Истина; НомНовый.НаборУпаковок = Справочники.НаборыУпаковок.ИндивидуальныйДляНоменклатуры; КонецЕсли; НомНовый.Записать(); Если СокрЛП(ЭлМасс.НомерГТД) <> "" И СтранаПроисхождения <> Справочники.СтраныМира.ПустаяСсылка() тогда СоздатьНовыйНомерГТД(СокрЛП(ЭлМасс.НомерГТД), СтранаПроисхождения, НомНовый); КонецЕсли; КонецЦикла; КонецПроцедуры После этого запускаем загрузку УпаковокЕдиницИзмерения: &НаСервере Процедура ЗагрузитьЕдИзмНаСервере(МассивЕИ) Для каждого ЭлМасс из МассивЕИ цикл НайдНом = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(ЭлМасс.КодНоменклатуры)); Если НайдНом = Справочники.Номенклатура.ПустаяСсылка() тогда Продолжить; КонецЕсли; ЕдиницаДлины = Константы.ЕдиницаИзмеренияДлины.Получить(); Упаковка = Справочники.УпаковкиЕдиницыИзмерения.СоздатьЭлемент(); Упаковка.Владелец = НайдНом.Ссылка; Упаковка.ЕдиницаИзмерения = НайдНом.ЕдиницаИзмерения; Упаковка.ВесЕдиницаИзмерения = Константы.ЕдиницаИзмеренияВеса.Получить(); Упаковка.ОбъемЕдиницаИзмерения = Константы.ЕдиницаИзмеренияОбъема.Получить(); Упаковка.Наименование = СокрЛП(ЭлМасс.ЕдИзмКлассификатор); Упаковка.Вес = СокрЛП(ЭлМасс.Вес); Упаковка.Объем = СокрЛП(ЭлМасс.Объем); Упаковка.Числитель = СокрЛП(ЭлМасс.Коэффициент); Упаковка.ТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Упаковка; Упаковка.ТипУпаковки = Перечисления.ТипыУпаковокНоменклатуры.Конечная; //Упаковка.Безразмерная = Истина; //Упаковка.СкладскаяГруппа = СкладскаяГруппаУпаковок; //Упаковка.Типоразмер = Типоразмер; Упаковка.ГлубинаЕдиницаИзмерения = ЕдиницаДлины; Упаковка.ШиринаЕдиницаИзмерения = ЕдиницаДлины; Упаковка.ВысотаЕдиницаИзмерения = ЕдиницаДлины; Упаковка.Записать(); КонецЦикла; КонецПроцедуры После загрузки в УТ11 появляются следующие проблемы: 1. В справочнике Номеклатуры, открытом непосредственно, не видны элементы, только группы видны. При этом в Подборе все элементы видны и доступны. Можно войти в режим редактирования элемента. 2. Не появляется индивидуальный набор упаковок. Флажок Индивидуального набора установлен. Решил сделать групповое изменение реквизитов с пустым фильтром. Делает с замечаниями по нескольким элементам из 7 тысяч, но делает до конца. При этом все равно ничего не появляется в справочнике Номенклатуры. Читал вот это: Как в УТ 11.4 программно создать индивидуальный набор упаковок номенклатуры? Использовал. Это видно, что использовал. Но не помогает. Кто подскажет? кто сталкивался? |
|||
1
2S
27.03.25
✎
16:56
|
а чем типовой не устраивает? Там одну строчку в правилах подправить всего )
|
|||
2
Мультук
гуру
27.03.25
✎
17:18
|
(0)
Создайте уже одну номенклатуру с нужными упаковками вручную и сравните реквизиты (глазами в консоле запросов) с созданной программно. И еще нескромный вопрос, а ФО про упаковки включена ?
|
|||
3
ZANDER
27.03.25
✎
19:09
|
(2) Да, включена. Попробую посмотреть в консоли запросов
|
|||
4
ZANDER
27.03.25
✎
19:55
|
Феноменально! я добавил номенклатуру вручную и её не видно. Такое бывает вообще?
Хотя пока добавлял, понял, что может быть не заполнено - объем и вес одной единицы в форме самой Номенклатуры. Но при этом, эти данные вводятся в Упаковке. Зачем такой огород? Непонятно пока ничего |
|||
5
ZANDER
27.03.25
✎
21:08
|
Видимость отрегулировал. Нашел здесь:
Не отображается элемент в справочнике номенклатура Установил стандартные настройки. Ведь это додуматься надо или случайно найти |
|||
6
Serg_1960
28.03.25
✎
15:52
|
"Зачем такой огород? Непонятно пока ничего" - если одним словом, то это многовариантность. А если коротко, то учёт в разрезе упаковок можно не вести, но тогда всё равно "где-то" придётся указывать единицу измерения для номенклатуры.
Кстати: помимо общей настройки в программе, есть индивидуальная настройка ведения учета как в карточке вида номенклатуры, так и непосредственно в самой номенклатуре. В итоге: актуальность указания единицы измерения в карточках номенклатуры - сохраняется. |
|||
7
ZANDER
28.03.25
✎
16:52
|
(6) да, Вы правы.
Приведенный выше код является рабочим. Проблемы, видимо, были в исходных данных, так как когда я расширил выборку выгружаемых и загружаемых позиций номенклатуры, индивидуальные упаковки-единицы все-таки создались, да не у всех. При узкой выборке ничего не создавалось вообще. Почему не у всех, разберусь. Спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |