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Номенклатура.алкЕмкость; КонецЕсли; СпрЕд.Записать(); Возврат СпрЕд.Ссылка; КонецФункции | |
| Интернет-форум Краснодарского края и Краснодара |