![]() |
|
Помогите отобразить колонку в динамическом списке программно | ☑ | ||
---|---|---|---|---|
0
tciban
06.07.20
✎
15:35
|
Уважаемые коллеги! нужна помощь:
в конфе на поддержке понадобилось добавить пару реквизитов в документ. Теперь надо вывести их в форме списка. В расширении. Добавил в основной конфигурации реквизиты. Добавил в расширение форму списка, в форме добавил обработчик события ПриСозданииНаСервереПосле в нем прописал Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; Колонки появились. Но в них не отображаются значения! Отбор меж тем работает. Добавил реквизиты в расширение - не помогло. Что я делаю не так?! |
|||
1
asady
06.07.20
✎
15:36
|
(0) запрос измени в расширении - в данных динамического списка нет твоих реквизитов
|
|||
2
tciban
06.07.20
✎
15:37
|
(1) Есть! см. строку
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); И отбор работает! |
|||
3
sitex
naïve
06.07.20
✎
15:53
|
(0) Отладчиком смотрел , после выполнения кода ?
|
|||
4
tciban
06.07.20
✎
15:58
|
А что смотреть? Строки в СписокПриПолученииДанныхНаСервереПосле посмотрел, там нет этих данных :(
|
|||
5
tciban
06.07.20
✎
16:01
|
(4) Не, ошибся - есть там.
Строки[45].Значение.Данные.ЧисловойПриоритет 77 Число |
|||
6
tciban
06.07.20
✎
16:01
|
а на экране - нет :(
|
|||
7
asady
06.07.20
✎
16:02
|
(0) конфа? релиз?, платформа?
|
|||
8
tciban
06.07.20
✎
16:04
|
Платформа распоследняя 1С:Предприятие 8.3 (8.3.17.1496)
Чем поможет релиз и конфа - непонятно, но это 1С:ITIL Управление информационными технологиями предприятия. КОРП, редакция 1.2 (1.2.3.3) |
|||
9
sitex
naïve
06.07.20
✎
16:05
|
(6) может Обновить данные на форме
|
|||
10
asady
06.07.20
✎
16:05
|
(0)
после правки текста запроса динамического списка УстановитьСвойстваДинамическогоСписка(Элементы.Список,СвойстваСписка); &НаСервере Процедура УстановитьСвойстваДинамическогоСписка(Список, СтруктураПараметров) Форма = Список.Родитель; ТипУправляемаяФорма = Тип("УправляемаяФорма"); Пока ТипЗнч(Форма) <> ТипУправляемаяФорма Цикл Форма = Форма.Родитель; КонецЦикла; ДинамическийСписок = Форма[Список.ПутьКДанным]; ТекстЗапроса = СтруктураПараметров.ТекстЗапроса; Если Не ПустаяСтрока(ТекстЗапроса) Тогда ДинамическийСписок.ТекстЗапроса = ТекстЗапроса; КонецЕсли; ОсновнаяТаблица = СтруктураПараметров.ОсновнаяТаблица; Если Не ПустаяСтрока(ОсновнаяТаблица) Тогда ДинамическийСписок.ОсновнаяТаблица = ОсновнаяТаблица; КонецЕсли; ДинамическоеСчитываниеДанных = СтруктураПараметров.ДинамическоеСчитываниеДанных; Если ТипЗнч(ДинамическоеСчитываниеДанных) = Тип("Булево") Тогда ДинамическийСписок.ДинамическоеСчитываниеДанных = ДинамическоеСчитываниеДанных; КонецЕсли; КонецПроцедуры |
|||
11
acht
06.07.20
✎
16:06
|
(0) НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи;
|
|||
12
asady
06.07.20
✎
16:07
|
(10)
СвойстваСписка = СтруктураСвойствДинамическогоСписка(); СвойстваСписка.ОсновнаяТаблица = "Документ.itilprofИнциденты"; СвойстваСписка.ДинамическоеСчитываниеДанных = Истина; СвойстваСписка.ТекстЗапроса = ТекстЗапроса; |
|||
13
asady
06.07.20
✎
16:07
|
(10)
&НаСервереБезКонтекста Функция СтруктураСвойствДинамическогоСписка() Возврат Новый Структура("ТекстЗапроса, ОсновнаяТаблица, ДинамическоеСчитываниеДанных"); КонецФункции |
|||
14
tciban
06.07.20
✎
16:08
|
3 варианта... А в статьях что в инете нашел все было просто, так как я и написал изначально :( Буду пробовать сейчас
|
|||
15
asady
06.07.20
✎
16:13
|
(14) какие три варианта?
(10)+(12)+(14) это один код по кусочкам - просто получилось так |
|||
16
tciban
06.07.20
✎
16:14
|
(11) ПолеНадписи и так стоит по умолчанию после Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель);
|
|||
17
tciban
06.07.20
✎
16:14
|
(15) Значит вариант один :)
|
|||
18
asady
06.07.20
✎
16:14
|
(0) это из БСП если не хочешь так то попробуй вызвать код из БСП
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(...) |
|||
19
tciban
06.07.20
✎
16:18
|
Не, не помогло
|
|||
20
asady
06.07.20
✎
16:20
|
(19) выложи сюда ПриСозданииНаСерверепосле -
|
|||
21
tciban
06.07.20
✎
16:23
|
&НаСервере
Процедура ДобавитьКолонкиНаСервере() Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); СтруктураПараметров = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка(); СтруктураПараметров.ТекстЗапроса = Список.ТекстЗапроса; СтруктураПараметров.ОсновнаяТаблица = "Документ.itilprofИнциденты"; СтруктураПараметров.ДинамическоеСчитываниеДанных = Истина; ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, ); НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; КонецПроцедуры &НаСервере Процедура ЦЕВПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) ДобавитьКолонкиНаСервере(); КонецПроцедуры |
|||
22
tciban
06.07.20
✎
16:27
|
Ну и "ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.Список, СтруктураПараметров);" конечно же
|
|||
23
tciban
06.07.20
✎
16:30
|
вот точно что то не хватает в
НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; |
|||
24
tciban
06.07.20
✎
16:41
|
Может с компоновщиком что то сделать надо?
Коллеги! неужели никто такого не делал? Не поверю никак! |
|||
25
hhhh
06.07.20
✎
16:55
|
(23) похоже это не поле ввода, а что-то другое. Почему влруг поле ввода?
|
|||
26
asady
06.07.20
✎
17:01
|
(21) а текст запроса кто менять будет? Пушкин?
|
|||
27
hhhh
06.07.20
✎
17:12
|
(26) поменял же
Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); |
|||
28
asady
06.07.20
✎
17:16
|
(27) вот сдается мне что нет.
выложит тест запроса. |
|||
29
tciban
06.07.20
✎
18:26
|
(28) ну а почему отбор работает если не поменял текст запроса?
|
|||
30
tciban
06.07.20
✎
18:27
|
может с компоновщиком динамического запроса что нибудь надо сделать?
|
|||
31
hhhh
06.07.20
✎
20:32
|
(30) всё-таки попробуйте
НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи; как везде, во всех списках. |
|||
32
tciban
07.07.20
✎
08:56
|
(31) Пробовал - не помогло. И потом я подозреваю что это ограничит возможность сортировки списка.
|
|||
33
acht
07.07.20
✎
09:08
|
(32) Не парь мозг СтрЗаменить. Ты все равно затащил форму в расширение, сделай все по-человечески.
Там скорей всего еще структуру вывода компоновщика поправить надо, чтобы эти твои поля в доступные для выбора попали и т.п. Это все весьма неявно на галочку "Автозаполнение" и конструкции {} в запросе. |
|||
34
tciban
07.07.20
✎
09:11
|
(33) цитата с сайта Павла Чистова (https://expert.chistov.pro/public/1018735/)
"Но для вывода данного реквизита на форму элемента добавлять саму форму в расширение совсем не хотелось. Во-первых добавление (заимствование) формы в расширение может привести к некоторым нежелательным эффектам, которые могут возникнуть после обновления конфигурации. Приведем немного теории. Платформа использует сразу три формы: Форму из основной конфигурации Сохраненную форму Форму из расширения Данные формы взаимодействуют между собой и в результате такого взаимодействия получается Результирующая форма, которую видит пользователь. В ходе взаимодействия указанных форм может возникнуть нежелательная ситуация, например, мы доработали форму в расширении, потом в новом релизе добавились реквизиты и они на форме не отображаются! Более подробно тут. Во-вторых добавление формы в расширение привело бы к автоматическому добавлению всех реквизитов этого объекта и объектов метаданных (соответствующих ссылочным типам реквизитов объекта) в данное расширение, что загромождало бы само расширение и также не желательно. Поэтому возникла задача программного создания элемента формы для добавленного реквизита в самом расширении, этому и посвящена данная публикация." вот поэтому я должен (ТЗ такое) добавить в расширении в форму программно. |
|||
35
acht
07.07.20
✎
09:15
|
(34) Ну ок.
|
|||
36
tciban
07.07.20
✎
09:29
|
Люди!
Памагитя!!! Как сделать то требуемое?! |
|||
37
asady
07.07.20
✎
10:11
|
(36) выложи текст запроса
|
|||
38
tciban
07.07.20
✎
10:18
|
Изначальный текст запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ itilprofИнциденты.Номер, itilprofИнциденты.Дата, itilprofИнциденты.Ссылка, itilprofИнциденты.Наименование, itilprofИнциденты.Организация, itilprofИнциденты.Маршрут, itilprofИнциденты.ТекущийИсполнитель, itilprofИнциденты.Инициатор, itilprofИнциденты.КодЗавершения, itilprofИнциденты.Приоритет, ВЫБОР КОГДА ГОД(itilprofИнциденты.КрайнийСрокУстранения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.КрайнийСрокУстранения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК КрайнийСрокУстранения, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап.Ссылка ЕСТЬ NULL ТОГДА itilprofИнциденты.КодЗавершения ИНАЧЕ itilprofИнциденты.ТекущийЭтап КОНЕЦ КАК ТекущийЭтап, itilprofИнциденты.Статус, itilprofИнциденты.Статус.Порядок, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаСоздания) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаСоздания, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяСоздания, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаЗавершения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаЗавершения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяЗавершения, itilprofИнциденты.Массовый, itilprofИнциденты.Ответственный, itilprofИнциденты.Аналитика1, itilprofИнциденты.Услуга, &ПользовательСеанса КАК ПользовательСеанса, ВЫБОР КОГДА itilprofИнциденты.ТекущийИсполнитель = &ПользовательСеанса И itilprofИнциденты.ТекущийЭтап <> ЗНАЧЕНИЕ(Справочник.itilprofЭтапыМаршрутов.ПустаяСсылка) ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможенПереход, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап = itilprofИнциденты.Маршрут.КонецМаршрута ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможноЗакрытие ИЗ Документ.itilprofИнциденты КАК itilprofИнциденты |
|||
39
tciban
07.07.20
✎
10:19
|
(36) Текст запроса после изменения:
ВЫБРАТЬ РАЗРЕШЕННЫЕ itilprofИнциденты.Номер, itilprofИнциденты.Дата, itilprofИнциденты.Ссылка, itilprofИнциденты.Наименование, itilprofИнциденты.Организация, itilprofИнциденты.Маршрут, itilprofИнциденты.ТекущийИсполнитель, itilprofИнциденты.Инициатор, itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, itilprofИнциденты.Приоритет, ВЫБОР КОГДА ГОД(itilprofИнциденты.КрайнийСрокУстранения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.КрайнийСрокУстранения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК КрайнийСрокУстранения, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап.Ссылка ЕСТЬ NULL ТОГДА itilprofИнциденты.КодЗавершения ИНАЧЕ itilprofИнциденты.ТекущийЭтап КОНЕЦ КАК ТекущийЭтап, itilprofИнциденты.Статус, itilprofИнциденты.Статус.Порядок, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаСоздания) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаСоздания, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяСоздания, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаЗавершения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаЗавершения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяЗавершения, itilprofИнциденты.Массовый, itilprofИнциденты.Ответственный, itilprofИнциденты.Аналитика1, itilprofИнциденты.Услуга, &ПользовательСеанса КАК ПользовательСеанса, ВЫБОР КОГДА itilprofИнциденты.ТекущийИсполнитель = &ПользовательСеанса И itilprofИнциденты.ТекущийЭтап <> ЗНАЧЕНИЕ(Справочник.itilprofЭтапыМаршрутов.ПустаяСсылка) ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможенПереход, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап = itilprofИнциденты.Маршрут.КонецМаршрута ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможноЗакрытие ИЗ Документ.itilprofИнциденты КАК itilprofИнциденты |
|||
40
asady
07.07.20
✎
10:19
|
(38) выкладывай результирующий текст запроса
|
|||
41
tciban
07.07.20
✎
10:22
|
(40) см. (39)
|
|||
42
tciban
07.07.20
✎
10:23
|
См. строку itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок,
|
|||
43
asady
07.07.20
✎
10:31
|
(42)в типовых прокатывает только если в расширении
ПриСозданииНаСервереПеред() - здесь делаем изменение запроса динамического списка ПриСозданииНаСервереПосле() - здесь делаем добавление колонок на форму |
|||
44
tciban
07.07.20
✎
10:33
|
(43) Сейчас попробуем :)
|
|||
45
tciban
07.07.20
✎
10:46
|
не помогло :(
|
|||
46
asady
07.07.20
✎
10:48
|
(45) в отладчике посмотри свойства (текст запроса) динамического списка в событии После()
|
|||
47
tciban
07.07.20
✎
11:16
|
(46) После:
ВЫБРАТЬ РАЗРЕШЕННЫЕ itilprofИнциденты.Номер, itilprofИнциденты.Дата, itilprofИнциденты.Ссылка, itilprofИнциденты.Наименование, itilprofИнциденты.Организация, itilprofИнциденты.Маршрут, itilprofИнциденты.ТекущийИсполнитель, itilprofИнциденты.Инициатор, itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, itilprofИнциденты.Приоритет, ВЫБОР КОГДА ГОД(itilprofИнциденты.КрайнийСрокУстранения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.КрайнийСрокУстранения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК КрайнийСрокУстранения, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап.Ссылка ЕСТЬ NULL ТОГДА itilprofИнциденты.КодЗавершения ИНАЧЕ itilprofИнциденты.ТекущийЭтап КОНЕЦ КАК ТекущийЭтап, itilprofИнциденты.Статус, itilprofИнциденты.Статус.Порядок, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаСоздания) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаСоздания, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяСоздания, ВЫБОР КОГДА ГОД(itilprofИнциденты.ДатаЗавершения) > 1 ТОГДА ДОБАВИТЬКДАТЕ(itilprofИнциденты.ДатаЗавершения, ЧАС, &Смещение) ИНАЧЕ "" КОНЕЦ КАК ДатаИВремяЗавершения, itilprofИнциденты.Массовый, itilprofИнциденты.Ответственный, itilprofИнциденты.Аналитика1, itilprofИнциденты.Услуга, &ПользовательСеанса КАК ПользовательСеанса, ВЫБОР КОГДА itilprofИнциденты.ТекущийИсполнитель = &ПользовательСеанса И itilprofИнциденты.ТекущийЭтап <> ЗНАЧЕНИЕ(Справочник.itilprofЭтапыМаршрутов.ПустаяСсылка) ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможенПереход, ВЫБОР КОГДА itilprofИнциденты.ТекущийЭтап = itilprofИнциденты.Маршрут.КонецМаршрута ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК ВозможноЗакрытие ИЗ Документ.itilprofИнциденты КАК itilprofИнциденты |
|||
48
asady
07.07.20
✎
11:21
|
(0)
новРеквизиты = новый Массив; новРеквизиты.Добавить(новый РеквизитФормы(имяПоля,ОписаниеТипаПоля)); Форма.ИзменитьРеквизиты(новРеквизиты); этого я не увидел у тебя |
|||
49
asady
07.07.20
✎
11:23
|
В твоем случае
новРеквизиты = новый Массив; новРеквизиты.Добавить(новый РеквизитФормы("СписокЧисловойПриоритет",Новый ОписаниеТипов("Число"))); новРеквизиты.Добавить(новый РеквизитФормы("СписокКрайнийСрок",Новый ОписаниеТипов("Дата"))); Форма.ИзменитьРеквизиты(новРеквизиты); |
|||
50
tciban
07.07.20
✎
11:23
|
(48) а это то зачем? Реквизит список уже есть, я туда добавляю новые колонки
НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; |
|||
51
tciban
07.07.20
✎
11:24
|
(50) Так во всех примерах в инете написано
|
|||
52
asady
07.07.20
✎
11:25
|
(51) плохо читал видимо
|
|||
53
tciban
07.07.20
✎
11:26
|
Этот код до или после добавления колонок? или вместо?
|
|||
54
asady
07.07.20
✎
11:27
|
(53) До
|
|||
55
tciban
07.07.20
✎
11:28
|
Вместо Форма что писать? Форма не знает этого, ругается
{РасширениеЦыбань Документ.itilprofИнциденты.Форма.ФормаСписка.Форма(19,2)}: Переменная не определена (Форма) <<?>>Форма.ИзменитьРеквизиты(новРеквизиты); (Проверка: Сервер) ЭтаФорма? |
|||
56
tciban
07.07.20
✎
11:29
|
Вот весь текст модуля
&НаСервере Процедура ДобавитьКолонкиНаСервере() новРеквизиты = новый Массив; новРеквизиты.Добавить(новый РеквизитФормы("СписокЧисловойПриоритет",Новый ОписаниеТипов("Число"))); новРеквизиты.Добавить(новый РеквизитФормы("СписокКрайнийСрок",Новый ОписаниеТипов("Дата"))); ЭтаФорма.ИзменитьРеквизиты(новРеквизиты); НоваяКолонка = Элементы.Вставить("ЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; НоваяКолонка = Элементы.Вставить("КрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; КонецПроцедуры &НаСервере Процедура ЦЕВПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) ДобавитьКолонкиНаСервере(); КонецПроцедуры &НаСервере Процедура ЦЕВПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка) Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); КонецПроцедуры |
|||
57
tciban
07.07.20
✎
11:34
|
И этот код тоже не работает!
|
|||
58
asady
07.07.20
✎
11:41
|
(57)
НоваяКолонка = Элементы.Вставить("СписокЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); |
|||
59
tciban
07.07.20
✎
11:44
|
(58) и это тоже не помогло
|
|||
60
tciban
07.07.20
✎
11:45
|
вот последняя версия кода:
&НаСервере Процедура ДобавитьКолонкиНаСервере() новРеквизиты = новый Массив; новРеквизиты.Добавить(новый РеквизитФормы("СписокЧисловойПриоритет",Новый ОписаниеТипов("Число"))); новРеквизиты.Добавить(новый РеквизитФормы("СписокКрайнийСрок",Новый ОписаниеТипов("Дата"))); ЭтаФорма.ИзменитьРеквизиты(новРеквизиты); НоваяКолонка = Элементы.Вставить("СписокЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи; НоваяКолонка = Элементы.Вставить("СписокКрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи; КонецПроцедуры &НаСервере Процедура ЦЕВПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка) ДобавитьКолонкиНаСервере(); КонецПроцедуры &НаСервере Процедура ЦЕВПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка) Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "itilprofИнциденты.КодЗавершения,", "itilprofИнциденты.КодЗавершения, itilprofИнциденты.ЧисловойПриоритет, itilprofИнциденты.КрайнийСрок, "); КонецПроцедуры |
|||
61
tciban
07.07.20
✎
12:05
|
Кстати, сейчас попробовал такое не в расширении, а прямо в конфигурации - тоже не работает!
|
|||
62
asady
07.07.20
✎
12:18
|
(61) перед полем
Элементы.ТекущийИсполнитель это зачем? уверен что называется так а не СписокТекущийИсполнитель попробуй вообще без него. |
|||
63
tciban
07.07.20
✎
12:22
|
(62) ну вставляет то перед ним :)
|
|||
64
asady
07.07.20
✎
12:24
|
(63) посмотри на форме как называются реквизиты динамического списка -
не сами реквизиты - а их поля на форме: |
|||
65
sitex
naïve
07.07.20
✎
12:29
|
(60) Попробовал прям копипастом этот код на зупе , динам сп. начисления. Запрос только другой. все норм все выводит
|
|||
66
sitex
naïve
07.07.20
✎
12:32
|
(47) А этот запрос ПОСЛЕ точно выводит инфу ?
|
|||
67
tciban
07.07.20
✎
12:34
|
(64) Я смотрел когда с Добавить менял на Вставить.
(66) Я попробовал этот код прямо в конфе, не в расширении - все равно не работает! |
|||
68
sitex
naïve
07.07.20
✎
12:36
|
(67) ТОлько я ЦЕВПриСозданииНаСервереПеред , убрал. все в после засунул.
|
|||
69
sitex
naïve
07.07.20
✎
12:40
|
(67) Не работает это одно. А запрос то сам данные заполненными должен выводить.
|
|||
70
tciban
07.07.20
✎
13:05
|
(69) Посоветуй как и где это посмотреть в отладчике?
|
|||
71
sitex
naïve
07.07.20
✎
13:10
|
(70) Запрос после изменений скопируй, и в какую нить УФ консоль. и увидишь есть там что в твоих колонках или нет.
А так можешь НоваяКолонка.ПутьКДанным = "Список.<сюда любой другое поле вставить>" , и должно вывести. |
|||
72
tciban
07.07.20
✎
13:16
|
(71) Сейас попробую. Но сдается мне в конфе какая то хитрость есть. У всех работает, во всех статьях так как делаю написано, только у меня не работает...
|
|||
73
tciban
07.07.20
✎
14:53
|
(71) Попробовал НоваяКолонка.ПутьКДанным = "Список.<сюда любой другое поле вставить>". Выводит.
|
|||
74
tciban
07.07.20
✎
15:51
|
Йесс!!! Нашел! Не поверите - в исходной форме списка в ПриОткрытии запрос полностью подменялся!!!
Кароче работает все в простейшей форме без всякого шаманства, чисто НоваяКолонка = Элементы.Вставить("СписокЧисловойПриоритет", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.ЧисловойПриоритет"; НоваяКолонка.Заголовок = "Приоритет(Ч)"; НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи; НоваяКолонка = Элементы.Вставить("СписокКрайнийСрок", Тип("ПолеФормы"), Элементы.Список, Элементы.ТекущийИсполнитель); НоваяКолонка.ПутьКДанным = "Список.КрайнийСрок"; НоваяКолонка.Заголовок = "Крайний срок"; НоваяКолонка.Вид = ВидПоляФормы.ПолеНадписи; просто в расширении сделал изменение запроса в ПриОткрытииПосле |
|||
75
tciban
07.07.20
✎
16:04
|
Всем принявшим участие - огромное спасибо!!!
Вы - лучшие! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |