Вывод дополнительной колонки в список номенклатуры (Акция)
Добрый день! УТ 11.5
Задача добавить в динамический список номенклатуры программным способом дополнительную колонку (Акция) в которой будет выводится Имя маркетингового мероприятия, и если эта колонка у номенклатуры заполнена то окашивать строку в цвет.
В карточку номенклатуры я успешно вывожу эту информацию таким образом
Но добавить в динамический список номенклатуры программным способом такую колонку и ее заполнять что то не получается..
Буду благодарен за помощь..
Задача добавить в динамический список номенклатуры программным способом дополнительную колонку (Акция) в которой будет выводится Имя маркетингового мероприятия, и если эта колонка у номенклатуры заполнена то окашивать строку в цвет.
В карточку номенклатуры я успешно вывожу эту информацию таким образом
[1C-CODE |
---|
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ | ЦеныНоменклатуры.Период КАК Период, | ЦеныНоменклатуры.Регистратор КАК Регистратор, | ЦеныНоменклатуры.Номенклатура КАК Номенклатура, | ЦеныНоменклатуры.ВидЦены КАК ВидЦены, | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.МаркетинговоеМероприятие КАК МаркетинговоеМероприятие, | ЦеныНоменклатуры.МаркетинговоеМероприятие.ДатаНачала КАК МаркетинговоеМероприятиеДатаНачала, | ЦеныНоменклатуры.МаркетинговоеМероприятие.ДатаОкончания КАК МаркетинговоеМероприятиеДатаОкончания, | ЦеныНоменклатуры.МаркетинговоеМероприятие.Завершено КАК МаркетинговоеМероприятиеЗавершено |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.Номенклатура = &Номенклатура | И НЕ ЦеныНоменклатуры.МаркетинговоеМероприятие.Наименование ЕСТЬ NULL | И &ТекущаяДата МЕЖДУ ЦеныНоменклатуры.МаркетинговоеМероприятие.ДатаНачала И ЦеныНоменклатуры.МаркетинговоеМероприятие.ДатаОкончания | И ЦеныНоменклатуры.МаркетинговоеМероприятие.Завершено = ЛОЖЬ"; Запрос.УстановитьПараметр("Номенклатура",Объект.Ссылка); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ЗначенияМаркетинговоеМероприятие = ВыборкаДетальныеЗаписи.МаркетинговоеМероприятие; ЗначенияРегистратор = ВыборкаДетальныеЗаписи.Регистратор; ЗначенияПериод = ВыборкаДетальныеЗаписи.Период; ЗначенияНоменклатура = ВыборкаДетальныеЗаписи.Номенклатура; ЗначенияАкцияНачало = ВыборкаДетальныеЗаписи.МаркетинговоеМероприятиеДатаНачала; ЗначенияАкцияКонец = ВыборкаДетальныеЗаписи.МаркетинговоеМероприятиеДатаОкончания; КонецЦикла; Если НЕ РезультатЗапроса.Пустой() Тогда НовыйЭлемент = ЭтаФорма.Элементы.Добавить("Акция", Тип("ДекорацияФормы"),ЭтаФорма.Элементы.СтраницаКарточкаНоменклатуры); НовыйЭлемент.Вид = ВидДекорацииФормы.Надпись; НовыйЭлемент.Заголовок = "Акция: "+ ЗначенияМаркетинговоеМероприятие+", Документ: "+ЗначенияРегистратор+", Начало акции: "+ЗначенияАкцияНачало+", Конец акции: "+ЗначенияАкцияКонец; КонецЕсли;[/1C-CODE]]Скрытый текст |
Но добавить в динамический список номенклатуры программным способом такую колонку и ее заполнять что то не получается..
Буду благодарен за помощь..
По теме из базы знаний
- Заметочки про 1С:Предприятие 8 (редакция 22.06.2012)
- Номенклатура и номенклатурные группы в программах 1С
- Рабочее место менеджера по продажам. УТ 11.3, 11.4, ERP 2.4
- Дополнительные колонки Резерв и Свободный остаток в списке номенклатуры для УНФ 1.6
- Менеджер продаж, внешняя обработка для 1С: Бухгалтерии предприятия, редакция 3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
У реквизита формы с типом ДинамическийСписок есть запрос, на основании которого строится список. Ставите произвольный запрос, соединяете основную таблицу номенклатуры с таблицей цен по равенству номенклатуры. Из таблицы цен вытаскиваете поле маркетинговое мероприятие и перетаскиваете его в элементы формы
Раскрасить строки можно условным оформлением динамического списка
Раскрасить строки можно условным оформлением динамического списка
(2) Спасибо за ответ, именно так я и пытался, но ничего не вышло
ПриСозданииНаСервереПосле
СписокНоменклатура.ТекстЗапроса = СтрЗаменить(СписокНоменклатура.ТекстЗапроса, "ВЫБРАТЬ", "ВЫБРАТЬ Ссылка.Акция КАК Акция,");
НоваяКолонкаТаблицы = Элементы.Добавить("СписокНоменклатураАкция", Тип("ПолеФормы"), Элементы.СписокРасширенныйПоискНоменклатура);
НоваяКолонкаТаблицы.ПутьКДанным = "СписокНоменклатура.Акция";
НоваяКолонкаТаблицы.Заголовок = "Акция"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот