Программное добавление доступных полей выбора СКД #563887


#0 by 1stypen
нашел такую тему, но её так видимо и не решили v8: Как добавить Вычисляемое поле СКД на Тонком Клиенте? У меня подобная проблема. Делаю отчет на СКД. В качестве набора данных есть внешний объект. Поля не описаны, т.к. формируются динамически. ПриКомпоновкеРезультата в модуле отчета формирую этот внешний   источник(обычная таблица) - добавляю его колонки как поля в СКД, в выбор настройкиКД тоже их добавляю - инициализирую отчет - выводится всё отлично НО эти поля не попадают в доступные для выбора - в итоге пользователь не может их добавить никуда, т.к. не видит их при изменении варианта. И так же не видно что этим колонкам сопаставлено поле СКД - красный крестик вводится. Хотя все данные выводятся правильные Подскажите, пожалуйста, как добавить эти поля в доступные для выбора. Програмно эта коллекция только на чтение, а при формировании таблицы консткрукции {} использовать бесполезно
#1 by 1stypen
#2 by Паучог
А может быть нужно КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Перед тем как в него добавлять выбранные поля?
#3 by 1stypen
При инициализации в компоновщик настроек в доступные полях добавляются эти поля. Но при изменении варианта пользователь их не видит всё равно. Я даже пытался делать свой компановщик настроек - не помогало. Может компоновать надо как то по хитрому Наверное нужно было задавать вопрос "чтобы пользователь видел", а в настройке в доступных поля выбора они есть, если в отладчике смотреть.
#4 by 1stypen
это делать не обязательно - это я чтоб хоть увидеть эти данные - главное чтоб юзер их смог выбрать потом в настройке варианта
#5 by GANR
Прямого ответа у меня нет. Даю подсказку, как отладить СКД:    #Если ТолстыйКлиентУправляемоеПриложение Тогда Потом открытую схему копируем в консоль и правим, в консоли можно посмотреть как схема исправленная "ручками" выглядит в окнах отладчика. Только так и можно отладить отчеты на СКД. Как по-другому - не представляю.
#6 by 1stypen
у меня управляемое приложение - только тонкий клиент - нет толстого клиента(
#7 by GANR
Так отлаживать, вроде, можно в разных режимах ??? Добейся чтоб был толстый ))). Эта штука только под толстым и работает.
#8 by 1stypen
Дык вить пользователи будут поля то выбирать, а у них тонкий) будем искать(
#9 by GANR
Толстый клиент нужен исключительно для отладки. Отладил - и работай себе под тонким когда всё налажено.
#10 by 1stypen
Конструктор тоже результатов не дал - он тоже не показывает те поля, которые я добавил руками - он показывает только те поля, которые были обозначены в СКД изначально
#11 by GANR
Вероятно, программа в коде затерла настройки, которые были внесены руками и переформировала всё заново. С свойстве "Структура", вроде отображаются настройки, добавленные руками.
#12 by GANR
ЛЮБОЕ действие с СКД, которое можно выполнить руками, можно выполнить и программно
#13 by 1stypen
"ЛЮБОЕ действие с СКД, которое можно выполнить руками, можно выполнить и программно" - это бесспорно. Но пользователь пока руками то ничего не делал))) ПриКомпоновкеРезультата програмно эти поля внесены как в СКД, потом после инициализации настроек эти поля попали так и в доступные поля для выбора. Я в отладчике их вижу везде. После КомпоновщикМакета.Выполнить - они есть После ПроцессорКомпоновкиДанных.Инициализировать - они есть После ПроцессорВывода.Вывести - они тоже есть А когда пользователь редактирует вариант - их нет. Где они перетерлись програмно?
#14 by GANR
А вот так можно ещё и настройки сохранить    #Если ТолстыйКлиентУправляемоеПриложение ИЛИ ТолстыйКлиентОбычноеПриложение Тогда
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С