Фоновое формирование отчета СКД на УФ средствами БСП

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

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

СКД УФ БСП фоновое отчет

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

Начну с недоработок (при желании - устранимых).

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

2) по аналогичной причине (лень) не реализована фоновая расшифровка - для этого необходимо перехватывать штатную расшифровку

Возможно, перечисленные недоработки будут устранены позднее.

Да, еще момент. Предполагается, что дорабатываемый отчет имеет стандартные наименования своих компонентов - поле табличного документа на форме называется "Результат", есть строковый реквизит формы "ДанныеРасшифровки", основной реквизит формы называется "Отчет".

Итак. Сам алгоритм, исполняемый в фоновом задании, размещается в модуле менеджера целевого отчета. Тут все просто и никакой магии:

Процедура ВыполнитьКомпоновкуВФоне(СтруктураНастроек, АдресРезультатаВоВременномХранилище) Экспорт
    
    ТабличныйДокументРезультат = Новый ТабличныйДокумент;
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    Отчет = Отчеты[СтруктураНастроек.ИмяОтчета].Создать();
    Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет.СхемаКомпоновкиДанных));
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СтруктураНастроек.НастройкиКомпоновщика);
    Отчет.СкомпоноватьРезультат(ТабличныйДокументРезультат, ДанныеРасшифровки);
    
    ПоместитьВоВременноеХранилище(ДанныеРасшифровки, СтруктураНастроек.АдресДанныхРасшифровки);
    ПоместитьВоВременноеХранилище(ТабличныйДокументРезультат, АдресРезультатаВоВременномХранилище);
    
КонецПроцедуры

Замечу, что выполняется штатная компоновка отчета со всем тем, что напихано в ПриКомпоновкеРезультата.

Осталось это выполнить в фоне, получить результат и красиво все показать пользователю.
Очевидно, что для этого нужно перехватить событие компоновки на клиенте. К сожалению, человеческого способа это сделать нет. Придется подсовывать свою команду вместо стандартной. Отключаем в доступных командах отчета штатное "Сформировать", выводим на форму кнопку со своей командой. Оформляем, чтобы выглядела аналогично.
Подсказка - если кнопка появляется в панели отчета после каких-то стандартных команд типа выбора варианта - просто добавьте эти стандартные команды в панель явно - тогда их расположением можно будет управлять.
Обработчик нашей команды "Сформировать":
&НаКлиенте
Процедура Сформировать(Команда)
	
	ФоновоеФормированияОтчета = ЗапускФормированияОтчетаСервер();
	Если ФоновоеФормированияОтчета <> Неопределено Тогда
		НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
		ОбработчикЗавершения = Новый ОписаниеОповещения("ЗавершениеФоновогоФормированияОтчетаКлиент", ЭтотОбъект);
		ДлительныеОперацииКлиент.ОжидатьЗавершение(ФоновоеФормированияОтчета, ОбработчикЗавершения, НастройкиОжидания);
	КонецЕсли;	
	
КонецПроцедуры

Вот в этих нескольких строчках и зарыта вся магия БСП. Этот код реализует целую кучу вещей - запускается фоновый алгоритм, открывается форма ожидания его завершения (форма с крутящимся колесиком, в которой фоновое задание можно отменить), ожидается завершение фонового задания в обработке ожидания и при завершении задания - запускается указанный обработчик для обработки результата. Все это БСП делает за нас и не переусложняет наш отчет. За что ей большое спасибо.

Теперь собственно запуск фонового задания по протоколу БСП:
&НаСервере
Функция ЗапускФормированияОтчетаСервер()
	
	ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
	МетаданныеОтчета = ОтчетОбъект.Метаданные();
	ИмяОтчета = МетаданныеОтчета.Имя;
	
	Если НЕ Метаданные.Отчеты.Содержит(МетаданныеОтчета) Тогда // если отчет внешний, то выполняем компоновку стандартно
		СкомпоноватьРезультат();
		Возврат Неопределено;
	КонецЕсли;
	
	Если ПустаяСтрока(ДанныеРасшифровки) Тогда
		ДанныеРасшифровки = ПоместитьВоВременноеХранилище(Новый ДанныеРасшифровкиКомпоновкиДанных, УникальныйИдентификатор);
	КонецЕсли;
	
	ПараметрыФормирования = Новый Структура;
	ПараметрыФормирования.Вставить("ИмяОтчета", ИмяОтчета);
	ПараметрыФормирования.Вставить("АдресДанныхРасшифровки", ДанныеРасшифровки);
	ПараметрыФормирования.Вставить("НастройкиКомпоновщика", Отчет.КомпоновщикНастроек.ПолучитьНастройки());
	
	НастройкиЗапуска = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
	
	Возврат ДлительныеОперации.ВыполнитьВФоне(СтрШаблон("Отчеты.%1.ВыполнитьКомпоновкуВФоне", ИмяОтчета), ПараметрыФормирования, НастройкиЗапуска);
	
КонецФункции

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

&НаКлиенте
Процедура ЗавершениеФоновогоФормированияОтчетаКлиент(РезультатФоновойЗадачи, ДополнительныеПараметры) Экспорт
	
	Если РезультатФоновойЗадачи <> Неопределено И РезультатФоновойЗадачи.Статус = "Выполнено" Тогда
		Результат = ПолучитьИзВременногоХранилища(РезультатФоновойЗадачи.АдресРезультата);
		Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
		Элементы.Результат.ОтображениеСостояния.Текст = "";
	КонецЕсли;
	
КонецПроцедуры

Это все. Как видим - благодаря БСП нужно добавить лишь небольшое количество достаточно универсального кода (тестировалось под БСП 2.3.2.45).

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vasilev2015 1943 17.05.17 13:50 Сейчас в теме
2. KliMich 17.05.17 19:47 Сейчас в теме
Респект!
Кратко и содержательно
3. Новенький_2209 18.05.17 14:59 Сейчас в теме
Краткость - сестра таланта! Спасибо!
4. unichkin 1318 19.05.17 01:46 Сейчас в теме
Плюс за пример работы с длительными операциями. Но вообще при разработке отчетов на БСП лучше избегать создания формы - тогда автоматически решается куча проблем, в т.ч. и фоновое формирование. И кстати - с формой все-равно можно будет работать, правда только программно.
starik-2005; +1 Ответить
5. herfis 379 19.05.17 09:20 Сейчас в теме
(4) Спасибо за замечание! В самом деле - если используется подсистема вариантов отчетов и отчет ее использует, то проблема уже решена в общей форме отчетов этой подсистемы. Там делается тоже самое - подменяется стандартная команда и выполняется компоновка в фоне. Так что при полном использовании БСП моя публикация является велосипедом. Я совсем упустил этот момент, т.к. активно дорабатываю самописку с выборочным внедрением БСП (без подсистемы "Вариантов отчетов"). Сейчас отражу это в публикации.
trumanl; starik-2005; +2 Ответить
6. trumanl 12 11.08.17 12:20 Сейчас в теме
(5) как выше замечено, респект в том числе за то, что дошел до этого собственным умом!
8. 7OH 32 25.12.19 16:51 Сейчас в теме
(4) БСП 3.0.1 - фоновое формирование происходит только если отчет внутренний.
если внешний или безопасный режим - тогда не фоновое построение.
формы отчета нет - только схема - чтобы использовать все плюшки типовой формы.
Подскажите - как у вас оно формирует внешние отчеты в фоне типовыми методами ?
9. herfis 379 26.12.19 10:09 Сейчас в теме
(8) Сабж тоже не для внешних отчетов. Внешние там тоже не в фоне.
10. 7OH 32 02.11.20 12:58 Сейчас в теме
(4) а не подскажете - как при использовании общей формы "попросить" БСП выполнить свою функцию после формирования ?
7. kotlovD 71 23.05.19 11:52 Сейчас в теме
Спасибо! Все внедрение заняло 5 минут, вместе с чтением статьи)
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37840    unichkin    74    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

Практика программирования Универсальные функции Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

вчера в 12:00    426    SizovE    0    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    342    SizovE    0    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Практика программирования v8 v8::УФ Бесплатно (free)

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

15.11.2020    2733    Eugen-S    9    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    31051    tormozit    104    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

Работа с интерфейсом Практика программирования v8 v8::УФ v8::СКД Бесплатно (free)

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EdiBot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    662    SizovE    0    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

Вычисление количества рабочих днях между двумя датами в запросе.

20.10.2020    2330    antonivan    17    

Использование флажков в динамических списках

Практика программирования Работа с интерфейсом v8::УФ Бесплатно (free)

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

04.08.2020    3690    nekit_rdx    24    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    78544    tormozit    131    

Использование ПоказатьВопрос() в событии НачалоВыбора()

Практика программирования v8 v8::УФ Бесплатно (free)

На ИТС описано, как избегать использования модальности в событиях ПередЗаписью() и ПередЗакрытием() (можно ознакомиться по ссылке http://its.1c.ru/docs/v8nonmodal/). А что делать, если нужно задать вопрос пользователю в событии НачалоВыбора(). В данной статье приведу пример реализации с использованием асинхронного вызова ПоказатьВопрос(). Статья предназначена в основном для начинающих программистов, недавно столкнувшихся с управляемыми формами.

20.07.2020    1490    biimmap    2    

Открытие управляемой формы 1С 8.3 с измененным несохраненным объектом

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

Как загрузить в управляемую форму программно изменённый несохранённый документ (или элемент справочника).

13.07.2020    3186    plainer    11    

Вывод дерева в табличный документ СКД

Практика программирования Универсальные функции v8 v8::СКД Бесплатно (free)

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2788    Yashazz    7    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    49099    tormozit    42    

Роль "Остатки" поля набора данных СКД в отчете и в расшифровке

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

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

24.05.2020    3399    kasper076    16    

Макет оформления в отчете с несколькими СКД

Практика программирования v8::СКД Россия Бесплатно (free)

Как заставить работать макет оформления в отчёте с несколькими СКД.

14.05.2020    2684    vendim    1    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    6620    SeiOkami    31    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45566    tormozit    74    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    25779    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

С чем разработчик может столкнуться при попытке установки ограничений в динамическом списке.

06.05.2020    5326    SeiOkami    3    

СКД. Использование Менеджера временных таблиц в системе компоновки

Практика программирования v8 v8::Запросы v8::СКД 1cv8.cf Бесплатно (free)

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

29.04.2020    6626    the1    29    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16209    m-rv    2    

Переопределение настроек отчета на СКД. 1С: БСП

БСП (Библиотека стандартных подсистем) v8::СКД ERP2 Россия Бесплатно (free)

Изменение настроек СКД отчета без доработки модулей БСП

24.04.2020    3124    klimsrv    6    

Ограничения полей, или как обмануть СКД?

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    8229    SeiOkami    38    

Работа с запросами в 1С СКД. Отладка СКД

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

В предыдущем разделе мы изучали с вами особенности работы с запросами в СКД. Для изучения (отладки) работы различных схем компоновки данных я использовал консоль компоновки данных.

15.04.2020    3599    ProfessionStore    3    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20610    m-rv    17    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

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

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

13.04.2020    5997    ProfessionStore    4    

СКД: Прозрачная обработка результата

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

В статье дан ответ на вопрос о том, как "прозрачно" обработать результат компоновки (да хотя бы картинки вставить после того, как отчет сформирован).

13.04.2020    4122    starik-2005    16    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

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

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

12.04.2020    4792    ProfessionStore    11    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    31360    m-rv    21    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

Практика программирования v8::Запросы v8::СКД 1cv8.cf Россия Бесплатно (free)

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

11.04.2020    6291    ProfessionStore    8    

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

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

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

11.04.2020    6314    ProfessionStore    24    

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

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

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

10.04.2020    6391    ProfessionStore    4    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    28516    itriot11    34    

Запросы 1С СКД. Возможности и ограничения

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

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    7867    ProfessionStore    14    

Вложенные СКД

Практика программирования Конфигурирование 1С v8 v8::СКД Бесплатно (free)

Возможности, нюансы, заметки.

26.03.2020    6313    Yashazz    19    

5 шагов по изменению резервирования товаров в УТ 11.4

Оптовая торговля Практика программирования v8::ОУ v8::УФ УТ11 Россия УУ Бесплатно (free)

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

19.03.2020    4716    Igorro82IT    16    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    77228    Serginio    110    

СКД - одна из проблем связи Наборов данных

Практика программирования v8::СКД 1cv8.cf Россия Бесплатно (free)

Официальная информация: 1. В схеме компоновки данных нет указания типа связи. Все связи считаются ЛЕВЫМИ внешними соединениями. 2. Если для вложенного набора данных указано условие фильтра, тогда связь вложенного набора данных с родительским набором данных считается ВНУТРЕННЕЙ. Или как получить все результаты основного набора при отборе в зависимом.

03.03.2020    5323    BelikovSA    9    

Получение значений всех полей в иерархии структуры отчета

Практика программирования Математика и алгоритмы v8::СКД Россия Бесплатно (free)

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

28.02.2020    2222    real_MaxA    1    

Для чего нужен флаг "Автозаполнение" в СКД и каких проблем без него можно избежать

Практика программирования v8 v8::СКД Бесплатно (free)

Речь пойдет о флаге «Автозаполнение» в наборе данных Запрос Системы компоновки данных (СКД). Сразу хочу отметить, что флаг «Автозаполнение» доступен только в наборе данных - Запрос.

26.02.2020    6848    Neti    41    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35789    ids79    40    

Об обновлениях

Практика программирования v8 v8::УФ Бесплатно (free)

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

12.02.2020    2660    ipoloskov    27    

Детектор завершения согласования для 1С: Документооборот КОРП

Практика программирования Документооборот и делопроизводство v8::УФ ДО УУ Бесплатно (free)

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

04.02.2020    3133    shiaju    3    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    29618    grumagargler    28    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    31104    ids79    26    

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4

Практика программирования v8::УФ УТ11 Россия УУ Бесплатно (free)

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    4502    VID1234    6    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

15.01.2020    26718    John_d    22    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Практика программирования v8 Бесплатно (free)

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

04.09.2017    53628    m-rv    61    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    13339    TitanLuchs    23    

СКД. Лайфхак №2. Собираем отчет еще удобнее

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

20.11.2019    10294    aximo    17    

Некоторые редко используемые возможности СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

11.11.2019    11793    kser87    40    

Лайфхак работы с СКД. Собираем отчет.

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

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

25.10.2019    22363    aximo    38