Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.03.2019
Просмотров: 51820
Скачиваний: 8725
Рис. 3.61. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура»
В результате итоговые остатки товарно-материальных ценностей на обоих счетах
(Товары и Материалы) подсчитаны в разрезе номенклатуры, которая учитывается как
аналитика на этих счетах.
Теперь рассмотрим второй аспект использования параметра Субконто – для
определения набора и порядка следования субконто в результате запроса.
В нашем примере проблема в том, что субконто Номенклатура прикреплено первым
субконто на счете Товары и вторым – на счете Материалы. А обращаемся мы к ним в
запросе именно по номеру (Субконто1, Субконто2).
Предположим, требуется включить в отчет две группировки по субконто: сначала
пользователь хочет увидеть итоги по номенклатуре, а потом детализацию по складам, на
каком сколько числится.
Если при этом не указать параметр Субконто (листинг 3.53), то поле Субконто1 будет
содержать и товары для счета товаров, и склады для счета материалов. Поле
Субконто2 будет содержать склады для счета товаров и товары для счета материалов
(рис. 3.62).
Листинг 3.53. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
Рис. 3.62. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
В итоге мы видим строку результата запроса – Филиал Паркер 1000, где Филиал – это
склад (но находится в колонке Товар), а Паркер – товар (но находится в колонке Склад).
Чтобы избежать подобной путаницы и добиться в результате запроса нужного порядка
следования субконто на счетах (без изменения настройки плана счетов), передадим в
параметр ВидыСубконто массив видов субконто, следующих в нужной
последовательности (листинг 3.54).
Листинг 3.54. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
В результате мы получим нужные итоги (рис. 3.63).
Рис. 3.63. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
Таким образом, теперь независимо от счета первым субконто в нашем запросе является
Номенклатура, вторым – Склады. Причем если будет нужно изменить
последовательность группировок в запросе (сначала группировать по складам, потом
внутри склада – по номенклатурным позициям), нам достаточно изменить порядок
следования элементов массива, который передается в параметр виртуальной таблицы
Субконто.
Этот пример можно посмотреть в демонстрационной конфигурации «Бухгалтерский учет»,
прилагающейся к книге, в обработке Субконто.
Теперь рассмотрим еще одну тонкость, касающуюся отбора по виду субконто. Дело в
том, что если параметр Субконто задан, то данные выбираются только по тем счетам, у
которых определены все указанные виды субконто.
Продемонстрируем эту особенность на следующем примере. В нашей демонстрационной
конфигурации по счету Материалы существует всего одна проводка. В дебет счета
начисляется 1000, значение первого субконто – Паркер (товар), второго – Филиал
(склад).
Изменим аналитику на счете материалов. В конфигураторе удалим для
предопределенного счета Материалы второй вид субконто, а первый вид субконто
изменим на субконто Номенклатура. Для счета Товары аналитику оставим без
изменений. Первым субконто на нем учитывается Номенклатура, вторым – Склады. В
документе Операция №8 изменим значение первого субконто на Паркер (товар), а
второго субконто на счете материалов теперь нет.
После этого выполним команду Остатки товарно-материальных ценностей в
обработке Субконто (рис. 3.64).
Рис. 3.64. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
Если сравнить результат с правильным вариантом (см. рис. 3.63), то мы видим, что
пропала как раз строка результата запроса – Паркер Филиал 1000, т. к. в параметре
Субконо передается массив из двух видов субконто (Номенклатура, Склады), а у счета
материалов теперь один вид субконто – Номенклатура.
Ситуацию можно исправить путем объединения запросов к каждому счету (Товары и
Материалы) отдельно (листинг 3.55).
Листинг 3.55. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»
В запросе используется объединение данных запроса к счету товаров и запроса к счету
материалов. Параметр Субконто в этих запросах не задан, т. к. в этом случае виды
субконто и их последовательность определяются позиционно по соответствующему
счету. Для счета товаров – это Номенклатура и Склады, для счета материалов –
Номенклатура. Затем для результата объединения этих запросов рассчитываются
общие итоги и итоги по полю Товар.
В результате мы получим нужные итоги (рис. 3.65).