ДляВсех(Лиц)

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

Синтаксис

ДляВсех(Лиц(НомерСчета))
ДляВсех(Лиц(НомерСчета[, Группировка[, Лицо1[, Лицо2[, Лицо3[, Лицо4]]]][, Флаги][, Дата1, Дата2]]))

Параметры

НомерСчета (текст) – номер счёта, по которому будут перебираться аналитики. Если у указанного счёта есть субсчета, то аналитики будут перебираться и по его субсчетам. Можно перебрать аналитики сразу для нескольких счетов. В этом случае, счета указываются через "+", например, "60+76".

Группировка (текст) – порядок группировки перебираемых аналитик. Задаётся строкой, состоящей из цифр 1, 2,3 или букв С или Д. Каждая цифра определяет номер группируемой аналитики. Например, строка 23 означает, что лица будут перебираться сначала сгруппировано по второй аналитике, а потом по третьей. Если указан символ "С", тогда записи будут сгруппированы по субсчетам; если "Д" - то по документам.

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

Лицо1,Лицо2,Лицо3,Лицо4 (объект) – соответственно первая, вторая и третья аналитики. Если указаны, то перебираются только указанные аналитики. Аналитика может быть определена через функцию "Лицо". Допускается указывать аналитику просто текстовой строкой – кодом аналитики, т.е. соответствующее поле в справочнике, по которому будет производиться поиск этой аналитики. Таблицу с кодами можно посмотреть в описании функции "Лицо". Так, например, чтобы подсчитать обороты по счетам и статье затрат по ремонту ОС аналитику у функции можно определить как Лицо("РМОС", "Статьи затрат"), так и текстовой строкой "РМОС".

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

Флаги (текст) – строка, определяющая, как трактовать аналитики, если они являются папками справочников. Аналитике каждого уровня в строке "Флаги" соответствует один символ (то есть первый символ строки соответствует первой аналитике, второй – второй, третий – третьей).

Если параметр "Флаги" не указан, то перебираются все аналитики, входящие в аналитику-папку.

Дата1,Дата2 (дата) – даты начала и конца периода, за который перебираются лица. Функция перебирает только те лица, по которым за указанный период было ненулевое сальдо или обороты. Если даты не указаны, то берутся переменные "ДатНач" и "ДатКнц" соответственно, если же и их нет, то берётся рабочий период из конфигурации системы.

Комментарии

Работа функции аналогична работе отчёта "Развёрнутое сальдо и обороты".

Внутри цикла создаётся контекстный объект с именем "Лица", содержащий в случае простого перебора по одной аналитике запись о текущей аналитике. Если же идёт перебор нескольких аналитик, то у объекта "Лица" есть два поля: "Лицо1" – основная аналитика (та, по которой идёт группировка – первая цифра в параметре "Группировка"), "Лицо2" – перебираемая аналитика (вторая цифра в параметре "Группировка").

Функция сразу рассчитывает дополнительные переменные – "СНД", "СНК", "ОД", "ОК", "СКД", "СКК", "ВСНД", "ВСНК", "ВОД", "ВОК", "ВСКД", "ВСКК" содержащих, соответственно, начальное сальдо, обороты и конечное сальдо по указанному счёту и текущей аналитике в рублях и в валюте. Для ускорения расчётов можно использовать уже готовые значения.

Поскольку функция создаёт контекстный объект "Лица", значения псевдопеременных, рассчитывающих сальдо и обороты по счетам, вычисляются в разрезе данного лица. Для получения общих оборотов и сальдо по счетам укажите точку перед именем переменной.

Возвращает

Ничего не возвращает.

Примеры

Закрыть 44-ый счет, на котором ведётся аналитический учёт по темам затрат:

ДляВсех(Лиц("44-2", 12))
   Проводка(Д90_6, К44_2, Лицо1, Лицо2, СКД);

Вывести затраты по статьям:

ДляВсех(Лиц("23"))
   Сообщить("Вид затрат: " + Лицо1.Название + "<br>"
             + "Сумма затрат: " + СКД);

Вывести затраты по объектам строительства:

ДляВсех(Лиц("23", 2))
  Сообщить("Объект: " + Лицо2.Название + "<br>" +
            "Сумма затрат: " + СКД);

Развернуть каждую статью затрат по объектам строительства:

ДляВсех(Лиц("23", 12))
   Сообщить("Вид затрат: " + Лицо1.Название + "<br>"
            + "Объект: " + Лицо2.Название + "<br>" +
              "Сумма затрат: " + СКД);

Развернуть каждый объект строительства по статьям затрат:

ДляВсех(Лиц("23", 21))
   Сообщить("Объект: " + Лицо1.Название + "<br>" +
             "Вид затрат: " + Лицо2.Название  +
              "<br>" + "Сумма затрат: " + СКД);

Предположим, были сделаны две проводки Д19_ОПТ и Д19_МАТ. Тогда:

ДляВсех(Лиц("19","С"))
  Сообщить(Лицо.Название);

покажет каждое лицо два раза: первый - по 19_ОПТ, второй - по 19_МАТ.

См. также:

•  Лицо

•  НайтиСчет