Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программно создать элементы на управляемой форме (отчет на СКД)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
uri
Всем доброго дня!
Предположим есть отчет на СКД, без своей формы, добавив в параметрах схемы компонови данных СтандартныйПериод, в настройках поставим птичку "включать в пользовательские настройки" с быстрым доступом - нам система автоматически сгенерирует форму с соответствующим периодом отбора, ну и еще если будут какие-то отборы, то так же добавит. Вопрос в том, можно ли "вклиниться" и как-то по своему программно вывести эти поля отбора на форму, к примеру, чтобы выводить для пользователя не стандартный период выбора интервала дат, а свой. Ну или может при выборе как-то можно вызвать свою обработку, скажем когда пользователь кликнет на выбор периода в параметрах СКД на форме?
Vofka
uri, сделайте свою форму, разместите на ней нужные поля (параметры), после чего программно поработайте с СКД. На форуме можно найти примеры программной работы с СКД.
uri
Да, так вроде понятно, и инфа есть по программной работе с СКД думаю разберусь, а вот если не добавлять поля на форму и не создавать свою форму, а именно "вклиниться" в тот момент когда форма гененируется системой на основе СКД и вывести элементы программно, ну или уже после отследить какое поле пользователь выбрал и в зависимости от эотого вызвать к примеру обработку. Задача вообще стоит так, чтобы если есть в параметрах СКД СтандартныйПериод, то при выборе пользователем периода, вызывался не стандартный вариант выбора периода, а свой, разработанный, более удобный и красивый для пользователя. Для обычных отчетов оно понятно, на кнопку навесил вызов обработки или общей формы со-своим красивым календариком, потом присвоил значения ДатеНач и ДатеКон, а вот ка быть с СКД, к тому же если не хочется создавать свою форму.
Vofka
Я лично не знаю способа, как можно было бы вклиниться в генерацию формы.
uri
Сейчас вот смотрю УТ 11 Российскую, там в отчетах на СКД есть свой вариант выбора СтандартногоПериода. В отчетах на СКД своей формы нет, есть общая форма "ФормаОтчета", но она тоже пустая (на саму форму ничего не выносится), в общем походу программно они создают все элементы формы на основе КомпоновщикаНастроекКомпоновкиДанных - блин, так там киллометры кода...smile.gif
Vofka
Цитата(uri @ 16.09.15, 18:40) необходимо зарегистрироваться для просмотра ссылки
там в отчетах на СКД есть свой вариант выбора СтандартногоПериода

А какой конкретно отчет? И можете показать скрин что там за вариант выбора?
Petre
Есть какая-то специфика? Я тоже в свое время на 8.2 делал свой вариант выбора стандартного периода с блекджеком, но после перехода на 8.3 стандартный вариант вполне удовлетворил пользователей, хоть и был намного скромнее моего.
uri
Vofka, без разницы какой отчет - все отчеты, которые на СКД и имеют стандартный период, вот пару скринов с первого попавшегося "Анализ денежных потоков":


 ! 

правила, пункт 11
 


Petre, да специфики нет, есть самописная конфа, в ней есть своя обработка с календариком, компактная/привычная и везде используется в отчетах, где есть выбор периода и что не на скд, а вот как прикрутить ее к тем отчетам, что на СКД, вместо стандартного периода, вот как ее туда прикрутить, Petre?smile.gif Ну скажем для унификации выбора периода, чтобы был он как у всех отчетах (хоть на СКД, хоть нет).
Petre
Если нет возможности / готовности от нее отказаться, то только рисовать форму. Иного способа не знаю...
uri
Формы управляемые, вот что я привел пример из УТ 11, так там используется общая форма "ФормаОтчетов" - так она пустая, ничего на нее не вынесено, все заполняется походу программно. Но это ж надо как-то вначале "выкрутить" smile.gif стандартный период из формы (до ее открытия), а на его место программно "вкрутить" smile.gif свое поле с обработчиком вызова этой обработки, хз как это реально, но сделали ж - значит реально.
Petre
Зачем? Сделать параметр недоступным (чтобы не выводился на форму), а вместо него вывести свой. При изменении программно заполнить этот параметр.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.