Версия для печати темы (https://pro1c.org.ua/index.php?s=5d408e35168bb71b182241365f0925e0&showtopic=67631)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Програмне створення специфікації номенклатури в утп

Автор: berest.andriy 11.09.24, 14:41

доброго дня. хто допоможе дописати два рядка коду при створенні специфікації номенклатури. незнаю як добавляти одиниці виміру
ось код, специфікація створюється але одиниці виміру пусті

НоваСпециф=справочники.СпецификацииНоменклатуры.СоздатьЭлемент();
    новаспециф.Владелец=Этаформа.ПолеВвода1;
    новаспециф.Наименование=Этаформа.ПолеВвода1;
    новаспециф.Количество=1;
    //новаспециф.ЕдиницаИзмерения=????
    таблчастинакомплект=новаспециф.ИсходныеКомплектующие;
    новастрока=таблчастинакомплект.Добавить();
    новастрока.Номенклатура=справочники.Номенклатура.НайтиПоКоду("000004606");
    новастрока.Количество=1;
    //новастрока.ЕдиницаИзмерения=???
    
    новаспециф.Записать();



1С:Предприятие 8.3 (8.3.18.1289)
УТП 1,2

Автор: Slon747 11.09.24, 15:10

новастрока.ЕдиницаИзмерения = новастрока.Номенклатура.ЕдиницаХраненияОстатков;

Автор: berest.andriy 11.09.24, 15:15

Slon747 @ Сегодня, 16:10 * ,
дякую, спрацювало.
а як тут?

НоваСпециф=справочники.СпецификацииНоменклатуры.СоздатьЭлемент();
новаспециф.Владелец=Этаформа.ПолеВвода1;
новаспециф.Наименование=Этаформа.ПолеВвода1;
новаспециф.Количество=1;
новаспециф.ЕдиницаИзмерения=????

Автор: Slon747 11.09.24, 15:34

Цитата(berest.andriy @ 11.09.24, 16:15) *
новаспециф.Владелец=Этаформа.ПолеВвода1;
новаспециф.Наименование=Этаформа.ПолеВвода1;


Тут треба використовувати не елементи форми, а її реквізити.
Якщо ПолеВвода1 зв'язано з реквизитом "Номенклатура", то треба якось так:
новаспециф.Владелец = Номенклатура;
новаспециф.Наименование = Номенклатура.Наименование;

де "Номенклатура" - посилання на елемент довідника Номенклатура

Автор: berest.andriy 11.09.24, 15:49

Slon747 @ Сегодня, 16:34 * ,
Ви не так зрозуміли. тут теж треба вставити одиницю виміру (фото документа, одиниця виміру в шапці документа)

новаспециф.ЕдиницаИзмерения=????
але наскільки я зрозумів її потрібно не вибрати а напевно створити

Slon747 @ Сегодня, 16:34 * ,
ось цю одиницю виміру

Автор: Slon747 11.09.24, 15:53

berest.andriy @ Сегодня, 16:49 * ,
Якось так:

ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
ЕдиницаИзмерения.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("2009"); //шт
ЕдиницаИзмерения.Наименование    = ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Наименование;
ЕдиницаИзмерения.Коэффициент    = 1;
ЕдиницаИзмерения.Записать();

новаспециф.ЕдиницаИзмерения= ЕдиницаИзмерения.Ссылка;

Автор: berest.andriy 11.09.24, 20:03

Slon747 @ Сегодня, 16:53 * ,
все виявилося набагато простішим - там використовується одиниця виміру залишків самої номенклатури

новаспециф.ЕдиницаИзмерения= Этаформа.ПолеВвода1.ЕдиницаХраненияОстатков;


дякую за допомогу.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua