Цитата
1С:Предприятие 8.3 (8.3.10.2667)
"Управление производственным предприятием для Украины", редакция 1.3 (1.3.55.1) (http://1c.ua/v8/RegionalSolutions_UA_UPP.php)
Copyright © Molenari OU, 2017-2018. All rights reserved.
Добрый день, я новичек совсем, дали задание доделать внешню обработку выгрузки приходных накладных из медок путем медовой стыковки. Все вроде как работает, заполняет и создает документ, но единственный момент - нет единиц измерения в документе, захожу в номенклатуру - позиции созданы, базовая ед. измерения заполнена (Пример на картинке по ссылке [необходимо зарегистрироваться для просмотра ссылки])
Если нажать кнопку "ОК" номенклатура проведется и теперь будет в документе отображаться ед. зимерения как должно, но как это сделать программно? Вот мой код
Процедура СозданиеНоменклатуры(ДатаДокаВх, НомерДокаВх, НоменклатураОригинал, НаОсновании, ЕИОригинал, НомСтавкаНДС, ВидНоменклатуры, НоменклатураАртикул)
//бутко
ГруппаМедка = Справочники.Номенклатура.НайтиПоКоду("ШИЙ00019795");
Если НЕ ЗначениеЗаполнено(ГруппаМедка) тогда
ГруппаОбъект = Справочники.Номенклатура.СоздатьГруппу();
ГруппаОбъект.Наименование = "Auto_MEDoc";
ГруппаОбъект.Код = "MED";
ГруппаОбъект.Записать();
КонецЕсли;
НоменклатураМедка = Справочники.Номенклатура.СоздатьЭлемент();
НоменклатураМедка.Родитель = Справочники.Номенклатура.НайтиПоКоду("ШИЙ00019795");
НоменклатураМедка.Наименование = НоменклатураОригинал;
НоменклатураМедка.НаименованиеПолное = НоменклатураОригинал;
НоменклатураМедка.ЕдиницаДляОтчетов= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
НоменклатураМедка.Артикул= НоменклатураАртикул;
НоменклатураМедка.Комментарий = Строка(НСтр("ru = 'Создана M.E.Doc IS на основании ';uk = 'Створена M.E.Doc IS на підставі '") +
НаОсновании + Строка(НомерДокаВх) + НСтр("ru = 'от ';uk = 'від '") + ДатаДокаВх);
//Если ВидНоменклатуры = "Запчасть" Тогда
//НоменклатураМедка. Запчасть = Истина;
//КонецЕсли;
ЕдИзмНоменклатуры = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
Если ЗначениеЗаполнено(ЕдИзмНоменклатуры) Тогда
НоменклатураМедка.БазоваяЕдиницаИзмерения = ЕдИзмНоменклатуры;
КонецЕсли;
НоменклатураМедка.СтавкаНДС = НомСтавкаНДС;
Если ИмяБазы="УТ" или ИмяБазы="УТП" или ИмяБазы="УПП" Тогда
НоменклатураМедка.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(ВидНоменклатуры);
КонецЕсли; Сообщить(1);
НоменклатураМедка.Записать();
Сообщить(2);
ЕИНовая=Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); Сообщить(3);
Сообщить(4);
Врем= Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕИОригинал);
Сообщить(Врем.Код);
ЕСЛИ НЕ Врем.Пустая()Тогда Сообщить(5);
ЕИНовая.ЕдиницаПоКлассификатору = Врем; Сообщить(6);
ЕИНовая.Коэффициент="1"; Сообщить("6.5");
ЕИНовая.Владелец= НоменклатураМедка; Сообщить(7);
ЕИНовая.Записать(); Сообщить(8);
//НоменклатураМедка.ЕдиницаДляОтчетов= ЕИНовая; Сообщить(8);
// НоменклатураМедка.ЕдиницаХраненияОстатков= ЕИНовая;
// НоменклатураМедка.БазоваяЕдиницаИзмерения= ЕИНовая; Сообщить(9);
НоменклатураМедка.Записать(); Сообщить(10);
КонецЕсли;
Сообщить(11);
КонецПроцедуры
Пробовал уже разные способы, но когда я создаю ед. измерения вручную(всмысле программно, просто не только пишу создать номенклатуру, но и создать ед. измерения и присвоить ее номенклатуре) выдает ошибку что не все сделано, но что "это" не все я не знаю. Если есть другой способ более подходящий для данного случая, очень прошу подсказать Вас. Большое спасибо!