Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:06

Внешняя обработка для документа "Установка цен номенклатуры"

Автор MArr, 04 апр 2015, 23:05

0 Пользователей и 1 гость просматривают эту тему.

MArr

Пытаюсь начать с малого: хочу с помощью внешней обработки в документ записать наименование номенклатуры.
Выдает ошибку: Поле объекта не обнаружено (ТаблицаЦен). Подскажите, как правильно обратиться к полю номенклатура?

mashencev_anton

Если я правильно понял тебя то можно напривер так:
Для каждого элемент из ТаблицаЦен Цикл
   Элемент.Номенклатура="твоё значение";
КонецЦикла

MArr

таблица цен это таблица значений формы документа, вот сложности с обращением.....

дфтын


cska-fanat-kz

вы бы хоть код привели
или у вас на него авторское право? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MArr

Управление торговлей 10.3.Вот хочу хотя бы наименование в номенклатуру внести, чтобы понять как записывается(прошу строго не судить, совсем начинающий):

Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    ДокументОбъект = Объект;
    СтрокаТабЧасти = ДокументОбъект[ИмяТабличнойЧасти].Добавить();
    СтрокаТабЧасти.Номенклатура ="Товар";
КонецПроцедуры;

Вообще надо установить цены с доп расходами закупочные, мучилась- мучилась, решила вообще вот понять, как что-то записывается. В документе все расчеты происходят в модуле формы, там изменения произвела, считает как нужно, а вот настроить внешнюю обработку не могу...(((

cska-fanat-kz

1. ставьте точку останова и проверяйте чему у вас значения равны:
"Объект"
"ИмяТабличнойЧасти"
2. "СтрокаТабЧасти.Номенклатура ="Товар";" у вас же номенклатура это СправочникСсылка, зачем вы ему строку присваиваете? в колонке "Номенклатура" будет пусто.
3. "Поле объекта не обнаружено (ТаблицаЦен)" в процедуре ИмяТабличнойЧасти = "ТаблицаЦен", видимо такой ТЧ у документа нет (или называется по другому)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

blackmoon89

Цитата: cska-fanat-kz от 05 апр 2015, 07:563. "Поле объекта не обнаружено (ТаблицаЦен)" в процедуре ИмяТабличнойЧасти = "ТаблицаЦен", видимо такой ТЧ у документа нет (или называется по другому)

все верно, нет там такой табличной части, 10.3, "установка цен номенклатуры", таблица цен - это реквизит с типом таблица значений, а табличная часть там называется "товары"

MArr

нет такой табличной части у документа, эта таблица формы. ну как записывать данные то тогда? :(

blackmoon89

Цитата: MArr от 05 апр 2015, 08:15
нет такой табличной части у документа, эта таблица формы. ну как записывать данные то тогда? :(

МойДокумент=Документы.УстановкаЦенНоменклатуры.НайтиПономеру("00000",ТекущаяДата()).ПолучитьОбъект();
Для каждого элемент из МойДокумент.Товары Цикл
   Элемент.Номенклатура=Спрвочники.Номенклаутра.НайтиПоКоду("00000").Ссылка;
   Элемент.Цена=100500;
КонецЦикла
Попытка
МойДокумент.Записать(ваш вариант);
Исключение
Сообщить(ОпианиеОшибки());
КонецПопытки;



p.s. писала без синтаксис помощника, так что проверяйте.
Добавлено: 05 апр 2015, 08:31


Цитата: MArr от 05 апр 2015, 07:39Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    ДокументОбъект = Объект;
    СтрокаТабЧасти = ДокументОбъект[ИмяТабличнойЧасти].Добавить();
    СтрокаТабЧасти.Номенклатура ="Товар";
КонецПроцедуры;
В имени табличной части у вас должно быть "товары"
И как вам уже сказали СтрокаТабЧасти.Номенклатура ="Товар" - это работать не будет, надо СтрокаТабЧасти.Номенклатура =Справочники.Номенклатура.НайтиПоКоду() 

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск