Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Особенности расчета итогов по полям остатка. Использование реквизитов измерений.          
Batchir Подменю пользователя
сообщение 09.02.09, 22:46
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

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

Использование реквизитов измерений

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

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

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

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

Использование реквизитов измерений в запросе

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

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

Для этого данное поле получается в запросе и полю устанавливается псевдоним. Например, Контрагент.

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

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

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

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

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

Использование реквизитов полей - периодов



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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 11:15
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!