Не могу отобразить колонку в динамическом списке программно

1. Tciban 07.07.20 09:58 Сейчас в теме
Уважаемые коллеги! нужна помощь:
в конфе на поддержке понадобилось добавить пару реквизитов в документ. Теперь надо вывести их в форме списка. В расширении.
Добавил в основной конфигурации реквизиты. Добавил в расширение форму списка, в форме добавил обработчик события
ПриСозданииНаСервереПосле

в нем прописал
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, ");

НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет";
НоваяКолонка.Заголовок = "Приоритет(Ч)";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;

НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок";
НоваяКолонка.Заголовок = "Крайний срок";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;

Колонки появились. Но в них не отображаются значения! Отбор меж тем работает. Добавил реквизиты в расширение - не помогло. Что я делаю не так?!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. dandykry 9 07.07.20 10:41 Сейчас в теме
(1)
НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок";


НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи;
Прикрепленные файлы:
ВнешняяОбработка1.epf
5. Tciban 07.07.20 11:38 Сейчас в теме
(3) Я примерно так и делаю, ВидПоляФормы.ПолеНадписи я пробовал прописать, хотя это стоит и так по умолчанию после выполнения Элементы.Добавить(

Вот еще раз кусок моего кода

Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, ");

НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет";
НоваяКолонка.Заголовок = "Приоритет(Ч)";
НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи ;
6. dandykry 9 07.07.20 11:43 Сейчас в теме
(5) А почему Вставить а не Добавить?

Элементы.ТекущийИсполнитель это что такое?

ВсеЭлементыФормы (FormAllItems)
Вставить (Insert)
Синтаксис:
Вставить(<Имя>, <ТипЭлемента>, <Родитель>, <Элемент>)
7. Tciban 07.07.20 11:49 Сейчас в теме
(6) Я сначала делал через Добавить, вставить - это что бы колонки были в начале списка, что бы сразу видеть результат. Элементы.ТекущийИсполнитель это колонка перед которой вставляем
8. dandykry 9 07.07.20 11:54 Сейчас в теме
(7) Должно работать.
Попробуй ради теста тоже самое дописать в конфигурации. Может расширение виновато.
9. Tciban 07.07.20 11:57 Сейчас в теме
(8) я подумываю об этом тесте. Но если расширение виновато, то что же мне делать?!
11. dandykry 9 07.07.20 13:39 Сейчас в теме
(9) Добавлять в расширение все, что участвует в запросе ДС
13. Tciban 07.07.20 13:53 Сейчас в теме
(8) Попробовал в конфигурации. Все не работает так же. Теперь думаю как мне форму списка снова поставить на поддержку...
2. AlexandrSmith 69 07.07.20 10:40 Сейчас в теме
Позвольте вас побеспокоить вопросом:
В динамическом списке, точно существует ваша колонка?
Очень похоже на то, что колонку вы выводите, а в запросе динамического списка колонку не вывели? Может быть такое? Или все таки вывели и это глюк 1С? Как стоит задача? В чем реально вы не находите работоспособности формы?
4. Tciban 07.07.20 11:31 Сейчас в теме
(2) Я добавляю в запрос желаемое. Колонка видимо есть, т.к. отбор работает. Как еще проверить - я не знаю.

Задача стоит так - в расширении сделать вывод добавленных реквизитов в список документов.

В форме колонки вижу, но они пустые.
10. karamazoff 96 07.07.20 12:25 Сейчас в теме
А зачем вы вообще это делаете программно? В расширении в форме списка открываете конструктором запрос динамического списка, добавляете туда что надо, затем с левой стороны из полей динамического списка перетаскиваете мышью ваши поля на форму списка...
12. dandykry 9 07.07.20 13:43 Сейчас в теме
(10) Думаю это вопрос дальнейшей поддержки. Проще, когда форма не изменена "руками", потому что при существенном изменении формы расширение может не подключиться. Тогда приходится ее снова делать заново, что не сильно отличается от просто дописать конфигурацию со всеми "человеческими факторами". Отличается только тем, что при обновлении изменения видны, если они в конфигурации, а с расширением всегда обнаруживается постфактум. Иногда это не замечается, что приводит к неприятным моментам.
14. karamazoff 96 07.07.20 14:56 Сейчас в теме
(12)ну, тут хозяин барин, я как раз считаю что, в частности, программное изменение текста запроса это запутывание кода, запрос должен нормально открываться в конструкторе, имхо, не настаиваю
dandykry; +1 Ответить
15. dandykry 9 07.07.20 15:06 Сейчас в теме
(14) Верно. Так-то и схема запроса есть - ей проще менять сложный текст. запроса To each his own )
16. Tciban 07.07.20 15:52 Сейчас в теме
Йесс!!! Нашел! Не поверите - в исходной форме списка в ПриОткрытии запрос полностью подменялся!!!

Кароче работает все в простейшей форме без всякого шаманства,

чисто
НоваяКолонка = Элементы.Вставить("СписокЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет";
НоваяКолонка.Заголовок = "Приоритет(Ч)";
НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи;

НоваяКолонка = Элементы.Вставить("СписокКрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок";
НоваяКолонка.Заголовок = "Крайний срок";
НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи;

просто в расширении сделал изменение запроса в ПриОткрытииПосле
17. Hot_Serg 5 09.12.20 23:27 Сейчас в теме
(16) Здравствуйте! Можете подсказать, это сработало в процедуре &НаКлиенте ?
18. Tciban 22.01.21 09:50 Сейчас в теме
да. Вся проблема была в другом.
Оставьте свое сообщение

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