«Программное заполнение настроек СКД» или «Как сделать отчёт на СКД с понятным для пользователя интерфейсом». (1С: Предприятие 8.1, 8.2 обычное приложение)

Публикация № 154236

Разработка - Практика программирования

В настоящее время большинство отчётов пишется с использованием системы компоновки данных. Это удобно для разработчика, но не всегда удобно для пользователя. Чаще всего у пользователя нет ни времени, ни желания разбираться во всех широких возможностях отчёта, ему просто хочется видеть нужные ему настройки на форме и быстро получить желаемый результат. В данной статье я хочу привести пример, как можно вынести на форму настройки системы компоновки данных и программно сформировать отчёт на основе этих настроек.

  Когда впервые столкнулась с подобным требованием пользователя пришлось потратить немало времени на изучение вопроса.. Надеюсь, что моя статья окажется полезной и сэкономит кому-нибудь время и силы.

  Пример  программного заполнения настроек построю на основе отчёта по оборотному регистру накопления Продажи с измерениями: Контрагент, Номенклатура и ресурсами: Количество и Сумма.

Создание отчёта и настройка схемы компоновки данных.

    Итак. Создаём новый отчёт. Открываем схему компоновки данных и добавляем новый набор данных запрос. В окне запроса пишем следующий запрос:

ВЫБРАТЬ

                        ПродажиОбороты.Регистратор,

                        ПродажиОбороты.Контрагент,

                        ПродажиОбороты.Номенклатура,

                        ПродажиОбороты.СуммаОборот,

                        ПродажиОбороты.КоличествоОборот

ИЗ

                        РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты

 

    На закладке «Ресурсы» указываем в качестве ресурсов поля КоличествоОборот и СуммаОборот.

    На закладке «Параметры» добавим новый параметр «Период» типа СтандартныйПериод. Для параметра «НачалоПериода» в качестве выражения укажем следующее значение:  &Период.ДатаНачала, для параметра «КонецПериода» - &Период.ДатаОкончания. Таким образом, мы избавим себя от приведения даты окончания к концу дня и установки каждого параметра в отдельности. Настройку структуры отчёта мы не делаем. Она будет сформирована программно.

На этом настройка схемы компоновки закончена. Переходим к настройке интерфейса.

 

Настройка пользовательского интерфейса.

    Вначале создадим реквизиты отчёта. Они понадобятся нам при создании интерфейса и дальнейшей программной обработке указанных пользователем настроек. Добавляем реквизит Период – тип СтандартныйПериод, Количество – тип Булево, Сумма – тип Булево. Данные реквизиты будут отвечать за переданный параметр Период и за вывод ресурсов отчёта КоличествоОборот и СуммаОборот соответственно. Также нам потребуется табличная часть Группировки с реквизитами Поле – тип Строка и ТипГруппировки – тип Строка. Табличная часть будет отвечать за выбранные группировки при формировании отчёта.

    Необходимые реквизиты созданы, теперь создаём форму отчёта.  

    На форме располагаем следующие элементы:

  • Поля ввода для указания периода: ДатаНачала – данные Период.ДатаНачала, Датаокончания - Период.ДатаОкончания, Период – данные Период и кнопку КнопкаВыбораПериода (для кнопки нужно назначить обработчик, открывающий диалог указания периода. Программный код можно посмотреть в прикреплённом внешнем отчёте) .
  • Панель с тремя страницами. Первую страницу назовём Отбор и расположим на ней табличное поле с данными КомпоновщикНастроек.Настройки.Отбор. Вторую страницу назовём УсловноеОформление и расположим на ней табличное поле с данными КомпоновщикНастроек.Настройки.УсловноеОформление. Третью страницу назовём Сортировка и расположим на ней табличное поле с данными КомпоновщикНастроек.Настройки.Порядок.
  • Табличное поле Группировки, связанное с табличной частью отчёта «Группировки», и добавляем командную панель с указанием в качестве источника действий табличного поля «Группировки». На командную панель добавляем кнопки «Добавить», «Удалить», «Переместить вверх», «Переместить вниз».  
  • 2 флажка ВыводитьКоличество и ВыводитьСумму, связанные с реквизитами отчёта Количество и Сумма соответственно.
  • Поле табличного документа Результат, автоматически созданное при создании формы, оставляем без изменения. 

    На этом создание пользовательского интерфейса завершено. Переходим к самому интересному – программной части.

Программная работа со схемой компоновки данных.

    В первую очередь, необходимо описать какие группировки будут доступны в нашем отчёте. Для этого в модуле объекта создадим экспортные переменные СписокДоступныхПолейГруппировки и СписокДоступныхТиповГруппировки. В теле основной программы заполним их списками значений:

СписокДоступныхПолейГруппировки = Новый СписокЗначений;

СписокДоступныхПолейГруппировки.Добавить("Регистратор");

СписокДоступныхПолейГруппировки.Добавить("Контрагент");

СписокДоступныхПолейГруппировки.Добавить("Номенклатура");

 

СписокДоступныхТиповГруппировки = Новый СписокЗначений;

СписокДоступныхТиповГруппировки.Добавить("Иерархия");

СписокДоступныхТиповГруппировки.Добавить("Элементы");

    При открытии формы заполним группировки значениями по умолчанию

               Группировки.Очистить();

               НоваяГруппировка = Группировки.Добавить();

               НоваяГруппировка.Поле = "Регистратор";

               НоваяГруппировка.ТипГруппировки = "Элементы";

                       

               НоваяГруппировка = Группировки.Добавить();

               НоваяГруппировка.Поле = "Контрагент";

               НоваяГруппировка.ТипГруппировки = "Элементы";

                       

               НоваяГруппировка = Группировки.Добавить();

               НоваяГруппировка.Поле = "Номенклатура";

               НоваяГруппировка.ТипГруппировки = "Элементы";

    Установим доступные списки выбора для полей группировок :

ЭлементыФормы.Группировки.Колонки.Поле.ЭлементУправления.СписокВыбора = СписокДоступныхПолейГруппировки;

ЭлементыФормы.Группировки.Колонки.ТипГруппировки.ЭлементУправления.СписокВыбора = СписокДоступныхТиповГруппировки;

    Также нам необходимо определить в модуле объекта обработчик ПриКомпоновкеРезультата, в котором будем загружать наши настройки в схему компоновки данных.

// Добавляет колонки (поля ресурсов) в соответствии с флажками на форме

               Если Количество И Не НайтиПолеКомпоновки("КоличествоОборот", НастройкиСКД.Выбор.Элементы) Тогда

                    ВыбранноеПоле = НастройкиСКД.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));

                    ВыбранноеПоле.Использование = Истина;

                    ВыбранноеПоле.Заголовок = "Количество";

                    ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("КоличествоОборот");

               КонецЕсли;   

               Если Сумма И Не НайтиПолеКомпоновки("СуммаОборот", НастройкиСКД.Выбор.Элементы) Тогда

                    ВыбранноеПоле = НастройкиСКД.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));

                    ВыбранноеПоле.Использование = Истина;

                    ВыбранноеПоле.Заголовок = "Сумма";

                    ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("СуммаОборот");

               КонецЕсли;

//Удаляет колонки, соответствующие флажки которых не были отмечены

                Счетчик = 0;

                Пока Счетчик < НастройкиСКД.Выбор.Элементы.Количество() Цикл

                     ПолеКомпоновкиДанных = НастройкиСКД.Выбор.Элементы[Счетчик];

                     Если ПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("КоличествоОборот") И Не Количество Тогда

                         НастройкиСКД.Выбор.Элементы.Удалить(ПолеКомпоновкиДанных);

                         Продолжить;

                     ИначеЕсли ПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("СуммаОборот") И Не Сумма Тогда

                         НастройкиСКД.Выбор.Элементы.Удалить(ПолеКомпоновкиДанных);

                         Продолжить;

                     КонецЕсли;                       

                     Счетчик = Счетчик + 1;

                КонецЦикла;

//заполняем поля группировок в соответствии с настройками в табличной части Группировки

НастройкиСКД.Структура.Очистить();

               ЭлементСтруктуры = НастройкиСКД;        

               Для Каждого Группировка Из Группировки Цикл

                   ЭлементСтруктуры = ЭлементСтруктуры.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));

                   ЭлементГруппировки = ЭлементСтруктуры.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));

                   ЭлементГруппировки.Использование = Истина;

                   ЭлементГруппировки.Поле =  Новый ПолеКомпоновкиДанных(Группировка.Поле);                                                  

                   Если СписокДоступныхТиповГруппировки.НайтиПоЗначению(Группировка.ТипГруппировки)=Неопределено Тогда

                       ЭлементГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;

                  Иначе

                       ЭлементГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных[Группировка.ТипГруппировки];

                   КонецЕсли;                                                                                                                  

                   ПолеСортировки = ЭлементСтруктуры.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));

                   ПолеСортировки.Использование = Истина;

 

                   ВыбранноеПоле = ЭлементСтруктуры.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));

                   ВыбранноеПоле.Использование = Истина;

               КонецЦикла;

 

    Далее, устанавливаем значения параметров и загружаем заполненные настройки

               Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период",Период);

               КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

 

    В алгоритме добавления ресурсов в схему компоновки использовалась функция НайтиПолеКомпоновки. Эта функция определяет, есть ли добавляемое поле в выбранных полях схемы или нет. Если уже есть, то добавлять поле не требуется.

Функция НайтиПолеКомпоновки(Имя, Коллекция)

        Для Каждого ПолеКомпоновкиДанных Из Коллекция Цикл

            Если ПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных(Имя) Тогда

                  Возврат Истина;

            Иначе

                 Продолжить;

            КонецЕсли;

      КонецЦикла;                

 Возврат Ложь;

КонецФункции

 

    Готово. Настройки схемы компоновки данных заполнены, и отчёт может быть сформирован.

Расшифровка

    Для того чтобы при обработке расшифровки поля отбора и группировок заполнились в соответствии с выбранным полем нужно самостоятельно описать обработчик расшифровки. Для этого создадим булевский реквизит отчёта ЭтоРасшифровка. Реквизит будет показывать, формируем мы простой отчёт или расшифровываем. Для  табличного поля Результат  создаём обработчик РезультатОбработкаРасшифровки. В созданном обработчике пишем

СтандартнаяОбработка = ложь;

               Если ДанныеРасшифровки = Неопределено Тогда Возврат КонецЕсли;

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

               Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка);

               Если Настройки<>Неопределено Тогда                                                                                          

                    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

                    ЭтоРасшифровка = Истина;

                    ЭлементыФормы.Результат.Очистить();

                    СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);

              КонецЕсли;

  А в обработчике ПриКомпоновкеРезультата модуля объекта указываем, что заполнять настройки группировок нужно только в том случае, если это не расшифровка. Таким образом, обработчик ПриКомпоновкеРезультата принимает вид:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

                        Если Не (Количество ИЛИ Сумма ) Тогда

                            СтандартнаяОбработка = Ложь;

                             Сообщить("Необходимо выбрать хотя бы один показатель!");

                             Возврат;

                        КонецЕсли;                    

                        Настройки = КомпоновщикНастроек.ПолучитьНастройки();

                       

                        Если НЕ ЭтоРасшифровка  Тогда

                             УстановитьСтруктуруГруппировокСКД(Настройки);

                        КонецЕсли;                     

                        Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период",Период);

                        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

                        ЭтоРасшифровка = ложь;

КонецПроцедуры

 

Итог.

    Создан отчёт, не требующий заходить в настройки компоновки данных, переключать вкладки и разбираться в настройках структуры отчёта. Все необходимые настройки пользователь видит на форме отчёта. При необходимости можно расширить функционал. Например, сделать сохранение выбранных пользователем настроек, скрывать настройки, если пользователю требуется всегда один вариант и тд.

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

Созданный отчёт прикрепляю к данной статье для ознакомления.

Скачать файлы

Наименование Файл Версия Размер
Пример отчёта с программным заполнением настроек СКД

.erf 21,76Kb
01.10.12
650
.erf 21,76Kb 650 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. khaoos 239 02.10.12 05:17 Сейчас в теме
Для обычных форм мне вполне нравится шаблон СКД от 1С. Но он поставляется вместе с общим модулем ТиповыеОтчеты, который (могу соврать) есть в типовых конфигурациях на обычных формах. Имеет достаточно хороший API и много возможностей подлезть в разные этапы компоновки. Есть также свойство ПользовательскиеНастройки компоновщика настроек. Но им пользоваться удобнее в управляемых формах. В 8.3 такие настройки отображаются в виде полей ввода, в 8.2 в виде табличного поля. Для управляемых же форм есть решение и в БСП, которое стало стандартом в типовых управляемых конфигурациях. Но форма вроде там отличается только программной начинкой от генерируемой автоматически, внешний вид вроде такой же.
Но все же молодец, что разобралась. Еще не раз пригодятся знания :).
2. Новенький_2209 02.10.12 12:35 Сейчас в теме
Зачем изобретать какие-то свои "внешние виды", "удобные формы" и т.д. В типовых - шаблон типового отчета. И если пользователь работал в нем, то ваша поделка, даже если там будет +100500 интересных фич и изюма, ему будет не привычна, хотя бы потому, что он интерфейс у вас - не сможет настроить под себя. Вытащить отборы привычными элементами управления (как пример) и т.д., сделать сохранение всего этого.

Затем, например, вы создали убийцу шаблона типового. Допустим. Поставили его клиенту и ушли. Через нное количество времени, приходит ваш коллега - КАК минимум, ваш отчет нужно открыть в конфигураторе и выгрузить схему компоновки и настройки компоновки, чтобы потом подсунуть это в консоль. Чутка подшаманив схему и настройки, нужно загрузить их обратно и посмотреть - что у вас выполняется на выходе, т.к. вы кодом добавляете/удаляете некоторые весчи. Т.е. по сравнение с типовым механизмом, вы привносите лишние, никому не нужные телодвижения - они не нужны ни вашему коллеге, ни клиенту.

Шаблон типового интегрируется в ЛЮБУЮ конфигурацию за 30 минут под чашечку кофе. Я считаю, это оправданная трата времени, т.к. потом ваша работа по написанию отчетов ускорить в разы. Более того, типовой отчет - это некий признак "хорошего" тона. Вы думаете не только о себе - но и о пользователях, привыкших к типовым отчетам, и ваших коллегах, которые возможно будут модифицировать ваши отчеты.

Все же за труд ставлю жирный плюс. И надеюсь, в реальных ситуациях вы будете стремиться к унификации своих решений.
M.Shalimov; Lena272; freeek; zoytsa; Lyns_owner; imbaZeratul; wowik; echo77; Feelthis; ABudnikov; slavap; krylovim; Tangram; maXon777; serpent; +15 Ответить
3. she's 405 02.10.12 13:34 Сейчас в теме
(2) Новенький_2209,
За плюс спасибо:) К сожалению, до, собственно, публикации не знала о существовании типового отчёта. Обязательно изучу его функционал. Но я всё же думаю, что тема, рассмотренная в моей статье, поможет программистам 1С, только начинающим знакомиться с СКД, разобраться в вопросе "А как же всё-таки оно работает".
marinelle; +1 Ответить
4. Новенький_2209 02.10.12 15:09 Сейчас в теме
(3) she's, я и не сомневался что вы не знаете стандартный шаблон, т.к. кто знает - просто физически не сможет заставить себя родить столько много кода по программной модификации схемы :) Изучайте, но только по живой конфигурации. К сожалению, сам шаблон обновляется значительно реже, нежели его клоны в типовых. Возьмите последнюю редакцию УПП или КА и оттуда заберите все что нужно для шаблона.

Если же конфа управляемая, то (имхо сугубо) самый удачный вариант в БП 3.0. От типового шаблона он внешне не сильно отличается.
marinelle; +1 Ответить
6. Zerkon 96 02.10.12 16:40 Сейчас в теме
(4)Если не затруднит, можно более подробно, как найти этот самый шаблон типового отчета? Или имеете ввиду взять за основу любой типовой отчет и из него сделать болванку?
7. glek 112 02.10.12 16:52 Сейчас в теме
(6) На диске ИТС есть папочка treport. там установка (почему то по 80 или81) и сам шаблон отчета
20. alexware 04.10.12 21:38 Сейчас в теме
(7) glek, Спасибо, тоже вот не знал об этом шаблоне.
23. ksai 11.10.12 10:50 Сейчас в теме
(4) Новенький_2209,
Возьмите последнюю редакцию УПП или КА и оттуда заберите все что нужно для шаблона.


Можно поподробнее, что конкретно нужно вытащить из последней УПП, чтобы получить шаблон типового отчета?
38. AlexO 130 18.01.13 14:22 Сейчас в теме
(3) she's,
"А как же всё-таки оно работает".

как раз, если не пользоваться ПРОГРАММНЫМ созданием СКД (а им приходится пользоваться лишь в исключительных случаях) - там все НЕ ТАК работает :)
В этом и есть "специфика" 1С - что все работает по своим законам при почти полном отсутствии документации.
5. samamoiloff 858 02.10.12 16:25 Сейчас в теме
(0)(she's) Evgeniya,
не слышно воплей что-то, типа "доколе... на главной... такое...", удивило, может потому, что девушка... Обычно здесь такое не прощают. По разным причинам, большинство из которых внутренние противоречия самих критикующих.
Крепитесь, если что, удачи Вам в поисках, так держать!
8. maXon777 110 02.10.12 18:17 Сейчас в теме
А я советую автору дополнить материал вышеуказанной в комментариях инфой и скриншотом настроек из 8.3 (пусть пока не актуально, но все посмотрят) и получится блестящий мануал. С меня однозначно плюс!
9. samamoiloff 858 02.10.12 23:01 Сейчас в теме
Хороший типовой шаблончик брал в свое время из ЗУП и использовал на снятой с поддержки БП, просто так не работал, пришлось в общем модуле дописывать пару строк, чтоб как в ЗУП было. Так что не все типовые однозначно типовые (типовые 1С-ники тоже в разных комнатах сидят у них там, видимо...) :)
10. OrsoBear 03.10.12 00:34 Сейчас в теме
Спасибо за статью, попробовал примерно то же самое сделать в управляемой форме. Только вместо предложенного варианта перетягивал в отбор и остальные закладки таблички компоновки данных. Получилось более навороченно и универсально. Настроек стало на порядок больше, и код дописывать не пришлось.

Есть вопрос по управляемым формам. Там есть кнопочка "Настроить форму", в которой галками можно включить и выключить ненужные блоки настроек. Стоит переименовать отчет, или скинуть другому пользователю, эти настройки сбрасываются. В настройках конфигурации тоже не нашел, как это жестко прописать. К примеру, хочу оставить для выбора колонки, которые нужно показывать в отчете и отбор.

Выглядят такие настройки более красиво, но для каждого пользователя настраивать персонально не разумно.
11. she's 405 03.10.12 08:48 Сейчас в теме
(10) OrsoBear,
Я не много работала с управляемыми формами, но, возможно, вам поможет флаг "Пользовательская видимость" в свойстве элемента. По умолчанию элемент будет невидимым, но его можно будет включить в меню "Изменить форму".
12. OrsoBear 03.10.12 09:33 Сейчас в теме
(11) she's, В этом вся и сложность. Эта форма видна только в отчете, в конфигураторе ее не видно.
13. she's 405 03.10.12 10:18 Сейчас в теме
(12) OrsoBear, вы имеете в виду форма отчёта создаётся автоматически? А в конфигураторе создать не хотите?
16. OrsoBear 03.10.12 16:00 Сейчас в теме
(13) she's, В конфигураторе создается совсем другая форма. Не такая, как автоматическая.
Но я решил вопрос именно таким способом. Нарисовал приближенно похожую форму, и внес в нее поля.
Только это глупый труд. Куда интереснее было бы именно включать и отключать программно блоки настроек.
15. she's 405 03.10.12 15:29 Сейчас в теме
17. Vlad_2008 13 03.10.12 21:49 Сейчас в теме
+ За попытку внимательного отношения к пользователю (наличие настроек на форме),
но за реализацию -.

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

Надеюсь, что в кнопке "Действия" стандартные кнопки сохранены, если так, то еще не все потеряно!

Само расположение этих настроек тоже сделано не удобно. На наших широкоформатных мониторах
располагать их сверху не эрогономично, удобнее справа (и если использовать код, то можно их
скрыть или показать), а используя разделитель можно менять размеры полей.

Использование кода в таком примере не оправданно, не показательно (в части работы с компоновкой),
да и вообще не нужно. Сам стараюсь редко использовать код, пусть СКД работает сама. Обычно использую
код когда СКД "не правильно" оптимизирует использование параметров виртуальных таблиц в запросах
к регистрам, особенно где используются ОБЪЕДИНЕНИЕ ИЛИ СОЕДИНЕНИЕ.

Вот фото формы отчета (правда старенький отчет и для 8.1, но люди до сих пор пользуются) БЕЗ КОДА ВООБЩЕ



Основные настройки вынесены на форму, НО стандартные настройки НИ В КОЕМ СЛУЧАЕ НЕ ОТКЛЮЧЕНЫ, и по
кнопке "Настройки" пользователь всегда может воспользоваться ВСЕЙ универсальностью СКД.

За пример работы с расшифровкой, дико извеняюсь, очень конечно извеняюсь, но "ПО УБИВАВ". Это за
вывод расшифровки в этой же форме, а не в отдельном окне. А если требуется расшифровать несколько
позиций отчета и сравнить их? А как же производительность системы? - Строим ресурсоемкий отчет какое-то
приличное время, а потом просто убиваем его расшифровкой?!, и пользователь опять тычет "Сформировать", чтобы
вернуть исходное состояние, а сервер крутится, пользователи курят! Не хорошо это.

Ни кого не хотел обидеть, просто высказал свое мнение. Простите если что не так.
Удачи!
18. she's 405 03.10.12 22:16 Сейчас в теме
(17) Vlad_2008, ваши замечания оправданы и все перечисленные недочёты действительно есть. Думаю, никто и не будет вставлять этот отчёт в свою конфигурацию копипастом. У меня и не было цели нарисовать идеальный интерфейс с функциональностью полноценного отчёта с учётом всех нагрузок на сервер. Я хотела показать простейший пример с объяснением что, зачем и почему. Чтобы программист, столкнувшись с подобной задачей впервые имел под рукой простой и понятный пример. А нюансы оптимизации, культура создания интерфейса и прочие прелести подробно описаны в литературе и других статьях на этом и других сайтах.
19. Vlad_2008 13 03.10.12 22:47 Сейчас в теме
Поддерживаю. И литературу, конечно, читать надо.

Ну и очень хорошо, что мы все движемся в правильном направлении.
21. texnic79 43 11.10.12 07:33 Сейчас в теме
Поддерживаю коллег, по поводу использование шаблона типового отчет, который унифицирует интерфейс работы с отчетом, но программная работа с СКД дело важное, нужное и полезное. Поэтому однозначно +.
22. higs 11.10.12 10:17 Сейчас в теме
Поставлю плюс, полезная тема. Хотя лично для меня ничего нового не принесло, но помню себя, когда только начинал разбираться с СКД.
24. anchovy 20 11.10.12 15:33 Сейчас в теме
На примере БГУ, в УПП скорее всего то же самое.
Необходимо добавить в конфигурацию следующие объекты:

отчет
- ШаблонТиповогоОтчета
общий модуль
- ТиповыеОтчеты
- ТиповыеОтчетыПереопределяемый
- СохранениеНастроек
справочник
- СохраненныеНастройки
перечисления
- ТипыНастроек
- ПредставленияЭлементовОтчетов
общие формы
- ФормаНастройкиСтруктурыОтчета
общие макеты
- ЗаголовокТиповогоОтчета
svetanik; fieryfist; Figar; ksai; +4 Ответить
25. ksai 11.10.12 17:14 Сейчас в теме
(24) anchovy,
Спасибо! Хотя гос. учреждение и производственное предприятие весьма далеки друг от друга, думается мне, перечисленные тобой объекты должны быть универсальными.
26. klel 11.10.12 20:23 Сейчас в теме
Большое спасибо за интересную статью =) Плюсик "+"
27. Moll 14.10.12 18:41 Сейчас в теме
Благодарим автора за проделанную работу, но скорее соглашусь с теми комментариями которые говорят о том, что пользователю всё таки необходимо предоставлять возможность модифицирования отчёта, ведь есть же среди них люди соображающие)

удачи на конкурсе ;)
28. Yashazz 3415 15.10.12 18:27 Сейчас в теме
Ничего особенного. Из Хрусталёвой можно почерпнуть столько же, а то и больше. Недоумеваю, отчего такие восторги вокруг этой публикации.
29. dyak84 19.10.12 11:50 Сейчас в теме
Спасибо очень познавательно и интересно.Появятся деньги обязательно скачаю
30. ~gekK@~ 26.10.12 14:30 Сейчас в теме
да уж лучше не выпиливать возможности, а провести обучение персонала дабы использовать все инструменты предоставляемые платформой
31. GovoruN3562 07.11.12 14:50 Сейчас в теме
Мне очень пригодилось. Спасибо. Правда, добившись результата, нашёл типовой шаблон и сделал на его основе. Пускай пользователи привыкают.
32. AlexO 130 11.12.12 12:14 Сейчас в теме
а мне плюсики понравились.
Никто из плюсовавших (кроме тех, кто плюсовал "за девушку" и "типовой все ж лучше") так и не понял - че тут, зачем...
Интересно, а сколько бы плюсиков Хрусталевой наставили бы, на основе которой статья? Ни одного - "не осилил, автор, пейши исчо"? :)
33. she's 405 11.12.12 14:09 Сейчас в теме
(32) AlexO, Ваш комментарий, наверное, нужно трактовать так : " А что вы тут статьи пишите? В книжках давно всё написано". Даже не знаю что бы вы сказали несчастным учёным, которые строят свои теории на основании научных трудов, например, Эйнштейна. Кстати, а вы сами-то Хрусталёву читали? Предположу, что нет, так как если бы читали, то заметили бы, что конкретно такого примера там нет.
Чувствую тема автора Elva_ вам наскучила и вы решили найти новое место для выяснения отношений и отстаивания своей, неоспоримо правильной, позиции в жизни.
34. nikolaygorbunov 1 11.12.12 14:21 Сейчас в теме
Хрусталеву почитай если обычное приложение, если управляемое, там итак все настройки можно на форму вынести, Радченко в помощь, есть у него немного в его книжице.
35. dyak84 07.01.13 15:27 Сейчас в теме
Спасибо за публикацию узнал много интересного и полезного. Статья краткая и содержительная все по существу, самое главное все получилось.автору огромное спасибо
36. Vond 11.01.13 23:17 Сейчас в теме
Лаконичнее чем книги Хрусталевой и Радченко ) Попробуем, спасибо
37. AlexO 130 18.01.13 14:20 Сейчас в теме
(36) Vond,
Лаконичнее чем книги Хрусталевой

вообще-то это как раз перепечатка главы книги Хрусталевой.
"Программное создание отчета на СКД" называется.
39. AlexSunS 21.01.13 09:14 Сейчас в теме
Объективность... автору спасибо просто хотя бы за то, что не ресурсить в гугл и не на бесконечное кол-во форумов отсылает...а просто дает свою реализацию задачи.. с которой сталкиваемся все мы...особенно на начальном этапе...
Lena272; freeek; Maximysis; svetanik; zoytsa; silberRus; marinelle; pvl_mksv; +8 Ответить
40. pvl_mksv 20 28.02.13 10:32 Сейчас в теме
(39) AlexSunS,
Присоединяюсь, практическая база набрана - пора учить теорию !
Автору - респект!
41. jurgal1C 21.05.13 01:24 Сейчас в теме
То, что доктор прописал :) Спасибо
42. EarlyBird 6 21.05.13 09:55 Сейчас в теме
43. ogion 24.09.13 15:26 Сейчас в теме
И как бы "сделать сохранение выбранных пользователем настроек"?
48. zoytsa 22.03.14 15:35 Сейчас в теме
(43) ogion,
В подменю Действия можно кнопки соответствующие вывести. :-)
44. &rew 23 03.12.13 13:20 Сейчас в теме
Все это, конечно, хорошо, но тогда смысл использования СКД несколько нивелируется. Хотя если разработать некий шаблон, куда потом "запихивать" свою схему компоновки, тогда да. В любом случае это "...в 7 раз сытнее, чем ничё..."
45. marinelle 05.01.14 11:13 Сейчас в теме
Спасибо автору за данную публикацию!!! Кратко, по существу, а главное все понятно описано. Перепечатка главы книги или нет, не суть важно. Не у всех ведь есть исходный материал ))
46. marinelle 05.01.14 11:17 Сейчас в теме
Для кодеров только начинающих разбираться с СКД очень полезно ))) Еще раз спасибо!
47. zoytsa 22.03.14 15:34 Сейчас в теме
Воспользовался разработкой автора, только вынес настройки на отдельную форму. И сохранил кнопку стандартную настроек, озаглавив "Расширенные настройки".
Спасибо!
49. svetanik 4 02.04.14 15:44 Сейчас в теме
Однозначно, автору респект. Прочитать литературу, реализовать своё (и ведь работает! обратите внимание на коммент 38) и не полениться написать статью и вынести её на обсуждение... Однозначно плюсую
50. OrsoBear 09.12.14 08:32 Сейчас в теме
Снова вернулся к этой теме.
Очередной отчет, где нужно автоматом загружать параметры.
И как всегда, на управляемых формах :-)
Порылся в комментариях, вспомнил, как делал раньше :-)
51. laf 28.01.15 09:53 Сейчас в теме
Вы молодец. Завидую. Сама не могу разобраться с этими "СКД"
52. laf 28.01.15 09:58 Сейчас в теме
Подскажите, кто-нибудь, где в конфигураторе БП 3.0 находится модуль переноса в табличную часть документа номенклатуры из подбора. Недавно с 7.7 - ничего не понимаю.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

1 стартмани

09.09.2019    10899    12    bmk74    3    

Быстрое формирование наборов данных Объект схемы СКД

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

05.07.2020    3596    4    Алексей Воробьев    16    

Построение графика в диапазоне изменений без точек

Практика программирования v8::СКД 1cv8.cf Россия Абонемент ($m)

График изменений каких-либо величин во всем диапазоне и в области изменения, без точек.

1 стартмани

30.05.2020    1245    1    yc_2011    4    

Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов

Практика программирования Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

30.04.2020    3603    0    zaxarovsky    4    

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    19650    4    m-rv    86    

Получение курса валюты за период с помощью СКД

Практика программирования v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

04.02.2020    2540    0    KawaNoNeko    2    

Шаблон внешнего отчета на СКД

Работа с интерфейсом v8 v8::СКД УНФ Абонемент ($m)

Шаблон отчета на базе СКД со своей формой отчета и выводом в свой макет (на примере прайс-листа).

1 стартмани

20.12.2019    4209    15    LamerSoft    0    

Преобразование объекта Отбор компоновки данных в Запрос

Практика программирования Прочие инструменты разработчика v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Преобразует объект Отбор компоновки данных в объект Запрос (с заполнением текста и параметров).

1 стартмани

20.12.2019    3524    4    okon-teh    2    

Менеджер открытых форм Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

Обработка получает информацию об открытых формах и позволяет ими манипулировать.

1 стартмани

13.04.2017    21044    37    SeiOkami    19    

Проверка несуществующих полей в настройках СКД

Практика программирования Работа с интерфейсом Разработка v8 v8::СКД ERP2 УТ11 КА2 Абонемент ($m)

Обработка находит все поля настроек СКД, которые утратили свою актуальность Подходит для УТ 11, ERP, КА 2.

1 стартмани

20.06.2019    4508    3    MuI_I_Ika    2    

Пример внешней обработки с вызовом типового отчета на СКД и передачей ему настроек и вывода результата в таблицу значений (в частности, для новичков)

Инструментарий разработчика Практика программирования v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Разрабатывалась на 1С:Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.5.407), поэтому использует типовой отчет Состояние штатного расписания, но технология работает для любой конфигурации. Пример внешней обработки с вызовом типового отчета на СКД "Состояние штатного расписания" и передачей ему настроек, изменения имен колонок после выполнения на имена указанные в "Пользовательских полях" или "заголовках" и вывода результата в таблицу значений.

1 стартмани

21.03.2019    5879    11    pavel_pss    0    

Вывод характеристик и их значений в динамический список

Практика программирования Разработка v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Если в запросе динамического списка используется конструкция {ХАРАКТЕРИСТИКИ ...}, то как вывести на форму колонки с характеристиками?

1 стартмани

22.02.2019    5763    2    kasper076    3    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Открывая управляемую форму выбора и не увидев там видимых в форме списка элементов, часто хочется узнать причину их отсутствия там, т. е. какой наложен отбор. Но стандартная настройка списка управляемой формы показывает только пользовательские настройки, скрывая от пользователя фиксированный отбор. Предлагаю вам расширение конфигурации с расширенной настройкой динамического списка, отображающей пользователю кроме пользовательских настроек еще фиксированные.

1 стартмани

31.05.2017    31706    149    tormozit    23    

Модуль, реализующий хранение настроек отчетов СКД в типовом регистре "Сохраненные настройки"

Практика программирования v8 v8::СКД КА1 БП2.0 ЗУП2.5 УТ10 БП1.6 Абонемент ($m)

Модуль, обеспечивающий хранение настроек отчетов на СКД в типовом регистре "Сохраненные настройки", присутствующем в конфигурациях УПП 1.2, 1.3, УТ 10.3, БП 2.0 и т.д.

1 стартмани

12.01.2019    6047    0    lunjio    0    

Схемы макетов оформления СКД

Инструментарий разработчика Работа с интерфейсом v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Качественное оформление схемы компоновки данных - длительный и рутинный процесс. Одно радует: готовый макет оформления компоновки данных можно хранить в файле формата xml с возможностью последующей загрузки в любую конфигурацию 1С.

1 стартмани

18.12.2018    8210    23    dsfix    21    

Передача набора данных типа Объект в отчет СКД

Практика программирования v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Пример показывает, каким образом можно передать таблицу значений в отчет СКД (в набор данных объект). Пример работает как на обычных, так и на управляемых формах.

1 стартмани

12.11.2018    26080    5    evgen7938    4    

Открывашка ячеек таблиц Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    16546    12    tormozit    31    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    16376    3    1c-intelligence    77    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    21042    13    RocKeR_13    16    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    27282    26    informa1555    26    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    29755    86    m-rv    57    

Визуализация событий на временной шкале средствами "Поле HTML документа"

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    23204    138    Plotks2017    27    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений - уже задать без программирования не получится.

1 стартмани

17.07.2018    45088    17    kalyaka    16    

Полезные примеры составления схемы компоновки данных #2

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Еще один набор примеров как решить частные задачи в СКД

1 стартмани

22.05.2018    29727    11    SITR-utyos    13    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    39777    24    Tatitutu    45    

Условное оформление дерева значений на управляемой форме

Практика программирования Работа с интерфейсом v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Пример использования условного оформления дерева значений для создания красивого фильтра на форме.

1 стартмани

28.04.2018    15629    25    Kutuzov    0    

Пользовательские макеты для внешних печатных форм (обработок)

Практика программирования Универсальные печатные формы v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Расширение БСП по реализации механизма пользовательских макетов для обработок внешних печатных форм.

2 стартмани

05.03.2018    18107    14    simy4    13    

Расширение для печати файла картинки в отчетах. (ERP 2)

Разное Работа с интерфейсом v8 v8::СКД ERP2 Россия Абонемент ($m)

Расширение 1С для печати файла картинки номенклатуры в отчетах без изменения основной конфигурации. Тестирование на платформе 8.3.11.2954, конфигурация ERP 2.4.4.124 (Demo).

1 стартмани

16.02.2018    7323    5    kylux    18    

Заполняем по шаблону (по умолчанию) Промо

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.

1 стартмани

08.02.2018    27478    19    mvxyz    17    

Простой вывод вариантов настроек СКД в кнопку командной панели (обычное приложение)

Работа с интерфейсом v8 v8::СКД Абонемент ($m)

Варианты настроек СКД на командную панель с группировками по подменю. Тестировалось на платформе 8.3.9.2170. Только для обычного приложения!

1 стартмани

15.02.2018    6626    1    inclodes    0    

Альтернатива ОтборуСтрок() с возможностями условий отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Типовой ОтборСтрок() использует только условия на равенство. Для таблицы формы, источником которой является "ДеревоЗначений" возможность отбора вообще отсутствует. Но есть возможность использовать всю широту возможностей отборов СКД.

1 стартмани

04.02.2018    6737    2    mszsuz    5    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    26352    50    kwazi    6    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Использование механизма полнотекстового поиска в 1С не всегда оправдано, т.к. построение индекса и поддержание его в актуальном состоянии может значительно нагружать систему. Предлагаемая реализация нечеткого поиска методом N-грамм выполняется одним запросом, что позволяет производить поиск в любой таблице и не требует предварительного построения индекса.

1 стартмани

28.12.2015    26912    69    vasvl123    9    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    30934    33    bonv    10    

Макет в СКД - пример всех возможных типовых вариантов

Практика программирования Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    21218    76    freelancer    4    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

В этой статье я на примерах разберу некоторые механизмы расширений конфигураций 1С. А именно «перехваты» методов модуля объекта и «перехваты» событий формы и элементов формы. Данная статья написана с учебными целями, чтобы показать, как при помощи расширений конфигурации можно делать такие доработки, ради которых раньше приходилось снимать конфигурацию с поддержки.

1 стартмани

30.05.2017    125638    13    signum2009    48    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    47356    36    Demanoidos    60    

Расшифровка табличного документа без расширения отчета

Практика программирования v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Быстрая расшифровка в табличном документе вне формы отчета

1 стартмани

29.05.2017    8543    7    smirnov.es    1    

СКД. Использование встроенного макета, разделителя страниц

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Пример работы с макетом СКД для начинающих программистов. За основу взят справочник подразделений, который есть в большинстве конфигураций. Показано, как вывести заголовок, детальные записи, подвал группировки и общий подвал. Приведен пример вставки разделителя страниц. Отчет можно использовать в любой конфигурации 1С: 8.

1 стартмани

31.03.2017    14813    18    Vin_Tik    0    

СКД: расшифровка данных по всей строке

Инструментарий разработчика Практика программирования v8::СКД 1cv8.cf Россия Абонемент ($m)

Что, если для выполнения каких-нибудь действий нужна расшифровка по всей строке, да еще с учетом группировок.

1 стартмани

20.12.2016    17672    8    info_AlexS    8    

Фильтр на таблицу значений системой компоновки данных

Практика программирования Работа с интерфейсом v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Часто здесь проскакивает вопрос, а как установить фильтр на таблицу значений в управляемых формах. На самом деле, есть только один способ - залить старую таблицу значений в новую, отфильтровав или отсортировав по каким-либо правилам. Здесь реализуем на компоновке данных.

1 стартмани

14.12.2016    11106    2    igel9780    2    

Полезные процедуры по работе с СКД и табличными документами (часть 2)

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Еще несколько универсальных процедур

1 стартмани

27.09.2016    31327    36    json    19    

Редактирование табличной части объекта с помощью СКД

Инструментарий разработчика Практика программирования v8::СКД 1cv8.cf Россия Абонемент ($m)

Тема не нова - похожие решения были и на 8.0. К написанию статьи меня подтолкнул коллега, т.к. я это чудом не считаю. Несколько раз я видел тонны сложнейшего, и посему нерабочего кода, целью которого было сделать нечто похожее средствами, которые для этого не предназначены. В статье дан простейший пример, показывающий, как можно применять средства СКД для редактирования сложной структуры данных, например, табличных частей документов. В частности, рассмотрена работа с набором данных типа "Объект" и событием "Обработка расшифровки"

2 стартмани

16.09.2016    25921    97    Hatson    27