Справочник «Источники данных» — различия между версиями
(Новая страница: «<noinclude>Категория:Настройка (КУС)*70</noinclude> Источники данных о…») |
м |
||
(не показано 20 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | <noinclude>[[Категория: | + | <noinclude>[[Категория: Работа с данными (КУС)]]</noinclude> |
+ | {| align="right" | ||
+ | | __TOC__ | ||
+ | |} | ||
+ | {{video|[https://youtu.be/MBJjTEMFcvI Работа с источниками данных]}} | ||
+ | {{video2|[https://rutube.ru/video/c0d44e98ad3199fe8e02065a85591588/ Работа с источниками данных]}} | ||
Источники данных описывают алгоритм получения данных из базы. | Источники данных описывают алгоритм получения данных из базы. | ||
− | Открыть справочник «Источников данных» можно в программных комплексах «Кинт: Управление делами» и «Кинт: Управление санаторием» в разделе | + | Открыть справочник «Источников данных» можно в программных комплексах «Кинт: Управление делами» и «Кинт: Управление санаторием» в разделе АДМИНИСТРИРОВАНИЕ. |
+ | |||
== Категории источников данных == | == Категории источников данных == | ||
Категория источника данных определяет алгоритм получения таблицы с данными. Существующие категории источников данных: | Категория источника данных определяет алгоритм получения таблицы с данными. Существующие категории источников данных: | ||
Строка 9: | Строка 15: | ||
# Интернет-сервис — позволяет получить данные из внешнего сервиса по API. | # Интернет-сервис — позволяет получить данные из внешнего сервиса по API. | ||
# Программный код — требует знания языка программирования и знания объекта, который вызывается. Данная категория используется для специфических ситуаций, например, когда есть функция конфигурации, которая формирует по сложным алгоритмам таблицы, собирая информацию с нескольких источников. | # Программный код — требует знания языка программирования и знания объекта, который вызывается. Данная категория используется для специфических ситуаций, например, когда есть функция конфигурации, которая формирует по сложным алгоритмам таблицы, собирая информацию с нескольких источников. | ||
− | # Хранилище данных — | + | # Хранилище данных — позволяет сохранить какую-либо таблицу в источник данных. Данные при этом будут статичны и не изменятся при изменении оригинальной таблицы. |
# Соединение — позволяет настроить соединение данных из нескольких источников. | # Соединение — позволяет настроить соединение данных из нескольких источников. | ||
+ | |||
== Примеры использования источников данных == | == Примеры использования источников данных == | ||
=== Запрос === | === Запрос === | ||
− | + | Рассмотрим пример формирования отчета «Документы в работе»: | |
− | + | # В поле «Наименование» запишите название таблицы. | |
− | + | # Во вкладке «Настройки» нажмите на ссылку «Текст запроса». Откроется конструктор запросов на вкладке «Таблицы и поля». | |
− | + | # В «Базах данных» выберите регистр накопления «яъДокументыВРаботе.Остатки» и щелкните по нему дважды. Регистр будет занесен в «Таблицы». | |
− | + | # Раскройте регистр и дважды щелкните по параметру «Исполнитель» в «Таблицах». Параметр будет занесен в «Поля» | |
− | + | # Щелкните дважды по параметру «ЗначениеСвойстваОстаток». Параметр также будет занесен в «Поля». | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Конструктор запроса''' <div class="mw-collapsible-content"> [[Файл:ИД конструктор запроса.png]] </div></div> | |
− | + | # Во вкладке «Группировка» перенесите параметр «Исполнитель» в Поле группировки, а «ЗначениеСвойстваОстаток» — в суммирующее поле. | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Конструктор запроса. Группировка''' <div class="mw-collapsible-content"> [[Файл:ИД конструктор запроса группировка.png]] </div></div> | |
− | + | # Во вкладке «Объединения/Псевдонимы» щелкните дважды на строку «ЗначениеСвойстваОстаток» и задайте псевдоним. | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Конструктор запроса. Объединения/псевдонимы''' <div class="mw-collapsible-content"> [[Файл:ИД конструктор запроса псевдонимы.png]] </div></div> | |
− | + | # Вернитесь во вкладку «Таблицы и поля» и в строке период пропишите «&КонецПериода». | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 4. Конструктор запроса. Период''' <div class="mw-collapsible-content"> [[Файл:ИД конструктор запроса период.png]] </div></div> | |
− | + | #: Для всех запросов есть 2 предопределенных параметра: «НачалоПериода» и «КонецПериода». Эти параметры связаны с УФО, и когда открываются источники данных в УФО, параметр КонецПериода будет заполнен по периоду, который выбран в УФО. | |
− | + | # Нажмите ОК, чтобы сохранить. После этого поле «Текст запроса» в форме документа заполнится автоматически в соответствии с выбранными параметрами. | |
− | + | # Во вкладке «Переменные» нажмите «Обновить». Появятся заголовки переменных, по которым будет составляться таблица данных. | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 5. Запрос. Вкладка «Переменные»''' <div class="mw-collapsible-content"> [[Файл:ИД запрос переменные.png]] </div></div> | |
+ | # Во вкладке «Данные» нажмите «Обновить». Появится таблица данных запроса. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 6. Запрос. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД запрос данные.png]] </div></div> | ||
+ | #: Данную таблицу можно открыть в универсальной форме отчета нажатием кнопки «Открыть в УФО». | ||
+ | # Чтобы сохранить запрос нажмите кнопку «Записать». | ||
=== Файл === | === Файл === | ||
Типы поддерживаемых файлов: | Типы поддерживаемых файлов: | ||
Строка 38: | Строка 49: | ||
Чтобы создать источник данных с категорией «Файл», необходимо сделать следующее: | Чтобы создать источник данных с категорией «Файл», необходимо сделать следующее: | ||
# Откройте исходный файл и посмотрите, с какой колонки начинается таблица, с какой строки начинаются данные. | # Откройте исходный файл и посмотрите, с какой колонки начинается таблица, с какой строки начинаются данные. | ||
− | # | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Исходный Excel-файл''' <div class="mw-collapsible-content"> [[Файл:ИД файл исходные данные.png]] </div></div> |
+ | # Если шапка таблицы начинается со второй колонки и четвертой строки, то запишите следующее: | ||
#* Номер строки шапки: 4 | #* Номер строки шапки: 4 | ||
#* Номер колонки шапки: 2 | #* Номер колонки шапки: 2 | ||
#* Номер строки с данными: 5 | #* Номер строки с данными: 5 | ||
# Затем выберите путь до исходного файла, и программа считает данные в соответствии с указанными параметрами. Наименование заполняется по имени исходного файла. Так как колонка «№» представлена спецсимволом, то вместо нее стоит нижнее подчеркивание. | # Затем выберите путь до исходного файла, и программа считает данные в соответствии с указанными параметрами. Наименование заполняется по имени исходного файла. Так как колонка «№» представлена спецсимволом, то вместо нее стоит нижнее подчеркивание. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Файл. Вкладка «Переменные»''' <div class="mw-collapsible-content"> [[Файл:ИД файл переменные.png]] </div></div> | ||
# Выберите «Ресурс» в строке «Остаток», чтобы по этому параметру проводилось суммирование. | # Выберите «Ресурс» в строке «Остаток», чтобы по этому параметру проводилось суммирование. | ||
# Во вкладке «Таблица данных» нажмите «Обновить». Формируется таблица данных, и ее можно открыть в УФО. | # Во вкладке «Таблица данных» нажмите «Обновить». Формируется таблица данных, и ее можно открыть в УФО. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Файл. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД файл данные.png]] </div></div> | ||
#: Из нескольких таблиц данные можно загружать и совмещать в одном отчете. При этом не всегда известен тип значения, поэтому есть возможность тип значения устанавливать вручную. | #: Из нескольких таблиц данные можно загружать и совмещать в одном отчете. При этом не всегда известен тип значения, поэтому есть возможность тип значения устанавливать вручную. | ||
=== Интернет-сервис === | === Интернет-сервис === | ||
Пример. | Пример. | ||
# Создайте источник данных с категорией «Запрос». | # Создайте источник данных с категорией «Запрос». | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Создание запроса в качестве источника данных для интернет-сервиса''' <div class="mw-collapsible-content"> [[Файл:ИД интернет сервис запрос.png]] </div></div> | ||
# Поставьте реализацию по контрагентам (количество и сумма), обороты по оперативному учету услуг. | # Поставьте реализацию по контрагентам (количество и сумма), обороты по оперативному учету услуг. | ||
− | # Добавьте идентификатор, так как в системе уже есть | + | # Добавьте идентификатор, так как в системе уже есть наименование «Санаторий». |
− | # Нажимаем | + | # Нажимаем «Получить HTTP-запрос». База при этом должна быть опубликована на веб-сервере. По нажатию он копирует ссылку на запрос, с помощью которого можно получить таблицу данных этого источника. Этот запрос позволяет обращаться к таблице данных и может использоваться во внешних системах, подключенных к вашей (например, можно сделать интеграцию с сайтами). |
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Получение HTTP-запроса к источнику данных''' <div class="mw-collapsible-content"> [[Файл:ИД интернет запрос http.png]] </div></div> | ||
# Для этого создайте новый источник данных, вставьте запрос в путь источника, укажите наименование, укажите имя пользователя 1С и пароль. У пользователя должны быть права на чтение данных из регистра, который мы используем в той базе. | # Для этого создайте новый источник данных, вставьте запрос в путь источника, укажите наименование, укажите имя пользователя 1С и пароль. У пользователя должны быть права на чтение данных из регистра, который мы используем в той базе. | ||
# Нажмите «Записать». | # Нажмите «Записать». | ||
# Во вкладке «Переменные» нажмите «Обновить», чтобы получить данные о переменных. | # Во вкладке «Переменные» нажмите «Обновить», чтобы получить данные о переменных. | ||
− | # | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Интернет-сервис. Вкладка «Переменные»''' <div class="mw-collapsible-content"> [[Файл:ИД интернет сервис переменные.png]] </div></div> |
+ | # Проставьте в строки «Количество» и «Сумма» значение «Ресурс». | ||
# В «Таблице данных» нажмите «Обновить». Появится таблица данных запроса. После этого можно переходить в УФО и редактировать. | # В «Таблице данных» нажмите «Обновить». Появится таблица данных запроса. После этого можно переходить в УФО и редактировать. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 4. Интернет-сервис. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД интернет сервис данные.png]] </div></div> | ||
+ | #: Выбрать параметр периода можно, прописав его вручную в строке «Путь» в формате ISO: | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 5. Интернет-сервис. Выбор параметра периода''' <div class="mw-collapsible-content"> [[Файл:ИД интернет сервис период.png]] </div></div> | ||
+ | === Программный код === | ||
+ | Рассмотрим на примере отчета «Движения документа». | ||
+ | # Вызовите функцию «Движения документа». | ||
+ | # Параметры передайте через символ «@». Функция принимает ссылку на документ и имя регистра, по которому надо получить движения. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Источник данных. Программный код''' <div class="mw-collapsible-content"> [[Файл:ИД программный код.png]] </div></div> | ||
+ | # На закладке «Параметры» выберите документ, по которому мы извлекаем движения. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Программный код. Вкладка «Параметры»''' <div class="mw-collapsible-content"> [[Файл:ИД программный код параметры.png]] </div></div> | ||
+ | # После этого во вкладке Таблица данных по кнопке '''Обновить''' появляется результат работы функции. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Программный код. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД программный код данные.png]] </div></div> | ||
+ | === Хранилище данных === | ||
+ | Отличие от категории «Запрос» заключается в следующем: если что-то поменяли, то результат запроса изменится, а результат источника данных с типом «Хранилище данных» всегда будет одинаковым. Можно использовать чтобы сохранить какую-либо эталонную таблицу, чтобы, например, дальше использовать ее при сравнении данных. | ||
+ | |||
+ | В текущем релизе работать с таким ИД можно только программно. | ||
+ | |||
+ | Пример: | ||
+ | <syntaxhighlight lang="css" class="toccolours mw-collapsible mw-collapsed" style="overflow: auto"> | ||
+ | &НаСервере | ||
+ | // Таблица реализации во временном хранилище. | ||
+ | Функция АдресТаблицыЗначенийВоВременномХранилище() | ||
+ | запрос = Новый Запрос("ВЫБРАТЬ | ||
+ | | оу_ОперативныйУчетУслугОбороты.Субконто1.Наименование КАК Контрагент, | ||
+ | | оу_ОперативныйУчетУслугОбороты.Субконто1.ИНН КАК ИНН, | ||
+ | | СУММА(оу_ОперативныйУчетУслугОбороты.КоличествоОборотДт) КАК Количество, | ||
+ | | СУММА(оу_ОперативныйУчетУслугОбороты.СуммаОборотДт) КАК Сумма | ||
+ | |ИЗ | ||
+ | | РегистрБухгалтерии.оу_ОперативныйУчетУслуг.Обороты(&НачалоПериода, &КонецПериода, , , , , , ) КАК оу_ОперативныйУчетУслугОбороты | ||
+ | |ГДЕ | ||
+ | | оу_ОперативныйУчетУслугОбороты.КоличествоОборотДт > 0 | ||
+ | | | ||
+ | |СГРУППИРОВАТЬ ПО | ||
+ | | оу_ОперативныйУчетУслугОбороты.Субконто1.Наименование, | ||
+ | | оу_ОперативныйУчетУслугОбороты.Субконто1.ИНН"); | ||
+ | запрос.УстановитьПараметр("НачалоПериода", Дата('20230101')); | ||
+ | запрос.УстановитьПараметр("КонецПериода", Дата('20230131')); | ||
+ | Возврат ПоместитьВоВременноеХранилище(запрос.Выполнить().Выгрузить(), УникальныйИдентификатор); | ||
+ | КонецФункции | ||
+ | |||
+ | &НаКлиенте | ||
+ | // Открывает форму записи данных в источник данных с типом "Хранилище данных". | ||
+ | Процедура ОткрытьФормуСохраненияДанных(Команда) | ||
+ | стРеквизиты = _ст("Наименование", "Реализация январь (до корректировки)"); | ||
+ | вхТаблицаСДанными = АдресТаблицыЗначенийВоВременномХранилище(); | ||
+ | Если вхТаблицаСДанными = Неопределено Тогда Возврат; КонецЕсли; | ||
+ | яъПрикладныеОбъекты.ОткрытьФормуСозданияИсточникаДанных(вхТаблицаСДанными, стРеквизиты); | ||
+ | КонецПроцедуры | ||
+ | </syntaxhighlight> | ||
+ | |||
=== Соединение === | === Соединение === | ||
− | + | Типы соединений: | |
− | # | + | * Левое. Все, что есть в основном источнике и то, что совпадает по ключевым полям, в связанном. |
− | # | + | *: [[Файл:ИД левое соединение.png]] |
− | # | + | * Внутреннее. Совпадает в основном и связанном источнике по ключевым полям. |
− | # | + | *: [[Файл:ИД внутреннее соединение.png]] |
− | # | + | * Полное. Берутся данные, совпадающие по ключевым полям, из всех источников. |
− | # | + | * Объединение. Берутся все данные из всех источников. |
+ | *: [[Файл:ИД объединение.png]] | ||
+ | ==== Консолидированный отчет ==== | ||
+ | # Выберите в качестве источника любой из двух источников. | ||
+ | # Добавьте в табличную часть таблицы «Связанные источники» второй источник с типом соединения «Объединение». | ||
+ | # Нажмите «Записать». | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Соединение источников данных''' <div class="mw-collapsible-content"> [[Файл:ИД соединение.png]] </div></div> | ||
+ | # Проставьте в строки «Количество» и «Сумма» значение «Ресурс». | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Соединение. Вкладка «Переменные»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение переменные.png]] </div></div> | ||
+ | # Запишите источник и во вкладке «Данные» нажмите «Обновить». Полученный отчет можно редактировать в УФО. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Соединение. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение данные.png]] </div></div> | ||
==== Соединение таблиц ==== | ==== Соединение таблиц ==== | ||
− | + | Рассмотрим на примере отчета «Контрагенты, которые были в 2 санаториях». | |
− | + | # Источники выберите такие же, как и в примере консолидированного отчета. Выберите внутреннее соединение. | |
− | + | # В «Параметрах» выберите переменную основного источника «Контрагенты». | |
− | + | # Выберите условие соединения "=". | |
− | + | # В качестве переменной связанного источника также выберите «Контрагенты». | |
− | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Связанные источники. Вкладка «Параметры»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение таблиц.png]] </div></div> | |
− | # В | ||
# На закладке Ресурсы можно определить вычисляемые ресурсы, которые используют ресурсы таблицы, например, общая сумма — это сумма основного источника + сумма связанного источника. | # На закладке Ресурсы можно определить вычисляемые ресурсы, которые используют ресурсы таблицы, например, общая сумма — это сумма основного источника + сумма связанного источника. | ||
− | # | + | # Нажмите кнопку «Записать». |
− | # В закладке Переменные нажимаем Обновить. | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Связанные источники. Вкладка «Ресурсы»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение таблиц ресурсы.png]] </div></div> |
− | #: Так как Контрагент — это ключевой параметр, он остался один. Остальные колонки идут из таблиц по порядку с постфиксом. | + | # В закладке Переменные нажимаем Обновить. |
− | # | + | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Соединение источников. Вкладка «Переменные»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение таблиц переменные.png]] </div></div> |
− | ==== Сравнение факта и плана ==== | + | #: Так как Контрагент — это ключевой параметр, он остался один. Остальные колонки идут из таблиц по порядку с постфиксом. |
+ | #: Выберите вычисляемый ресурс — «Общую сумму» в виде ресурса. | ||
+ | # Нажмите «Записать». | ||
+ | # Откройте вкладку «Данные» и обновите. | ||
+ | #: <div class="mw-collapsible mw-collapsed"> '''Рис. 4. Соединение источников. Вкладка «Данные»''' <div class="mw-collapsible-content"> [[Файл:ИД соединение таблиц данные.png]] </div></div> | ||
+ | <!-- ==== Сравнение факта и плана ==== | ||
План реализации по дате и сумме. (в корректировках движения проставил план) | План реализации по дате и сумме. (в корректировках движения проставил план) | ||
Или пример, присылают план, мы его загружаем как источник данных и сравниваем. | Или пример, присылают план, мы его загружаем как источник данных и сравниваем. | ||
Строка 92: | Строка 173: | ||
Потом можно передавать дальше через http-запрос в другой источник. Можно менять настройки отображения. | Потом можно передавать дальше через http-запрос в другой источник. Можно менять настройки отображения. | ||
Мощность - служебная. | Мощность - служебная. | ||
− | Отчет потом можно вывести в Директор как виджет. | + | Отчет потом можно вывести в Директор как виджет. --> |
− | == | + | |
− | + | == Интерфейс источника данных == | |
+ | * '''Запрос''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Категория «Запрос»''' <div class="mw-collapsible-content"> [[Файл:Источники данных запрос.png|900px]] </div></div> | ||
+ | * '''Файл''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Категория «Файл»''' <div class="mw-collapsible-content"> [[Файл:Источники данных файл.png|900px]] </div></div> | ||
+ | * '''Интернет-сервис''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Категория «Интернет-сервис»''' <div class="mw-collapsible-content"> [[Файл:ИД интернет сервис.png|900px]] </div></div> | ||
+ | * '''Программный код''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 4. Категория «Программный код»''' <div class="mw-collapsible-content"> [[Файл:ИД программный код.png|900px]] </div></div> | ||
+ | * '''Хранилище данных''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 5. Категория «Хранилище данных»''' <div class="mw-collapsible-content"> [[Файл:ИД хранилище данных.png|900px]] </div></div> | ||
+ | * '''Соединение''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 6. Категория «Соединение»''' <div class="mw-collapsible-content"> [[Файл:Источники данных соединение.png|900px]] </div></div> | ||
− | + | На закладке '''Параметры''' автоматически заполняются параметры из текста запроса и здесь можно выбрать для них значения, которые будут применяться исключительно для этого запроса. Когда выбирается источник данных в УФО, параметры будут автоматически переопределяться. | |
− | + | Флаг '''Служебный''' позволяет скрыть параметр для пользователей, которые не являются авторами этого источника. | |
− | + | Во вкладке '''Переменные''' по кнопке Обновить заполняются колонки таблицы. Здесь можно переопределить заголовки, которые будут отображаться в отчете, и можно выбрать значение колонки «Измерение/Ресурс». | |
− | Во вкладке | + | Во вкладке '''Таблица данных''' по кнопке '''Обновить''' заполняются данные по запросу. |
− | По кнопке | + | По кнопке '''Вывести список''' можно распечатать данные. |
− | По кнопке | + | По кнопке '''Открыть в УФО''' открывается отчет с данными из таблицы данных. |
=== Форма конструктора запросов === | === Форма конструктора запросов === | ||
− | + | Конструктор запросов доступен по нажатию ссылки «Текст запроса» при выбранной категории «Запрос». Форма конструктора запросов состоит из множества вкладок: | |
− | == | + | * '''Таблицы и поля''' |
− | + | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 1. Вкладка «Таблицы и поля»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса таблицы и поля.png]] </div></div> | |
+ | * '''Группировка''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 2. Вкладка «Группировка»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса группировка.png]] </div></div> | ||
+ | * '''Условия''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 3. Вкладка «Условия»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса условия.png]] </div></div> | ||
+ | * '''Дополнительно''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 4. Вкладка «Дополнительно»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса дополнительно.png]] </div></div> | ||
+ | * '''Объединения/псевдонимы''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 5. Вкладка «Объединения/псевдонимы»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса псевдонимы.png]] </div></div> | ||
+ | * '''Порядок''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 6. Вкладка «Порядок»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса порядок.png]] </div></div> | ||
+ | * '''Итоги''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 7. Вкладка «Итоги»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса итоги.png]] </div></div> | ||
+ | * '''Пакет запросов''' | ||
+ | *: <div class="mw-collapsible mw-collapsed"> '''Рис. 8. Вкладка «Пакет запросов»''' <div class="mw-collapsible-content"> [[Файл:Источники данных конструктор запроса пакет запросов.png]] </div></div> |
Текущая версия на 17:06, 18 ноября 2024
Источники данных описывают алгоритм получения данных из базы.
Открыть справочник «Источников данных» можно в программных комплексах «Кинт: Управление делами» и «Кинт: Управление санаторием» в разделе АДМИНИСТРИРОВАНИЕ.
Категории источников данных
Категория источника данных определяет алгоритм получения таблицы с данными. Существующие категории источников данных:
- Запрос — одна из основных категорий для обращения к БД текущей конфигурации. Запросом можно выбрать любые данные, которые есть в базе. Для создания запроса необходимы базовые знания конфигурации и работы с языком запросов 1С.
- Файл — представляет собой файл с данными.
- Интернет-сервис — позволяет получить данные из внешнего сервиса по API.
- Программный код — требует знания языка программирования и знания объекта, который вызывается. Данная категория используется для специфических ситуаций, например, когда есть функция конфигурации, которая формирует по сложным алгоритмам таблицы, собирая информацию с нескольких источников.
- Хранилище данных — позволяет сохранить какую-либо таблицу в источник данных. Данные при этом будут статичны и не изменятся при изменении оригинальной таблицы.
- Соединение — позволяет настроить соединение данных из нескольких источников.
Примеры использования источников данных
Запрос
Рассмотрим пример формирования отчета «Документы в работе»:
- В поле «Наименование» запишите название таблицы.
- Во вкладке «Настройки» нажмите на ссылку «Текст запроса». Откроется конструктор запросов на вкладке «Таблицы и поля».
- В «Базах данных» выберите регистр накопления «яъДокументыВРаботе.Остатки» и щелкните по нему дважды. Регистр будет занесен в «Таблицы».
- Раскройте регистр и дважды щелкните по параметру «Исполнитель» в «Таблицах». Параметр будет занесен в «Поля»
- Щелкните дважды по параметру «ЗначениеСвойстваОстаток». Параметр также будет занесен в «Поля».
- Во вкладке «Группировка» перенесите параметр «Исполнитель» в Поле группировки, а «ЗначениеСвойстваОстаток» — в суммирующее поле.
- Во вкладке «Объединения/Псевдонимы» щелкните дважды на строку «ЗначениеСвойстваОстаток» и задайте псевдоним.
- Вернитесь во вкладку «Таблицы и поля» и в строке период пропишите «&КонецПериода».
- Для всех запросов есть 2 предопределенных параметра: «НачалоПериода» и «КонецПериода». Эти параметры связаны с УФО, и когда открываются источники данных в УФО, параметр КонецПериода будет заполнен по периоду, который выбран в УФО.
- Нажмите ОК, чтобы сохранить. После этого поле «Текст запроса» в форме документа заполнится автоматически в соответствии с выбранными параметрами.
- Во вкладке «Переменные» нажмите «Обновить». Появятся заголовки переменных, по которым будет составляться таблица данных.
- Во вкладке «Данные» нажмите «Обновить». Появится таблица данных запроса.
- Данную таблицу можно открыть в универсальной форме отчета нажатием кнопки «Открыть в УФО».
- Чтобы сохранить запрос нажмите кнопку «Записать».
Файл
Типы поддерживаемых файлов:
- JSON. Используется в каких=либо сервисах, можно сохранить результат УФО.
- MXL. Стандартные таблицы 1С
- CSV. Строка таблицы соответствует строке текста, которая содержит одно или несколько полей, разделенных запятыми.
- XLS. Excel-таблица. Данные считываются платформой. Устанавливать Excel не надо. Для форматов XLS, MXLS есть настройка параметров считывания.
Чтобы создать источник данных с категорией «Файл», необходимо сделать следующее:
- Откройте исходный файл и посмотрите, с какой колонки начинается таблица, с какой строки начинаются данные.
- Если шапка таблицы начинается со второй колонки и четвертой строки, то запишите следующее:
- Номер строки шапки: 4
- Номер колонки шапки: 2
- Номер строки с данными: 5
- Затем выберите путь до исходного файла, и программа считает данные в соответствии с указанными параметрами. Наименование заполняется по имени исходного файла. Так как колонка «№» представлена спецсимволом, то вместо нее стоит нижнее подчеркивание.
- Выберите «Ресурс» в строке «Остаток», чтобы по этому параметру проводилось суммирование.
- Во вкладке «Таблица данных» нажмите «Обновить». Формируется таблица данных, и ее можно открыть в УФО.
- Из нескольких таблиц данные можно загружать и совмещать в одном отчете. При этом не всегда известен тип значения, поэтому есть возможность тип значения устанавливать вручную.
Интернет-сервис
Пример.
- Создайте источник данных с категорией «Запрос».
- Поставьте реализацию по контрагентам (количество и сумма), обороты по оперативному учету услуг.
- Добавьте идентификатор, так как в системе уже есть наименование «Санаторий».
- Нажимаем «Получить HTTP-запрос». База при этом должна быть опубликована на веб-сервере. По нажатию он копирует ссылку на запрос, с помощью которого можно получить таблицу данных этого источника. Этот запрос позволяет обращаться к таблице данных и может использоваться во внешних системах, подключенных к вашей (например, можно сделать интеграцию с сайтами).
- Для этого создайте новый источник данных, вставьте запрос в путь источника, укажите наименование, укажите имя пользователя 1С и пароль. У пользователя должны быть права на чтение данных из регистра, который мы используем в той базе.
- Нажмите «Записать».
- Во вкладке «Переменные» нажмите «Обновить», чтобы получить данные о переменных.
- Проставьте в строки «Количество» и «Сумма» значение «Ресурс».
- В «Таблице данных» нажмите «Обновить». Появится таблица данных запроса. После этого можно переходить в УФО и редактировать.
- Выбрать параметр периода можно, прописав его вручную в строке «Путь» в формате ISO:
Программный код
Рассмотрим на примере отчета «Движения документа».
- Вызовите функцию «Движения документа».
- Параметры передайте через символ «@». Функция принимает ссылку на документ и имя регистра, по которому надо получить движения.
- На закладке «Параметры» выберите документ, по которому мы извлекаем движения.
- После этого во вкладке Таблица данных по кнопке Обновить появляется результат работы функции.
Хранилище данных
Отличие от категории «Запрос» заключается в следующем: если что-то поменяли, то результат запроса изменится, а результат источника данных с типом «Хранилище данных» всегда будет одинаковым. Можно использовать чтобы сохранить какую-либо эталонную таблицу, чтобы, например, дальше использовать ее при сравнении данных.
В текущем релизе работать с таким ИД можно только программно.
Пример:
&НаСервере
// Таблица реализации во временном хранилище.
Функция АдресТаблицыЗначенийВоВременномХранилище()
запрос = Новый Запрос("ВЫБРАТЬ
| оу_ОперативныйУчетУслугОбороты.Субконто1.Наименование КАК Контрагент,
| оу_ОперативныйУчетУслугОбороты.Субконто1.ИНН КАК ИНН,
| СУММА(оу_ОперативныйУчетУслугОбороты.КоличествоОборотДт) КАК Количество,
| СУММА(оу_ОперативныйУчетУслугОбороты.СуммаОборотДт) КАК Сумма
|ИЗ
| РегистрБухгалтерии.оу_ОперативныйУчетУслуг.Обороты(&НачалоПериода, &КонецПериода, , , , , , ) КАК оу_ОперативныйУчетУслугОбороты
|ГДЕ
| оу_ОперативныйУчетУслугОбороты.КоличествоОборотДт > 0
|
|СГРУППИРОВАТЬ ПО
| оу_ОперативныйУчетУслугОбороты.Субконто1.Наименование,
| оу_ОперативныйУчетУслугОбороты.Субконто1.ИНН");
запрос.УстановитьПараметр("НачалоПериода", Дата('20230101'));
запрос.УстановитьПараметр("КонецПериода", Дата('20230131'));
Возврат ПоместитьВоВременноеХранилище(запрос.Выполнить().Выгрузить(), УникальныйИдентификатор);
КонецФункции
&НаКлиенте
// Открывает форму записи данных в источник данных с типом "Хранилище данных".
Процедура ОткрытьФормуСохраненияДанных(Команда)
стРеквизиты = _ст("Наименование", "Реализация январь (до корректировки)");
вхТаблицаСДанными = АдресТаблицыЗначенийВоВременномХранилище();
Если вхТаблицаСДанными = Неопределено Тогда Возврат; КонецЕсли;
яъПрикладныеОбъекты.ОткрытьФормуСозданияИсточникаДанных(вхТаблицаСДанными, стРеквизиты);
КонецПроцедуры
Соединение
Типы соединений:
- Левое. Все, что есть в основном источнике и то, что совпадает по ключевым полям, в связанном.
- Внутреннее. Совпадает в основном и связанном источнике по ключевым полям.
- Полное. Берутся данные, совпадающие по ключевым полям, из всех источников.
- Объединение. Берутся все данные из всех источников.
Консолидированный отчет
- Выберите в качестве источника любой из двух источников.
- Добавьте в табличную часть таблицы «Связанные источники» второй источник с типом соединения «Объединение».
- Нажмите «Записать».
- Проставьте в строки «Количество» и «Сумма» значение «Ресурс».
- Запишите источник и во вкладке «Данные» нажмите «Обновить». Полученный отчет можно редактировать в УФО.
Соединение таблиц
Рассмотрим на примере отчета «Контрагенты, которые были в 2 санаториях».
- Источники выберите такие же, как и в примере консолидированного отчета. Выберите внутреннее соединение.
- В «Параметрах» выберите переменную основного источника «Контрагенты».
- Выберите условие соединения "=".
- В качестве переменной связанного источника также выберите «Контрагенты».
- На закладке Ресурсы можно определить вычисляемые ресурсы, которые используют ресурсы таблицы, например, общая сумма — это сумма основного источника + сумма связанного источника.
- Нажмите кнопку «Записать».
- В закладке Переменные нажимаем Обновить.
- Так как Контрагент — это ключевой параметр, он остался один. Остальные колонки идут из таблиц по порядку с постфиксом.
- Выберите вычисляемый ресурс — «Общую сумму» в виде ресурса.
- Нажмите «Записать».
- Откройте вкладку «Данные» и обновите.
Интерфейс источника данных
- Запрос
- Файл
- Интернет-сервис
- Программный код
- Хранилище данных
- Соединение
На закладке Параметры автоматически заполняются параметры из текста запроса и здесь можно выбрать для них значения, которые будут применяться исключительно для этого запроса. Когда выбирается источник данных в УФО, параметры будут автоматически переопределяться.
Флаг Служебный позволяет скрыть параметр для пользователей, которые не являются авторами этого источника.
Во вкладке Переменные по кнопке Обновить заполняются колонки таблицы. Здесь можно переопределить заголовки, которые будут отображаться в отчете, и можно выбрать значение колонки «Измерение/Ресурс».
Во вкладке Таблица данных по кнопке Обновить заполняются данные по запросу.
По кнопке Вывести список можно распечатать данные.
По кнопке Открыть в УФО открывается отчет с данными из таблицы данных.
Форма конструктора запросов
Конструктор запросов доступен по нажатию ссылки «Текст запроса» при выбранной категории «Запрос». Форма конструктора запросов состоит из множества вкладок:
- Таблицы и поля
- Группировка
- Условия
- Дополнительно
- Объединения/псевдонимы
- Порядок
- Итоги
- Пакет запросов