Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.03.2019

Просмотров: 50408

Скачиваний: 8599

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Рис. 3.61. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура»

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

Теперь рассмотрим второй аспект использования параметра Субконто – для
определения набора и порядка следования субконто в результате запроса.

В нашем примере проблема в том, что субконто Номенклатура прикреплено первым
субконто на счете Товары и вторым – на счете Материалы. А обращаемся мы к ним в
запросе именно по номеру (Субконто1Субконто2).

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

Если при этом не указать параметр Субконто (листинг 3.53), то поле Субконто1 будет
содержать и товары для счета товаров, и склады для счета материалов. Поле
Субконто2 будет содержать склады для счета товаров и товары для счета материалов


background image

(рис. 3.62).

Листинг 3.53. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»

Рис. 3.62. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»

В итоге мы видим строку результата запроса – Филиал Паркер 1000, где Филиал – это
склад (но находится в колонке Товар), а Паркер – товар (но находится в колонке Склад).

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

Листинг 3.54. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»


background image

В результате мы получим нужные итоги (рис. 3.63).

Рис. 3.63. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»

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

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

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


background image

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

Изменим аналитику на счете материалов. В конфигураторе удалим для
предопределенного счета Материалы второй вид субконто, а первый вид субконто
изменим на субконто Номенклатура. Для счета Товары аналитику оставим без
изменений. Первым субконто на нем учитывается Номенклатура, вторым – Склады. В
документе Операция №8 изменим значение первого субконто на Паркер (товар), а
второго субконто на счете материалов теперь нет.

После этого выполним команду Остатки товарно-материальных ценностей в
обработке Субконто (рис. 3.64).

Рис. 3.64. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»

Если сравнить результат с правильным вариантом (см. рис. 3.63), то мы видим, что
пропала как раз строка результата запроса – Паркер Филиал 1000, т. к. в параметре
Субконо передается массив из двух видов субконто (НоменклатураСклады), а у счета
материалов теперь один вид субконто – Номенклатура.

Ситуацию можно исправить путем объединения запросов к каждому счету (Товары и


background image

Материалы) отдельно (листинг 3.55).

Листинг 3.55. Вывод остатков товарно-материальных ценностей в разрезе субконто «Номенклатура» и «Склады»

В запросе используется объединение данных запроса к счету товаров и запроса к счету
материалов. Параметр Субконто в этих запросах не задан, т. к. в этом случае виды
субконто и их последовательность определяются позиционно по соответствующему
счету. Для счета товаров – это Номенклатура и Склады, для счета материалов –
Номенклатура. Затем для результата объединения этих запросов рассчитываются
общие итоги и итоги по полю Товар.

В результате мы получим нужные итоги (рис. 3.65).