К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

УТ 11.3 Программное создание единиц измерения

bvb
0 - 19.07.2017 - 14:06
Перекачиваю данные из УТ 10.3
Нужно по аналогии создать две единицы :
Бутылку и коробку с соответствующими коэффициентами весами и объемами

Я не понимаю логику :
1. Зачем заданы весовые и объемные характеристики в самом справочнике Номенклатура
2. Как Создавать единицу измерения Коробка и где она отражается в карточке номенклатуры
3. Почему справочник "УпаковкиЕдиницыИзмерения"
ссылается сам на себя - реквизиты :
ВесЕдиницаИзмерения , ВысотаЕдиницаИзмерения, ШиринаЕдиницаИзмерения, ГлубинаЕдиницаИзмерения

ниже привожу код создающий единицы измерения :

//Единицы измерения
СпрОбъект.ЕдиницаИзмерения = НайтиСоздатьЕдиницуИзмерения (СпрОбъект.Ссылка ,COMНоменклатура);
СпрОбъект.алкОсновнаяУпаковка = СпрОбъект.ЕдиницаИзмерения;

Если COMНоменклатура.ЕдиницаХраненияОстатков.Вес <> 0 Тогда
СпрОбъект.ВесИспользовать = ИСТИНА;
СпрОбъект.ВесЗнаменатель = 1;
СпрОбъект.ВесЧислитель = COMНоменклатура.ЕдиницаХраненияОстатков.Вес;
СпрОбъект.ВесЕдиницаИзмерения = СпрОбъект.ЕдиницаИзмерения;
КонецЕсли;

Если COMНоменклатура.ЕдиницаХраненияОстатков.Объем <> 0 Тогда
СпрОбъект.ОбъемИспользовать = ИСТИНА;
СпрОбъект.ОбъемЗнаменатель = 1;
СпрОбъект.ОбъемЧислитель = COMНоменклатура.ЕдиницаХраненияОстатков.Объем;
СпрОбъект.ОбъемЕдиницаИзмерения = СпрОбъект.ЕдиницаИзмерения;
Иначе
СпрОбъект.ОбъемИспользовать = ИСТИНА;
СпрОбъект.ОбъемЗнаменатель = 1;
СпрОбъект.ОбъемЧислитель = COMНоменклатура.алкЕмкость;
СпрОбъект.ОбъемЕдиницаИзмерения = СпрОбъект.ЕдиницаИзмерения;
КонецЕсли;ункция НайтиСоздатьЕдиницуИзмерения(Номенклатура , COMНоменклатура)

СпрЕд = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоКоду(C OMНоменклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКл ассификатору.Код,,,);

Если СпрЕд.Пустая() Тогда
СпрЕд = Справочники.УпаковкиЕдиницыИзмерения.СоздатьЭлемен т();
СпрЕд.Владелец = Номенклатура;
СпрЕд.Код = COMНоменклатура.ЕдиницаХраненияОстатков.ЕдиницаПоК лассификатору.Код;
СпрЕд.Наименование = COMНоменклатура.ЕдиницаХраненияОстатков.ЕдиницаПоК лассификатору.Наименование;
Иначе
СпрЕд = СпрЕд.ПолучитьОбъект();
КонецЕсли;

СпрЕд.Наименование = COMНоменклатура.ЕдиницаХраненияОстатков.ЕдиницаПоК лассификатору.НаименованиеПолное;
СпрЕд.ТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.КоличествоШтук;
СпрЕд.Вес = COMНоменклатура.ЕдиницаХраненияОстатков.Вес;

Если COMНоменклатура.ЕдиницаХраненияОстатков.Объем <> 0 Тогда
СпрЕд.Объем = COMНоменклатура.ЕдиницаХраненияОстатков.Объем;
Иначе
СпрЕд.Объем = COMНоменклатура.алкЕмкость;
КонецЕсли;
СпрЕд.Записать();

Возврат СпрЕд.Ссылка;

КонецФункции





К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены