|
Пользовательские настройки динамического списка. | ☑ | ||
---|---|---|---|---|
0
_stay true_
24.04.19
✎
12:45
|
Всем привет.
Имеет ЗУП 3.1.9.187. Задача: "подсвечивать" жирным строки в списке документов "отпуска сотрудников"(Т6-а) по условию. В 120 базах :) Зашёл в "Настроить список", указал настройки УО вручную, сохранил настройки в списке. Раскопировал на всех юзеров базы. Работает. Но для 120 баз это делать очень долго. Решил описать настройки компоновки программно используя как образец созданные вручную настройки и сохраниить их в ХранилищеПользовательскихНастроекДинамическихСписков. Код отрабатывает, настройка сохраняется, в списке "Выбрать настройку" появляется. Но когда её выбираешь, ничего не происходит. При нажатии "настроить список" ничего не изменилось и не появилось. Стал разбираться. От "ручной" настройки отличается неким "ИдентификаторомПользовательскойНастройки", по виду похожим на ГУИД. Присвоил в коде. Записал. Выбираю - и ловлю фатал "Невосстановимая ошибка". Стал разбираться - этот идентификатор у всех настроек, созданных вручную одинаковый. Откуда он берется и чего это идентификатор - не понимаю. Кто сталкивался с программным созданием настроек дин.списка с последующей записью в хранилище - поделитесь мудростью. Вот мой г...код Настройки = Новый ПользовательскиеНастройкиКомпоновкиДанных; НоваяНастройка = Настройки.Элементы.Добавить(Тип("УсловноеОформлениеКомпоновкиДанных")); НоваяНастройка.ИдентификаторПользовательскойНастройки = Строка(Новый УникальныйИдентификатор); НовоеУО = НоваяНастройка.Элементы.Добавить(); НовоеУО.ИдентификаторПользовательскойНастройки = НоваяНастройка.ИдентификаторПользовательскойНастройки; НовыйОтборГруппа = НовоеУО.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); НовыйОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; НовыйОтбор = НовыйОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; НовыйОтбор.Использование = Истина; НовыйОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Сотрудники.Отпуск"); НовыйОтбор.ПравоеЗначение = Неопределено; НовыйОтбор = НовыйОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйОтбор.Использование = Истина; НовыйОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Сотрудники.Отпуск.ДокументРассчитан"); НовыйОтбор.ПравоеЗначение = Ложь; Шрифт = Новый Шрифт(, 10, Истина,,, ); НовоеУО.Оформление.УстановитьЗначениеПараметра("Шрифт", Шрифт); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("УдалитьДокументОснование"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Дата"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Комментарий"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("МоментВремени"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Номер"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Организация"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Ответственный"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("ПериодПринадлежности"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("ПометкаУдаления"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Проведен"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Руководитель"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("КраткийСоставДокумента"); НовоеПоле = НовоеУО.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("Ссылка"); ОписаниеНастроекПольз.Представление = "НастройкаСписка"; ОписаниеНастроекПольз.КлючОбъекта = "Документ.ОтпускаСотрудников.Форма.ФормаСписка.Список"; ОписаниеНастроекПольз.Пользователь = "Admin"; ХранилищеПользовательскихНастроекДинамическихСписков.Сохранить(Документ.ОтпускаСотрудников.Форма.ФормаСписка.Список,,Настройки,ОписаниеНастроекПольз,"Admin") |
|||
1
_stay true_
24.04.19
✎
12:54
|
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
|
|||
2
_stay true_
24.04.19
✎
14:13
|
Блин, видимо, не судьба(((
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |