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

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

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

Автор: CAHbOK 27.01.21, 14:50

версия программы 7,70,027
Я сделала так: в Конфигураторе открыл Документы+Счет. В реквизитах табличной части, создал Артикул, Тип значения "Строка" В форме добавил Поле Атритикул, Формула: ТМЦ.Артикул. В счете фактуре появилось колонка Артикул, но с ТМЦ артикула не подтягивает, что я сделал не так, подскажи?

Автор: Karabasoff 27.01.21, 15:11

В процедуре при изменении товара в счете нужно прописать установку реквизита "Артикул", что-то типа Артикул = СокрЛП(ТМЦ.Артикул);
Либо реквизит табличной части "Артикул" выводить как вычисляемое значение

Автор: CAHbOK 27.01.21, 15:38

Karabasoff @ Сегодня, 16:11 * ,
можно более детально, как для начинающих профанов рассписать?

Автор: denis84 27.01.21, 15:54

CAHbOK @ Сегодня, 14:50 * ,
Добрый день! Можно сделать так:

1. У меня берем документ , в его табличной части на форме - добавляем колонку "текст". Пишем наименование "Артикул", в формуле ТМЦ.Артикул. Если артикул для товара заполнен, то он выведится в это поле.

2-й вариант. Добавляем реквизит в табличную часть "Артикул". И в процедуре при изменении тмц пишем такое:

// ===============================
Процедура ИзмТМЦ()
    Если ТМЦ.Выбран()=1 Тогда
        Артикул=ТМЦ.Артикул;
    КонецЕсли;
КонецПроцедуры


Автор: 29a 27.01.21, 16:36

ИМХО

Не правильно

Цитата(CAHbOK @ 27.01.21, 14:50) *
В реквизитах табличной части, создал Артикул

нет никакого смысла добавлять в документ реквизит

Правильно
Цитата(Karabasoff @ 27.01.21, 15:11) *
Либо реквизит табличной части "Артикул" выводить как вычисляемое значение

Добавить в ТЧ колонку в формуле прописать ТМЦ.Артикул




Цитата(29a @ 27.01.21, 16:27) *
Добавить в ТЧ колонку в формуле прописать ТМЦ.Артикул

Точнее в формуле прописать Артикул()

В модуле создать функцию

Функция Артикул()
Возврат ТМЦ.Артикул;
КонецФункции

Автор: CAHbOK 27.01.21, 17:15

denis84 @ Сегодня, 16:54 * ,
Документы+Счет в Форме - Артикул колонку добавил, ТМЦ.Артикул написал. Артикул из реквизитов табличной части удалил. Результат в самом счете артикул отобаражается, но выдается ошибка: Поле агрегатного объекта не обнаружено (Артикул)
Подскажите данные вставлять в Модуль Документа?
У меня там такая информация:

...

// ===============================
Функция ПроверкаШапки()
    глВсеВыбрано = 1;
    глПроверкаДатыДок(Контекст,"Проведение");
    глВыбранЛи(Фирма,"Фирма");
    глВыбранЛи(Контрагент,"Контрагент");
    глВыбранЛи(ВидНДС,"Вид НДС");
    глВыбранЛи(Валюта,"Валюта");
    глВыбранЛи(ВидТорговли,"Вид торговли");
    глВыбранЛи(ЧтоПродаем,"Что продаем");
    глПроверитьЗаказ(Строка(ТекущийДокумент()),Контрагент,Заказ);
    Если ПустоеЗначение(РСчет) = 0 Тогда
        Если Валюта <> РСчет.Валюта Тогда
            // предупредим, но заперщать проведние не будем
            глКомментарий("Валюта расчетного счета не соответсвует валюте документа.",0);
        КонецЕсли;
    КонецЕсли;
    Возврат глВсеВыбрано;
КонецФункции

// ===============================
Функция ПроверкаСтроки()
    глВсеВыбрано = 1;
    глВыбранЛи(ТМЦ,"ТМЦ",НомерСтроки);
    Если ТМЦ.Вид()="НеоборотныеАктивы" Тогда
        Если Лев(ТМЦ.Счет,2)="10" Тогда
            Если Кво <> 1 Тогда
                глКомментарий("В строке "+НомерСтроки+" для основного средства "+ТМЦ+" установлено количество, отличное от 1!",1,,"!");
                глВсеВыбрано = 0;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    Возврат глВсеВыбрано;
КонецФункции

// ===============================
Процедура ОбработкаПроведения()
    глКомментарий("Начало",2,Контекст);

    Если ПроверкаШапки() = 0 Тогда
        глНеПроводить(Контекст);
        Возврат;
    КонецЕсли;
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Если ПроверкаСтроки() = 0 Тогда
            глНеПроводить(Контекст);
            Возврат;
        КонецЕсли;
    КонецЦикла;
    глКомментарий("Окончание",2,Контекст);
КонецПроцедуры


подскажите куда именно Ваши данные вставлять?
// ===============================
Процедура ИзмТМЦ()
    Если ТМЦ.Выбран()=1 Тогда
        Артикул=ТМЦ.Артикул;
    КонецЕсли;
КонецПроцедуры

Автор: igmig65 27.01.21, 18:23

CAHbOK @ Сегодня, 17:15 * ,
Модуль документа предназначен для действий при проведении, вставлять в модуль формы...
Но зачем...добавляете поле текст, наименование Артикул, в формулу пишете ТМЦ.Артикул, и все...
Но, если уже есть введенные данные, то нужно перебить поле ТМЦ, чтобы этот артикул определился после изменений.
он же не периодический, все должно сработать, при вводе новых тмц, колонка артикул будет сразу определяться

Автор: CAHbOK 27.01.21, 19:04

Цитата(igmig65 @ 27.01.21, 19:23) *
CAHbOK @ Сегодня, 17:15 * ,
Модуль документа предназначен для действий при проведении, вставлять в модуль формы...
Но зачем...добавляете поле текст, наименование Артикул, в формулу пишете ТМЦ.Артикул, и все...
Но, если уже есть введенные данные, то нужно перебить поле ТМЦ, чтобы этот артикул определился после изменений.
он же не периодический, все должно сработать, при вводе новых тмц, колонка артикул будет сразу определяться

добавил поле текст, наименование поставил Артикул, в формулу написал ТМЦ.Артикул, но выдает ошибку: Поле агрегатного объекта не обнаружено (Артикул), но при этом все данные определяются в Счет-фактуре
1. как избавиться от ошибки:Поле агрегатного объекта не обнаружено (Артикул)?

2. данные уже введенные, как перебить ТМЦ?

Автор: igmig65 27.01.21, 19:12

CAHbOK @ Сегодня, 19:04 * ,
вижу на фото артикул вывелся, а ошибку выдает...
Это не от туда, значит ошибка не там, ищите еще в полях диалога, в формулах..
ТМЦ перебить это просто в поле тмц его заново выбрать, чтобы сработала формула в поле Артикул
А по поводу артикула, думаю, пробовали и ввели еще гдето...

Автор: CAHbOK 27.01.21, 19:27

igmig65 @ Сегодня, 20:12 * ,
Вы не подскажите у меня добавление в ТМЦ артикула была, через такие действия:
-открываю справочник Номенклатура.Добавляю новый реквизит Аритикул.Затем открываю форму списка спр Номенклатура, затем Вставить=>Реквизиты=> Артикул



все ли правильно?

Автор: denis84 27.01.21, 21:25

CAHbOK @ Сегодня, 19:27 * ,
В форме элемента должен быть артикул. Уже потом его можно и в форме списка его вывести

Автор: igmig65 27.01.21, 22:13

Артикул вы ввели, значит такой путь ТМЦ.Артикул существует, и если к нему правильное обращение, то никакой ошибки не будет. Скажите когда именно, конкретно после какого действия у вас выскакивает, что поле не обнаружено, и конкретно при какой форме открытой

Автор: CAHbOK 27.01.21, 22:44

Цитата(igmig65 @ 27.01.21, 23:13) *
Артикул вы ввели, значит такой путь ТМЦ.Артикул существует, и если к нему правильное обращение, то никакой ошибки не будет. Скажите когда именно, конкретно после какого действия у вас выскакивает, что поле не обнаружено, и конкретно при какой форме открытой

Создаю новый счёт, нажимаю insert, чтобы создать первую строку в счете и сразу выскакивает ошибка

Автор: igmig65 27.01.21, 23:00

у меня тоже выскакивают ошибки....
угадайте какие...

Автор: CAHbOK 28.01.21, 9:15

igmig65 @ Сегодня, 0:00 * ,
добавил Артикул в расходную накладную, все нормально без ни каких ошибок, не могу понять, чего в счете выдает ошибку Поле агрегатного объекта не обнаружено (Артикул)?

Автор: Vofka 28.01.21, 9:21

CAHbOK, обратите внимание на https://pro1c.org.ua/index.php?act=announce&f=36&id=2, пункты 8, 9.

Автор: 29a 28.01.21, 9:50

Цитата(igmig65 @ 27.01.21, 22:13) *
Артикул вы ввели, значит такой путь ТМЦ.Артикул существует, и если к нему правильное обращение, то никакой ошибки не будет.

в макете не будет, в табличной части будет, нужно сослаться на функцию

Цитата(29a @ 27.01.21, 16:36) *
формуле прописать Артикул()

В модуле создать функцию

Функция Артикул()
Возврат ТМЦ.Артикул;
КонецФункции

Автор: denis84 28.01.21, 11:28

29a @ Сегодня, 9:50 * ,

Цитата(denis84 @ 27.01.21, 15:54) *
1. У меня берем документ , в его табличной части на форме - добавляем колонку "текст". Пишем наименование "Артикул", в формуле ТМЦ.Артикул. Если артикул для товара заполнен, то он выведится в это поле.


Мой вариант работает у меня! Не знаю почему у Вас это с ошибками надо смотреть Вашу конфу.

Один нюанс, у меня это поле на форму "сделано недоступным для редактирования".


Автор: 29a 28.01.21, 13:32

denis84 @ Сегодня, 11:28 * ,
Судя по скрину, потому, что реквизит "Код" предопределенный и у него по умолчанию включен параметр "Отбор по реквизиту".
Если включить отбор по реквизиту для Артикула, то и он заработает (в типовой конфе он отключен).


Автор: igmig65 29.01.21, 19:31

Писал раньше, возможно гдето в реквизитах формы есть формула ТМЦ.Артикул, там где не нужно, например если эта формула будет в реквизите шапки, где ТМЦ недоступно, будет такая ошибка..

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