Как вывести в тч документа доп реквизит справочника?
Здравствуйте!
Для номенклатуры был создан дополнительный реквизит - "Класс", в отчетах этот реквизит вывести можно, в списке элементов номенклатуры тоже, правда через группировки, а вот в табличную часть документа как вывести, никак не могу понять.
Вывод доп реквизита "Класс" в табличную часть нужен только для визуального контроля класса номенклатуры, т.е. при изменении номенклатуры в строке, класс также должен ставиться соответствующий.
Стандартными средствами это не доступно, а программно не получается, может кто-нибудь подсказать, как такое реализовать?)
Для номенклатуры был создан дополнительный реквизит - "Класс", в отчетах этот реквизит вывести можно, в списке элементов номенклатуры тоже, правда через группировки, а вот в табличную часть документа как вывести, никак не могу понять.
Вывод доп реквизита "Класс" в табличную часть нужен только для визуального контроля класса номенклатуры, т.е. при изменении номенклатуры в строке, класс также должен ставиться соответствующий.
Стандартными средствами это не доступно, а программно не получается, может кто-нибудь подсказать, как такое реализовать?)
По теме из базы знаний
- Универсальный конструктор отчетов (Новейший отчет) для 1C 7.7
- Массовая рассылка печатных форм любых документов по электронной почте, в Telegram, в каталог или том
- Консоль кода с поддержкой объявления процедур и функций, с дополнительными функциями отслеживания и вывода значений
- Отчеты по учету проектов для 1С:Бухгалтерии 3.0
- Интеграция 1С с Telegram - рассылка отчетов, пошаговое общение с чатами и произвольные скрипты
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Хотелось бы сделать с минимальным внесением изменений в конфигурацию, т.е. например, чтобы вывести артикул номенклатуры в тч, можно программно добавить элемент на форму и прописать ему "путь к данным" - "Объект.Запасы.Номенклатура.Артикул" и это поле будет автоматически заполняться при изменении номенклатуры, но видимо придется сделать так, как вы написали
(1У меня такая же проблема была
Добавил новый реквизит в карточку номенклатуры "Номер ящика" и нужно було вывесит его в ТЧ "Поступление товаров и услуг"
подглядел как выводится Артикул и Код номенклатуры в ТЧ
И решение нашел в *Общие модули - Работа с диалогами - Имя Процедуры (у меня это) "ПоказатьКодАртикул(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура) Экспорт"
фото приложил:
Добавил новый реквизит в карточку номенклатуры "Номер ящика" и нужно було вывесит его в ТЧ "Поступление товаров и услуг"
подглядел как выводится Артикул и Код номенклатуры в ТЧ
И решение нашел в *Общие модули - Работа с диалогами - Имя Процедуры (у меня это) "ПоказатьКодАртикул(КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура) Экспорт"
фото приложил:
Прикрепленные файлы:


(14) Это не совсем то. У вас добавлен новый реквизит, именно как реквизит номенклатуры, который очень просто вывести хоть программно, хоть интерактивно. Речь шла о дополнительном реквизите, который хранится в табличной части "Дополнительные реквизиты" справочника "Номенклатура" и вот именно их просто так в форму тч не вывести.
В общем, после долгих мучений и писанины по созданию реквизита формы и вывода на форму, было решено создать обычные реквизиты и заполнить их значения из дополнительных реквизитов. Вывод в тч производится интерактивным способом через Еще -> Изменить форму ->Добавить поля. Всем спасибо)
(11) что значит создание обычных реквизитов? в конфигураторе создали?
А решения именно в пользовательском режиме для дополнительных реквизитов не нашли?
Сейчас возникла такая же ситуация. ERP 2.4.8.73. Создал допреквизит для Справочника Виды работ. И нужно вытащить этот допреквизит в ТЧ Маршрутной карты
А решения именно в пользовательском режиме для дополнительных реквизитов не нашли?
Сейчас возникла такая же ситуация. ERP 2.4.8.73. Создал допреквизит для Справочника Виды работ. И нужно вытащить этот допреквизит в ТЧ Маршрутной карты
(12)
Да, просто добавила в основную конфигурацию реквизит. Конфа была не на поддержке, поэтому, это был наиболее удобный путь решения проблемы.
Также можно сделать и через расширение, если конфа на поддержке, но проблем с реквизитами, созданными в расширении не мало... Мое мнение - если есть возможность, лучше не создавать реквизиты в расширении.
что значит создание обычных реквизитов? в конфигураторе создали?
Да, просто добавила в основную конфигурацию реквизит. Конфа была не на поддержке, поэтому, это был наиболее удобный путь решения проблемы.
Также можно сделать и через расширение, если конфа на поддержке, но проблем с реквизитами, созданными в расширении не мало... Мое мнение - если есть возможность, лучше не создавать реквизиты в расширении.
Вот такой огород. Зато во всех документах где есть товары появится колонка с ШК. По логике добавляйте
Вставлять сюда или в расширении "СобытияФорм.ПриСозданииНаСервере" актуально для КА
Вставлять сюда или в расширении "СобытияФорм.ПриСозданииНаСервере" актуально для КА
&После("ПриСозданииНаСервере")
Процедура исПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка, ДополнительныеПараметры)
Если НЕ Форма.Элементы.Найти("Товары") = Неопределено Тогда
нРеквизиты = Новый Массив;
нРеквизиты.Добавить(Новый РеквизитФормы("ШК", Новый ОписаниеТипов("Строка"), "Объект.Товары", "ШК", Ложь));
нРеквизиты.Добавить(Новый РеквизитФормы("ОсновнойПоставщик", Новый ОписаниеТипов("Строка"), "Объект.Товары", "ОсновнойПоставщик", Ложь));
Форма.ИзменитьРеквизиты(нРеквизиты);
нЭлемент = Форма.Элементы.Добавить("ШК", Тип("ПолеФормы"), Форма.Элементы.Товары);
нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
нЭлемент.ПутьКДанным = "Объект.Товары.ШК";
нЭлемент.ТолькоПросмотр = Истина;
нЭлемент = Форма.Элементы.Добавить("ОсновнойПоставщик", Тип("ПолеФормы"), Форма.Элементы.Товары);
нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
нЭлемент.ПутьКДанным = "Объект.Товары.ОсновнойПоставщик";
нЭлемент.ТолькоПросмотр = Истина;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапрос.Штрихкод КАК Штрихкод,
| НоменклатураДополнительныеРеквизиты.Значение КАК ОсновнойПоставщик
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод,
| ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура
| ИЗ
| Товары КАК Товары,
| РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
| ГДЕ
| ШтрихкодыНоменклатуры.Номенклатура В
| (ВЫБРАТЬ
| ТОвары.Номенклатура
| ИЗ
| Товары КАК ТОвары)
|
| СГРУППИРОВАТЬ ПО
| ШтрихкодыНоменклатуры.Номенклатура) КАК ВложенныйЗапрос
| ПО Товары.Номенклатура = ВложенныйЗапрос.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
| ПО Товары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
| И (НоменклатураДополнительныеРеквизиты.Свойство.Имя = ""ОсновнойПоставщик"")
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Запрос.УстановитьПараметр("Товары", Форма.Объект.Товары.Выгрузить(,"НомерСтроки,Номенклатура"));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Форма.Объект.Товары[ВыборкаДетальныеЗаписи.НомерСтроки-1].ШК = ВыборкаДетальныеЗаписи.Штрихкод;
Форма.Объект.Товары[ВыборкаДетальныеЗаписи.НомерСтроки-1].ОсновнойПоставщик = ВыборкаДетальныеЗаписи.ОсновнойПоставщик;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот