ERP 2.5 Документ План производства. Добавление колонки/реквизита в кросс-таблицу.
Всем доброго времени суток!
На форме документа "План производства" есть отдельный реквизит "ПродукцияПоДатам" с типом "ТаблицаЗначений".
Есть ТЧ "Продукция", которая находится в самом объекте. Туда добавить реквизит и вывести колонку на форму не проблема.
"ПродукцияПоДатам" является кросс-таблицей и заполняется в ПриСозданииНаСервере.
В ней уже есть определенные рекизиты. Хочу программно в нее добавить свой новый реквизит. Но не понимаю как.
Нужно отдельно создать реквизит для этой ТаблицыЗначений?
Не понимаю. Подскажите, пожалуйста.
На форме документа "План производства" есть отдельный реквизит "ПродукцияПоДатам" с типом "ТаблицаЗначений".
Есть ТЧ "Продукция", которая находится в самом объекте. Туда добавить реквизит и вывести колонку на форму не проблема.
"ПродукцияПоДатам" является кросс-таблицей и заполняется в ПриСозданииНаСервере.
В ней уже есть определенные рекизиты. Хочу программно в нее добавить свой новый реквизит. Но не понимаю как.
// добавление элемента для ТЧ "Продукция". Тут все ок
НовыйЭлемент = Элементы.Добавить("Эл29_ПодразделениеДиспетчер", Тип("ПолеФормы"), Элементы.Продукция);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "Объект.Продукция.Эл29_ПодразделениеДиспетчер";
// добавление элемента для ТЧ "ПродукцияПоДатам". Ругается на ПутьКДанным.
НовыйЭлемент = Элементы.Добавить("ПродукцияПоДатамПодразделениеДиспетчер", Тип("ПолеФормы"), Элементы.ПродукцияПоДатам);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ПродукцияПоДатам.ПродукцияПоДатамПодразделениеДиспетчер";
ПоказатьНужно отдельно создать реквизит для этой ТаблицыЗначений?
Не понимаю. Подскажите, пожалуйста.
Прикрепленные файлы:

Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Когда вы написали:
то значит у реквизита "Объект" - есть реквизит "Продукция" и у него есть поле "Эл29_ПодразделениеДиспетчер". Правильно?
Теперь, далее вы пишете:
Но ругается на ошибку.
Логично же, что это значит, что у Реквизита "ПродукцияПоДатам" нет такого поля "ПродукцияПоДатамПодразделениеДиспетчер". Таким образом, вам надо сначала в ТЗ "ПродукцияПоДатам" сначала добавить новую колонку через ПродукцияПоДатам.Колонки.Добавить() и только потом выставлять ее в качестве значения в НовыйЭлемент.ПутьКДанным
НовыйЭлемент.ПутьКДанным = "Объект.Продукция.Эл29_ПодразделениеДиспетчер";
то значит у реквизита "Объект" - есть реквизит "Продукция" и у него есть поле "Эл29_ПодразделениеДиспетчер". Правильно?
Теперь, далее вы пишете:
НовыйЭлемент.ПутьКДанным = "ПродукцияПоДатам.ПродукцияПоДатамПодразделениеДиспетчер";
Но ругается на ошибку.
Логично же, что это значит, что у Реквизита "ПродукцияПоДатам" нет такого поля "ПродукцияПоДатамПодразделениеДиспетчер". Таким образом, вам надо сначала в ТЗ "ПродукцияПоДатам" сначала добавить новую колонку через ПродукцияПоДатам.Колонки.Добавить() и только потом выставлять ее в качестве значения в НовыйЭлемент.ПутьКДанным
(2) Да, я это понял уже потом)
Я допёр как сделать. Сначала в саму ТЗ добавляю новый реквизит, а далее добавляю новый элемент с путем до этого реквизита. И всё взлетело)
Я допёр как сделать. Сначала в саму ТЗ добавляю новый реквизит, а далее добавляю новый элемент с путем до этого реквизита. И всё взлетело)
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ПодразделениеДиспетчер", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"), "ПродукцияПоДатам", "Подразделение диспетчер"));
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
НоваяКолонка = Элементы.Добавить("ПродукцияПоДатамПодразделениеДиспетчер", Тип("ПолеФормы"), Элементы.ПродукцияПоДатам);
НоваяКолонка.Заголовок = "Подразделение диспетчер";
НоваяКолонка.ПутьКДанным = "ПродукцияПоДатам.ПодразделениеДиспетчер";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот