1с консоль системы компоновки данных управляемые формы

1с консоль системы компоновки данных управляемые формы

Внешний отчет «Консоль системы компоновки данных (управляемое приложение)» предназначен для специалистов, желающих подробнее узнать об устройстве системы компоновки данных.

Image 2018 11 15 18 26 40

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

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Milkin Vladimir Photo 180

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

Нажмите одну из кнопок, чтобы поделиться:

Источник

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

Консоль системы компоновки данных для отладки схем компоновки данных.

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

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

Внимание!

У пользователя для запуска консоли запросов должно быть право на интерактивное открытие внешних обработок.

konsol skd

Данные в консоль СКД можно:

Внимание!

Запуск конструктора схемы компоновки данных возможна только в толстом клиенте.

Для загрузки из существующего отчета необходимо:

1. Из конфигуратора сохранить существующую схему компоновки данных в файл XML.

sohranit skhemu komponovki dannyh

2. Запустить консоль СКД, добавить новый отчет и нажать кнопку Загрузить схему из файла otkryt skhemu iz fajla.

Источник

Отладка схем компоновки данных: анализ запросов

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

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

Для отладки сложных схем компоновки данных можно использовать консоль системы компоновки данных, которая публикуется на диске ИТС.

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

Использование консоли системы компоновки данных

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

s1

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

s2

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

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

s7

s3

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

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

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

s4
Если в схеме компоновки данных уже имеются настройки, то можно их загрузить из схемы, воспользовавшись командой «Стандартные настройки» s5.

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

Просмотр запросов

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

Создадим схему компоновки данных, в которой добавим набор данных с запросом:

Добавим вариант отчета, в настройках которого добавим детальные записи (группировку без полей группировки), в выбранные поля добавим поля Товар и СуммаОборот, в отбор добавим условие Покупатель = «Магазин «Бытовая техника»».

s5

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

На закладке «Макет для табличного документа» можно найти текст запроса, который реально будет исполняться системой при формировании отчета.
В нашем случае это будет следующий запрос:

ПРИМЕЧАНИЕ
Т.к. текст запроса отображается в XML тексте, некоторые символы, зарезервированные в XML, отображаются при помощи специальных обозначений. Так символ «&» отображается как «&», символ » » как «>».

Как видно, система добавила условие в параметр виртуальной таблицы и в список выборки запроса поместила только поля, которые нам требовалось выводить.

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

Другие возможности

В консоли имеется возможность сохранить текст сгенерированного макета компоновки данных в качестве эталона (команда «Сохранить эталон») и сравнить с новым макетом, после изменения схемы компоновки данных или настроек (команда «Сравнить с эталоном»). Это дает возможность понять, что меняется в зависимости от того или иного изменения в настройках или схеме компоновки данных.

s6

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

Источник

Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах

Приветствую, коллеги, меня зовут Люлюк Евгений, работаю ведущим программистом крупной транспортной компании GLT. Мой опыт разработки на платформе 1С более 15 лет.

Расскажу про управляемую консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах. Это, наверное, самый близкий программистам и разработчикам доклад, который есть на Infostart Event.

«Некогда пилу точить, нужно дерево пилить!»

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

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

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

Что такое «Управляемая консоль отчетов»

5ce29b5bddf6f25001b0e2147bedb3a4

Разберем подробнее, какие возможности разработки «Управляемая консоль отчетов» могут быть вам полезны.

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

632866dfff17cba223e863d79af80696

Механизм получения данных в момент выполнения запроса известен достаточно давно. Очень удобно: ставим точку останова на строке, где выполняется запрос, вызываем определенную функцию, которая прописана в инструменте, и получаем из отладки весь контекст запроса – все его данные, временные таблицы, заполненные параметры.

В чем особенность? В обычных формах можно было в момент отладки просто открыть форму консоли и сразу же работать с этим запросом. А в управляемых формах в контексте сервера открыть форму нельзя, приходится где-то сохранять данные, и потом производить с ними работу. Это можно назвать «Отложенной отладкой».

Для упрощения запуска есть инструмент «Конструктор строки отладки» – он позволит вам посмотреть, какой вызов необходимо прописать. Для СКД этот вызов будет одним, для запроса – другим. На верхнем скриншоте слайда видно, как будет выглядеть команда отладки для запроса – ставим точку останова и прописываем эту команду.

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

Анализ планов запросов

8cf05b9e0dbd2df2f2ccdfb8842430cf

Тема анализа планов запросов достаточно актуальна. Производительность нужна всем, ее постоянно не хватает. В консоль встроен механизм анализа планов запросов (основан на технологическом журнале)

Концепция анализа близка к стандартной консоли запросов от 1С, улучшено:

Улучшения консоли СКД

c0c3e2831ea66f0db643408eb01489d1

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

Групповая обработка

45ed59fc44dfa02503bc2a9bf55e35b9

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

0e8b15f76e1f69301e8449878e6afde0

Есть подробная индикация с возможностью прерывания.

c8e06c072940f68f1099e7cb7650a91a

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

Еще важно, что когда мы пишем запрос, необходимо его построить таким образом, чтобы при повторном выполнении он нам не давал в результате те объекты, которые уже были обработаны. Допустим, я запускаю обработку, а там 10 тысяч объектов – 5 тысяч из них обработано, потом у меня программа вылетела (администратор выкинул). Чтобы она в следующий раз уже не пыталась обрабатывать обрабатываемые объекты. Это зачастую легко делается. Допустим, если мы хотим заполнить незаполненное поле, мы прописываем в запрос «Выбрать все объекты, где это поле пустое», он нам получает, заполняем его. И, соответственно, повторное выполнение запроса уже не даст те строки, в которых это поле заполнено.

Поддержка пакетных запросов и временных таблиц

36ad7fcb48e7a59af9dbf1211df16629

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

Обратите внимание, мы на экране видим, что сначала идет запрос №3, потом – запрос №2, а потом – запрос №1. Пакеты запросов так устроены, что обычно идут вначале временные таблицы, а результат где-то в конце. И я счел нужным записать это в обратную сторону. Но если для кого-то это непривычно, есть настройка, чтобы записать результат в прямом порядке.

Работа с параметрами запроса

aad5004b2488c457665ab9d12339a75b

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

Редактирование текста запроса вручную

2c5cb6f779ec33f361e81c065b8e094b

Для тех, кто редактирует текст запроса вручную, есть несколько помощников:

Разбор запроса на составляющие

3f5607197789d3475a1707b45f492613

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

Поддержка английского языка разработки

d5acfd605af8df43a24b751baeacb01f

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

Подход к разработке

6178a4b7d95f8b1125a12e25a21db24e

Проект доступен как расширение или как внешняя обработка.

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

«Не думай о секундах свысока»

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

Ограничение количества выводимых строк

0b2903dde80ca37130c9a6d11e750b1d

Часто бывает, что мы выполняем пакет запросов, в нем может быть 40 таблиц с большим количеством строк. Такой результат никогда нормально не выведется, придется ждать очень долго. Сделано ограничение строк – больше 3000 строк по умолчанию он не выводит. Пишет, что выведено 3000 из 3125. И дальнейший результат не выводится, пишет «не все выведены». При желании можно нажать «Вывести все», и выведутся все строки.

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

Выделение особых значений – NULL и др.

5261fcf1301ce19f68dbe53751b3e9b7

Выделение особых значений – тоже достаточно важная функция. Выделяются значения: «NULL», «Пустая строка», «Пустая дата», «Пустая ссылка», «Неопределено».

Достаточно тяжелая функция, потому что это реализуется пост-обработкой после вывода результата. Соответственно, нагрузка большая. Если у нас имеется 10 тысяч строк и 5 колонок, это получается уже цикл в 50 тысяч итераций. При необходимости эту функцию можно отключить, и все будет выводиться еще быстрее.

Сравнение данных

0eeaedcaa21164f72669f94167254774

Когда это использовать? Например, когда нам необходимо изменить запрос или оптимизировать запрос. Тогда мы в дереве консоли создаем первый запрос – это у нас эталон. А второй – это у нас разрабатываемый запрос. И, допустим, если нам необходимо, чтобы колонка «Выручка» считалась по-другому, мы реализуем этот механизм, а потом впоследствии наглядно сравниваем результаты и видим, соответствуют они нашим ожиданиям или нет.

Другой пример, если мы оптимизируем какой-то запрос – слева у нас эталон, а справа – оптимизируемый запрос. Мы его оптимизировали, закончили, можем наглядно сравнить тексты запроса. Бывает такое, что в конструкторе запроса, почему-то удалилось какое-то поле, и текст уже изменился, а это было сразу непонятно.

И другой пример – если получается, что при оптимизации эталонный запрос выдает другие данные, нежели наш, это значит, что-то не так – мы что-то слишком перемудрили с оптимизацией.

Расшифровка таблиц значений

c9a346ba496fc540eba7756c3a575a18

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

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

Форма выбора типа

f3b3b49ccf2862f6bfe0cd93b26f004e

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

Форма выбора типа у 1С, мне кажется, не менялась с версии 8.0 – она просто вываливает список значений со всеми доступными типами, очень ненаглядно. Единственный помощник в стандартной форме выбора типа – это Ctrl+F.

Наша форма выбора типа:

Вставка значений ссылки по UID и по представлению битой ссылки

9cf1226042528e0ca06c89356e0246db

Я уже упоминал об этой функциональности, но важно, что сейчас на картинках наглядно видно, как происходит эта вставка. И этот механизм работает везде, где у нас используется ссылка – при вставке ссылки на объект и т.д.

Генерация кода на встроенном языке

1c1d5ec35738023b453b9018dba80f51

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

Примечание к типу поля

d64f04c2b409297b7137c1c8a15c34fc

Вы уже заметили, что у каждой колонки в заголовке таблицы есть картинка. Это – для отображения ее типа. Очень удобно видеть, какого типа колонка – дата или составной тип, как приведено на примере.

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

Экспорт результата

8b4b15d9b3e70d18f3bdd92088855a84

Думаю, понятно – если необходимо выполнить экспорт результата в Excel, MXL, PDF, то нужно воспользоваться этой функцией.

Здесь важная особенность – он делает внутри какие-то мелкие полезности. Допустим, для MXL он устанавливает защиту ячеек, чтобы при открытии MXL в 1С можно было работать с расшифровками. Такие вещи, которые вы можете даже не заметить.

Замер времени выполнения

f5ec1973537e114139ae47d729b6ef77

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

Но в чем здесь особенность? Здесь особенность, что по кнопке «Обновить замер времени выполнения» мы можем видеть не время вывода результата, а только время выполнения запроса. Потому что так бывает, что запрос выполняется три миллисекунды, а вывод данных занимает одну минуту. Эта кнопка производит замер только времени выполнения, замер времени вывода результата она не производит.

Выделение активированной строки

ffdc3cf7c40b04bfba5d6e0300cceed7

Вот это – тоже простая функция. Тоже «стильно, модно, молодежно». Активированная строка выделяется нашим самым любимым цветом – желтым.

Информирование об обновлении

57566bb4e87efde072271a2f3b7d02e5

Есть функциональность информирования об обновлении.

Немного об оптимизации

9343e0b60006f0eacda2aa895539a1ee

Обновление и поддержка

f97b33cb2534003d777a566b288feda1

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

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Источник

Универсальный конструктор отчетов СКД (Управляемые формы, тонкий клиент)

Коллеги, представляю вашему вниманию, свою очередную наработку.

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

В общем, ничего особенного, обычная работа. Для обычных форм существовал подобный отчет.

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

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

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

0c63c2dbd22b3a69aafaca4bff7df79a

80c6a146e6c6bcdc8361243ef8f4ed5e

В дерево добавляем нужный отчет, задаем имя. По правой кнопке мыши, в контекстном меню, есть пункты «Описание» и «Изменить».

c4e816806b0f60083772e1ea36d5280b

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

6c7feeb6252f2dc3f7f2a3f140b53cb1

Тут рассмотрим все по порядку.

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

Также в окне мы видим несколько кнопок, которыми будем настраивать наш источник.

Итак, подготовим запросик

e0261f5913b040a1bf4353402935faa0

и зададим его параметры

ccd71d21115b00b8abb6038dd7511f23

нажав кнопку ок, вернемся в окно редактирования.

Теперь мы можем уже тестово вывести запрос, посмотреть что он там нам выводит.

Следующим шагом, нам необходимо заполнить поля источника, нажав соответствующую кнопку.

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

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

Ну и для примера заполним обработчик произвольного алгоритма.

5c1dbab0e7f82b496fe199979056f210

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

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

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

2b8c83210d23b8abf6485324431338c4

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

Для начала нажмем кнопку «Обновить структуру».

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

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

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

Ну и после задания связок параметров, создадим схему СКД.

9eb57ffcbce15c07b97bb0bf0141ba50

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

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

Несколько слов о внешних базах.

Работа с КОМ-объектами, требует, некоторого опыта при работе. Поэтому, не нужно расстраиваться что, не работает то или другое. Курите, изучайте мат часть. В принципе, консоль это инструмент разработчика, а не обычного пользователя.

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

ee104f45bb6abbdb8b58d3f4525cb2c2

это ни что иное, как сериализованный в строку, весь наш запрос, вместе с параметрами, функцией ЗначениеВСтрокуВнутр.

Сразу отвечу на вопрос, почему не сериализатор. Да потому, что опытным путем, выяснилось, что не со всеми базами это прокатывает, при десеарилизации в другой базе. Может быть из за разных режимов совместимости заданных у конфигураций, может еще из за чего-то. А данная функция, работает железобетонно. Поэтому оставил ее.
Эту абракадабру копипастим,

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

72688bccb7974eaaf38a081dab881a37

При задании параметров, для внешней базы, требуется задать код связки. Это там же, на вкладке параметров.

Например, имеет стандартный отчет, по сверке поступлений. Там 2 источника данных, один реестр «Поступлений товаров услуг» в бухгалтерской базе,

другой берет документы «Приходная накладная» во внешней базе УНФ.

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

Выбирать организацию мы будем в локальной базе, там это будет элемент справочника «Организации», а в удаленной базе будем искать выбранную организацию по «ИНН» (предположим, что наименования, и коды справочников у нас различаются).

24d6503dc2c307ac37fac801e8a630df

На закладке параметры, после обновления структуры, мы видим поле «Преобразование», именно туда нам и необходимо вписать нужный код преобразования.

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

В контекстном меню, оставил памятку, по примеру преобразований (а то и сам, забываю).

На этом, пожалуй закончу данное повествование.

Пожелания, и баги приветствуются, претензии не принимаются (кому что не нравится, делайте свои поделки).

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

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

В общем всем удачи, и плодотворной работы.

UPD. 27.11.2017 v.2.0.0.1 исправлено некоторое количество багов.

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

UPD. 30.11.2017 v.2.0.1.1 Теперь настройки отчетов (отборы, сортировки) пользователем сохраняются и восстанавливаются через хранилище общих настроек, сам файл отчетов перезаписывать при этом не нужно.

UPD. 08.12.2017 v.2.0.1.2 Исправлена следующая ошибка. «Если пользователь ошибочно указывал файл, каталог, или неподходящий по структуре, путь запоминался и при открытии отчет выдавал ошибку и не открывался. » Завернул чтение и запись файла в попытку.

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

UPD. 15.12.2017 v.2.0.2.1 Добавлена автосумма выделенных ячеек, что-то наподобие ОСВ в БУХ.

UPD. 22.12.2017 v.2.1.0.1 Расширен функционал отчета. Появилась возможность расширенного редактирования настроек отчета, включая оформление, поля, структуру, и при необходимости экспертное редактирование всех параметров отчета.

ebeaf94792c629e9430328bb32db17d4

после этого появляются дополнительные вкладки в параметрах, и несколько дополнительных кнопок в вариантах отчета.

11512d630b8f237d0875ce7377cdfaba

Также появилась возможность работы с вариантами настроек.

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

682e74e3cb27b5026b00f51c7689b746

240c2967b39a476a6ccea44018eaf759

fbf7d3ebc5511b5dd8860afe1f49b47c

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

И сделал вопрос, при попытке закрытия консоли, подтверждение о закрытии (дабы пользователь случайно esc не нажал и все свои настройки закрыл).

4eb51d74ed8f3d53d7a9f42127191076

UPD. 01.08.2018 v.2.1.0.3. Столкнулся со старенькой УТ-шкой 11.0 с древним режимом совместимости. Как и написали в отзывах, не взлетело. Пришлось подшаманить, и заменить новые функции, на старые, и один вызов функции из БСП перенести. Предыдущую версию удалять не буду, т.к. она уже проверена а эту еще тестить нужно в различных вариантах.

UPD. 16.11.2018 v2.2.1.3. Расширен функционал. Сделана возможность хранения созданных отчетов внутри базы данных.

для этого в настройках необходимо установить галочку

51f5c43dc2afc158663f97b41f84af50

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

Для того чтобы удалить из базы сохраненные отчеты, сделал кнопку удаления.

ab9d7eab0ee8092517c9631fe98a1e25

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

UPD. 16.11.2018 v2.2.1.4. Заметил и исправил ошибочку, возникшую после переноса общего модуля. Не считалась сумма выделенных ячеек.

UPD. 10.01.2020 v2.3.3.2. Устранен ряд ошибок. При передаче параметра (булево) при работе с источником данных через ком, требовалось преобразование, хоть это и примитивный тип. Также затирался произвольный алгоритм, в случае обновления структуры внешнего источника данных, что доставляло неудобство, требовалось копипастить код и заново вставлять. Также исправлена ошибка, нельзя было выбрать перечисления в параметрах запроса с типом список значений. Также переделал добавление источников, кнопками, вместо добавления из контекстного меню по правой кнопке мыши, для исключения случайных ошибок.

Также расширен функционал. Теперь можно в качестве отдельного источника данных использовать файл эксель и компоновать эти данные как угодно в своих отчетах.

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

12c75f890cab762b17780de62743034a

далее, нажимая кнопку «открыть консоль», попадем в форму настроек источника данных.

16b534d1180bec920cbb5f3a2664ef6a

далее, можно попробовать прочитать выбранный файл, который подтянется в первую вкладку, и можно предварительно увидеть

с чем имеем дело. И нам нужно добавить номера колонок, которые нам нужны.

Для упрощения ввода, можно нажать автоопределение колонок, тогда заполнятся все колонки файла, со стандартным именем, и типом колонки «строка». Имена можно задать свои, но с учетом, что фактически это будут колонки таблицы значений, а значит имена надо давать соответствующие. Также можно выбрать сразу тип. Тип может быть строка, дата и число. Которые сразу будут преобразованы при чтении в нужный тип.

После того как все настроили, нажимаем «ок».

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

173a44fbbe495727f48fc53e8d15858f

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

ba255ad0d44f90e5b7a97bbc3de9f01b

далее, делаем нашу схему, компонуем данные как нужно.

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

83145b9f7981438b76153f3a9f284e9f

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

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

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

как бы, не совсем понимаю, что еще добавить в описание.

Добрый день!
Для обычных форм есть замечательный набор инструментов «Инструменты разработчика 1С», но его невозможно использовать в линуксе и в тонком и веб клиенте.

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

Использование этого пакета инструментов хотим сделать общедоступным(OpenSource), разработку вести через гитхаб с использованием EDT.

Можем ли мы включить в этот набор обработки(или часть идей и функционала) из этой публикации?

На текущий момент нашли основные инструменты (консоль запросов, консоль кода, редактор реквизитов, консоль компоновки и др.) для включения в инструментарий. Сейчас занимаемся получением одобрения авторов. Часть включаем свои- редактор предопределенных, редактор констант, Групповая обработка

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с консоль регламентных заданий управляемые формы
  • 1с консоль регламентных заданий обычное приложение