Отчет на СКД с параметрами на форме

19.12.11

Разработка - СКД

Как вынести на форму параметры отчета, сделанного на СКД

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Отчет на СКД с параметрами на форме
.erf 10,94Kb
451
451 Скачать (1 SM) Купить за 1 850 руб.

Как добавить параметр для отчета на форму, созданного на СКД? Чтобы было, как например в оборотно-сальдовой ведомости, выбор начала и окончания периода и, например, организации. В свое время, долгое время поисков не увенчалось успехом. После небольшого перерыва в разработке на 1С, попытки найти что-либо подобное, опять же не увенчались успехом. На форумах находил только стандартный код построителя отчета. Конечно, можно изменить и его, но для несложного отчета, когда требуется для удобства пользователя просто вынести реквизиты на форму, чтобы не залезать каждый раз в настройки отчета, менять стандартный код не требуется. Нужно только внести небольшие коррективы. Ниже, привожу текст кода:

Процедура ДатаНачПриИзменении(Элемент)
       ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
       ПараметрДатаНач.Использование = Истина;
       ПараметрДатаНач.Значение  = НачалоДня(ДатаНач);
КонецПроцедуры

Писать в модуле формы, в обработчике ПриИзменении элемента. В примере - элемент "Начало периода".
В принципе, это все. Как дополнение, можно сделать еще обработчик ПередОткрытием формы, куда записать следующий код для открытия отчета уже с предустановленными параметрами:

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

Значение параметров ДатаНач, ДатаКон и Организация для этой процедуры нужно определить отдельно.

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159428    872    399    

861

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    8684    implecs_team    6    

47

Инструментарий разработчика СКД Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

По выбранной схеме компоновки данных генерирует программный код, который генерирует СКД, аналогичную исходной схеме. Есть дополнительные инструменты для просмотра дерева схемы, сравнение исходной схемы и полученной по коду, а также сравнение изменений в сгенерированном коде для исходной схемы и для измененной.

3 стартмани

05.02.2024    6996    56    obmailok    21    

79

Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    3148    5    Yashazz    1    

34

СКД WEB-интеграция Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    10804    23    John_d    25    

124

СКД Программист Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Рассмотрим еще не получивший широкого распространения способ работы с внешними данным в СКД. В процессе обсуждения работы с СКД выяснилось, что многие не знакомы со способом помещения туда временной таблицы, полученной предварительно. Статья будет полезна разработчикам, знакомым с программным созданием СКД.

05.12.2023    8017    PROSTO-1C    15    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Armando 1401 19.12.11 22:37 Сейчас в теме
2. Поручик 4692 20.12.11 01:18 Сейчас в теме
(1) Честно говоря, не понял в чём были затруднения у автора. Вещь довольно простая, делается после небольшого изучения свойств и методов СКД.
Spartan; artbear; +2 Ответить
4. Armando 1401 20.12.11 09:06 Сейчас в теме
(2) Если честно, то я просто отшутился) Вообще не понимаю, зачем из этого делать отдельную публикацию?
55. elzetto 17.01.19 03:47 Сейчас в теме
(4)
(27)В целом лучше книжки читать перед тем как лезть и что - то делать))) а по сути ломать))
3. Модератор раздела 20.12.11 08:50 Сейчас в теме
Баян и слишком просто :)
5. Spartan 365 20.12.11 09:22 Сейчас в теме
Присоединяюсь к высказываниям выше. Ну и если уж на то пошло: при изменении параметров через настройки, они должны заполняться и в основной форме, а в публикации описан только обратный процесс.
6. DERL 20.12.11 09:24 Сейчас в теме
Armando пишет:
Если честно, то я просто отшутился) Вообще не понимаю, зачем из этого делать отдельную публикацию?

эта публикация как документация для начинающих программистов...
Автор молодец поддерживаю! плюсик заработал!
marat.coolls; Nikola_N; stjucha1109; Maero; Filkkore; Jane1508; Sashok_555; Prad2002; daark; user1238440; Deslime; Aggressorak; PSKMOL; user916115; mark_oilbass; Lena272; user843079; avadmark; +18 Ответить
7. Поручик 4692 20.12.11 10:27 Сейчас в теме
(6) Документация для начинающих программистов - это ЖКК или "Хрусталева Е.Ю. Разработка сложных отчетов в 1С Предприятии 8. Система компоновки данных", а не мелкие статейки в интернетах.
user1238440; kuza_87; CaSH_2004; +3 Ответить
10. veyron21 134 20.12.11 10:36 Сейчас в теме
(7) Поручик, Согласен, что у Хрусталевой описано все отлично, понятным языком и все такое. Но во-первых, под рукой у новичков ее учебник есть не всегда, а во-вторых про данную тему у нее написано довольно расплывчато. Надо дополнительно разбираться в особенностях синтаксиса компоновщика настроек как минимум.
baranchikov; Maero; CratosX; +3 Ответить
8. veyron21 134 20.12.11 10:27 Сейчас в теме
Да, я согласен, что это простое решение. Однако для начинающих программистов такая задачка может стать серьезным камнем преткновения при разработке отчета на СКД. Проверял лично со своими новичками)))
baranchikov; Maero; Volchock; +3 Ответить
9. DERL 20.12.11 10:34 Сейчас в теме
Поручик пишет:
Документация для начинающих программистов - это ЖКК или "Хрусталева Е.Ю. Разработка сложных отчетов в 1С Предприятии 8. Система компоновки данных", а не мелкие статейки в интернетах.

хоть это и простенькая статейка, но в подобных статьях иногда найдешь то, что не пишут Хрусталевы и прочие авторы ИМХО...
baranchikov; +1 Ответить
23. McCoy77 6 22.12.11 10:15 Сейчас в теме
(9) у Хрусталевой как раз это подробно описано
11. O-lesya 20.12.11 14:41 Сейчас в теме
Большое спасибо автору ! Действительно для начинающих программистов -очень нужная вещь.Несколько дней на это убила,а все оказывается очень даже просто.Еще раз спасибо veyron21.
12. Новиков 292 20.12.11 17:49 Сейчас в теме
Мне кажется, нужно в настройках темы ставить некий тэг - новенький. Они тоже люди, и мы ими все были - но многие, например, это не хотят читать. И это, кстати, тоже понятно.

В любом случае, автор - молодец.
13. echo77 1906 20.12.11 18:46 Сейчас в теме
Только сегодня такое делал - все просто - разыменовываем КомпоновщикНастроек, ну и отладчик наше все.

Автор, так же попробуйте на форме разместить табличное поле и в качестве источника данных указать КомпоновщикНастроек.Настройки.Отбор
baracuda; HelenKov; maestro_; McCoy77; +4 Ответить
14. babylon_5 55 20.12.11 21:43 Сейчас в теме
echo77 пишет:
Автор, так же попробуйте на форме разместить табличное поле и в качестве источника данных указать КомпоновщикНастроек.Настройки.Отбор


Ну зачем же так жестко-то?
freeek; artmicro; Valerich; +3 Ответить
15. pt_olga 61 20.12.11 21:53 Сейчас в теме
откровение походу для тех, кто работает с СКД первый день)))
Автор, у Вас еще море открытий впереди!
16. php5 28 21.12.11 00:09 Сейчас в теме
Для новичков СКД отличный материал!
17. Alexez 75 21.12.11 09:11 Сейчас в теме
Отлично на основе данного отчета можно сделать что то свой, отличный шаблон который позволяет экономить время. Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!Спасибо!
18. DragonAgo 16 21.12.11 10:55 Сейчас в теме
Для новичков как раз полезен данный материал!
19. V.Nikonov 120 21.12.11 12:20 Сейчас в теме
Хотя, для полноты статьи не мешало бы её подредактировать. Добавить примеры размещения других типов данных параметров, мотивация по размещению и т.п. Тогда получился бы полноценный обзор для начинающих... Ведь многие новички сохраняют подобные странички, как "Полезные советы".

Плюсик - Авансом.
eksdak; McCoy77; +2 Ответить
20. no_registration 21.12.11 19:11 Сейчас в теме
21. extrim-style 7 21.12.11 19:58 Сейчас в теме
22. McCoy77 6 22.12.11 10:14 Сейчас в теме
А просто вывести параметры СКД в форму разве не проще? И ни одной строчки кода не требуется. ИМХО начинающим программистам нужно давать оптимальное решение.
Прикрепленные файлы:
Kuzya_brаtsk; veyron21; +2 Ответить
25. Meson 23.12.11 09:32 Сейчас в теме
У кого нет времени изучать Хрусталеву, то статья как раз для них.
(22) Если просто выводить параметры СКД на форму, ИМХО, как то это криво выглядит. Часто лучше вручную их вывести.
Как вариант можно использовать управляемые формы.
27. McCoy77 6 23.12.11 12:36 Сейчас в теме
(25) Времени читать Хрусталеву нет, а время заниматься псевдонаписательством получается есть? Когда можно за 10 сек вынести настройки на форму? :) Нелогично. Ну как общая информация по работе с настройками - статья полезная конечно, как предложение к реализации выноски параметров на форму - только вред для начинающих. По себе знаю: начнут параметры вручную на форме размещать по одному, писать тонну кода для обработки событий. Можно конечно, но не оптимально. А насчет "криво выглядит"... дело привычки наверное. Насчет УП согласен. НО! Придется опять же книжки читать ;)
30. babylon_5 55 15.01.12 00:58 Сейчас в теме
(25) А если все-таки почитать Хрусталеву... Таких "открытий" (да и заметок тоже) можно не один десяток сделать. Так что лучше таки найти время...
36. kredko 20 20.07.12 05:54 Сейчас в теме
(25) Meson, Странно. В каком месте там криво выходит?
37. Meson 20.07.12 19:23 Сейчас в теме
(36) kredko, в управляемых формах, проще, лучше, красивее )))
24. pasha_d 10 23.12.11 08:37 Сейчас в теме
Для тех, кто только разбирается с СКД - данная обработка будет очень-очень полезна)
26. Mshaydurov 2 23.12.11 10:24 Сейчас в теме
Управляемые формы не всегда можно использовать, но вот публикацию ради такого кода действительно не стал бы делать
28. MICK77 15 28.12.11 00:12 Сейчас в теме
McCoy77 пишет:
А просто вывести параметры СКД в форму разве не проще? И ни одной строчки кода не требуется. ИМХО начинающим программистам нужно давать оптимальное решение.


Оптимальное, но не всем пользователям это нравиться. Особенно тем кто перешел с 7.7, а этот вариант очень даже удобен. Автору+
29. Созинов 29.12.11 14:51 Сейчас в теме
Честно говоря, не понял в чём были затруднения у автора. Вещь довольно простая, делается после небольшого изучения свойств и методов СКД.

Для начинающих иногда полезно, хотя можно и хрусталеву почитать, там все понятно расписано
Оптимальное, но не всем пользователям это нравиться. Особенно тем кто перешел с 7.7, а этот вариант очень даже удобен. Автору+

Полностью согласен.
Olga_130772; +1 Ответить
31. chikov 17.01.12 16:25 Сейчас в теме
Думаю, все-таки полезнее книжку почитать...
32. Attest 3 01.03.12 20:27 Сейчас в теме
Хочется скачать этот отчет! И побыстрее им воспользоваться. Автору по любому плюс. Новичкам любая информация полезна. Вот узнал что нужно почитать Хрусталеву!
Как добавить параметр для отчета на форму, созданного на СКД? Чтобы было, как например в оборотно-сальдовой ведомости, выбор начала и окончания периода и, например, организации. В свое время, долгое время поисков не увенчалось успехом. После небольшого перерыва в разработке на 1С, попытки найти что-либо подобное, опять же не увенчались успехом. На форумах находил только стандартный код построителя отчета. Конечно, можно изменить и его, но для несложного отчета, когда требуется для удобства пользователя просто вынести реквизиты на форму, чтобы не залезать каждый раз в настройки отчета, менять стандартный код не требуется. Нужно только внести небольшие коррективы.
33. echo77 1906 01.03.12 21:26 Сейчас в теме
ИМХО, отчет на СКД лучше создавать из шаблона типового отчета - что это такое можно почитать на ИТС в разделе Методическая поддержка\8.1\демонстрационные конфигурации\...
34. ov1 30.06.12 19:55 Сейчас в теме
не работает в бухгалтерии предприятия 2.0.36.4
35. glek 120 12.07.12 17:15 Сейчас в теме
А шаблон типового отчета на ИТС-е уже не подходит?
38. zhenia74 21.07.12 21:05 Сейчас в теме
очень просто дорабатайте формирование отчета через скд программными средставами и там легко можете установить свои параметры
39. electronik 30.07.12 11:01 Сейчас в теме
Автору спасибо то что искал. Ато все както не получалось и не получалось. Как почитал разобрался сразу все заработало. Так держать продолжайте в том же духе.
40. Serge_ASB 05.07.13 11:12 Сейчас в теме
есть отчет в СКД.
требуется программно (из настроек или элементов формы (переключатель) менять один параметр в условии:
41. Serge_ASB 05.07.13 11:23 Сейчас в теме
есть отчет в СКД.
требуется программно (из настроек или элементов формы (переключатель) менять один параметр в условии:
в оригинале
ГДЕ
	ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.ВремяНачала >= &НачалоПериода
	И ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.ВремяНачала <= &КонецПериода
	И ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Проведен
	И (ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника <> 2
			ИЛИ ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор = &Пустойдог)


условие
ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника <> 2

нужно по-возможности менять программно на
ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника = 2


в отчетах "не СКД" это делалось разрывом текста и проверкой условия:
Если ЭлементыФормы.ВидТехники=2 Тогда
Запрос.Текст=Запрос.Текст+"
| ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника = 2";
иначе
Запрос.Текст=Запрос.Текст+"
| ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника <> 2";
конецЕсли;

Как такое реализовать в запросе СКД?
42. veyron21 134 05.07.13 12:29 Сейчас в теме
(41) Serge_ASB, Я не видел целиком ваш запрос, но я бы сделал такое следующим образом. В текст условия внести параметр с типом Булево, который будет переключать условие в самом запросе на то, которое вам нужно.
Текст условия запросе изначально будет выглядеть так:
<текст запроса>,
ГДЕ ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника = 2

Вы же меняете условие на такое:
Выбор Когда &Переключатель = Истина Тогда
     ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника = 2
Иначе 
     ОтчетоИспользованияСтороннегоАвтотраспортаМаршрут.Ссылка.Договор.Техника <> 2
Конец

этот код вставьте в конструктор в поле "Условие". Параметр "переключатель" вынесите в СКД на форму через "Включать в пользовательские поля" и тогда ваш пользователь будет сам выбирать, какое условие ему задать.
Если что-то непонятно - пишите. Буду рад помочь.
Serge_ASB; +1 Ответить
43. Serge_ASB 05.07.13 12:57 Сейчас в теме
(42)
Включать в пользовательские поля - это где?
45. veyron21 134 05.07.13 15:21 Сейчас в теме
(43) Serge_ASB, Это для управляемых форм. В конструкторе СКД на вкладке "Настройки отчета" правой кнопки мыши по параметру или по элементу отбора (отборы на вкладке "отбор"). И выбрать -> Свойство элемента пользовательских настроек и поставить галку "Включать в пользовательские поля". Если галка стоит, поле появится на форме отчета в верхней части автоматически. Работает в 8.2 в управляемом и обычном приложении , но отчет тогда должен быть на управляемой форме.
51. M.Nikitin 2 20.10.15 16:27 Сейчас в теме
(45) спасибо за пример -но как сделать, чтобы можно было не обязательно заполнять параметр - не выбрали организацию- получили данные по всем организациям ?
52. veyron21 134 22.10.15 11:03 Сейчас в теме
(51) M.Nikitin, Это делать уже сложнее. В СКД на последней вкладке, где настраиваются группировки и выводимые поля в отчет, внизу есть раздел "Отборы". Там, собственно, можно выбрать поля, по которым будет устанавливаться отбор. Вот только как их вывести на обычную форму сейчас уже не подскажу((( Уже давно работаю с управляемыми, а там это все автоматически ставится.
56. AlexO 135 09.04.20 22:04 Сейчас в теме
(45)
Если галка стоит, поле появится на форме отчета в верхней части автоматически

Нет, не появится. Нужно еще выбрать "Режим редактирования -> Быстрый доступ".
44. Serge_ASB 05.07.13 14:38 Сейчас в теме
Сделал именно так (42)
Кроме этого, промучался с выносом параметра на форму.
Решил добавлением элемента управления "Флажок" и
указанием в процедуре обработки "ПриИзменении", как было описано здесь:
http://forum.infostart.ru/forum14/topic53460/message589473/#message589473
46. ITEkb 05.05.15 10:18 Сейчас в теме
Желающих отправить к Хрусталевой полно.
И ни одного желающего поделиться своим, более правильным примером решения.
Тоже давно не пользовался параметрами компоновки, пришлось заехать домой за книжкой.
Надо разбираться, у меня несколько вариантов отчета, и еще и реквизиты по правам разделены.
Нужно более гибкое решение.
47. baracuda 2 15.05.15 14:48 Сейчас в теме
Простите великодушно, и где же Ваш, КомпоновщикНастроек.Настройки.Отбор???
Пытаюсь сделать подобный отчет, но столкнулся с трудностями.
Прикрепленные файлы:
48. baracuda 2 15.05.15 15:50 Сейчас в теме
Ссори погорячился. Все получилось, только компановщик в свойствах появляется только после добавления на форму.
Все окей.
49. dimongik 26.06.15 15:14 Сейчас в теме
Спасибо за статью! Мне, как начинающему, очень даже помогла!
50. tmixsam 56 02.10.15 09:54 Сейчас в теме
Спасибо очень пригодилось. Просто и доступно.
53. UserPro 4 03.07.16 03:34 Сейчас в теме
54. MidoMido 29.07.16 14:23 Сейчас в теме
Спасибо автору. Для кого то просто, а кому то помогает)
deutsch2008; +1 Ответить
57. Cvetic 307 01.03.22 16:20 Сейчас в теме
Только сегодня столкнулась с обычными формами и ни как не получалось разместить параметры СКД на форме. Статья помогла.
Автору спасибо!
(22) Если просто выводить параметры СКД на форму, то для пользователя очень не удобно получается. Вариант автора лучше.
58. prog2019 48 04.12.23 11:40 Сейчас в теме
Настройки вверху гораздо удобнее.
Хорошая статья.
Оставьте свое сообщение