Разрезы в запросах к регистрам расчетов

13.11.12

Учетные задачи - Зарплата

При решении расчетных задач для подготовки к аттестации на специалиста по платформе 8.2 нередко приходится использовать разрезы при получении базы. Этот вопрос и постараюсь осветить.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ИспользованиеРазрезов.dt
.dt 27,46Kb
29
29 Скачать (1 SM) Купить за 1 850 руб.

В процессе подготовки к экзамену пришлось перелопатить немало книг, кучу ресурсов Интернета, но нигде не нашел внятного объяснения что такое "Разрезы" и с чем его едят. О примерах использования вообще умолчу...

Если бы мне в свое время попалась на глаза подобная статья, экзамен на специалиста был бы сдан намного раньше :)

Надеюсь, кому-то данная информация будет полезной.

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

Условие задачи:

Сотрудники получают надбавку, которая рассчитывается как некая сумма умноженная на процент. Сумма и процент для расчета надбавки указываются пользователем в документе "Начисление зарплаты".

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

1. Сумма всех надбавок сотрудников подразделения, начисленных в этом же расчетном периоде, умноженная на процент. Надбавка руководителя при этом не учитывается.

2. Максимальная сумма надбавки, начисленная любому сотруднику подразделения в этом же расчетном периоде, умноженная на процент.

Процент премии указывается пользователем в документе "Начисление зарплаты".

Решение

Процесс расчета надбавки рассматривать не буду, там все просто, в приложенной конфигурации можно посмотреть как она рассчитывается. Остановимся более детально на премии.

Вариант 1

Предположим, что на момент расчета премии у нас в регистре расчета существуют следующие записи (Иванов - руководитель подразделения): 

Номер строки Сотрудник Подразделение Вид расчета Результат База Процент
1 Иванов Отдел продаж Надбавка 200.00 1000.00 20
2 Петров Отдел продаж Надбавка 150.00 1000.00 15
3 Сидоров Отдел продаж  Надбавка 100.00 1000.00 10
4 Иванов Отдел продаж Премия     20

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

    Запрос = Новый Запрос;
   
Запрос.Текст =
       
"ВЫБРАТЬ
        |   ДополнительныеНачисления.НомерСтроки,
        |   ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез,
        |   ВЫБОР
        |       КОГДА ДополнительныеНачисленияБазаДополнительныеНачисления.Сотрудник = ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез
        |           ТОГДА 0
        |       ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза, 0)
        |   КОНЕЦ КАК База,
        |   ДополнительныеНачисления.Процент
        |ПОМЕСТИТЬ ВТРазрез
        |ИЗ
        |   РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаДополнительныеНачисления(
        |               &Измерения,
        |               &Измерения,
        |               &Разрезы,
        |               Регистратор = &Регистратор
        |                   И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаДополнительныеНачисления
        |       ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаДополнительныеНачисления.НомерСтроки
        |ГДЕ
        |   ДополнительныеНачисления.Регистратор = &Регистратор
        |   И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
        |   И ДополнительныеНачисления.Сотрудник.ЭтоРуководитель = ИСТИНА
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТРазрез.НомерСтроки,
        |   СУММА(ВТРазрез.База) КАК База,
        |   СУММА(ВТРазрез.База * ВТРазрез.Процент / 100) КАК Результат
        |ИЗ
        |   ВТРазрез КАК ВТРазрез
        |
        |СГРУППИРОВАТЬ ПО
        |   ВТРазрез.НомерСтроки"
;

   
Измерения = Новый Массив(1);
   
Измерения[0] = "Подразделение";

   
Разрезы = Новый Массив(1);
   
Разрезы[0] = "Сотрудник";

   
Запрос.УстановитьПараметр("Регистратор" ,Регистратор);
   
Запрос.УстановитьПараметр("ВидРасчета"  ,ПланыВидовРасчета.ДополнительныеНачисления.Премия);
   
Запрос.УстановитьПараметр("Измерения"   ,Измерения);
   
Запрос.УстановитьПараметр("Разрезы"     ,Разрезы);

   
Выборка = Запрос.Выполнить().Выбрать();
    Для Каждого
Запись Из НаборДвижений Цикл

       
Отбор.НомерСтроки = Запись.НомерСтроки;
       
Выборка.Сбросить();
        Если
Выборка.НайтиСледующий(Отбор) Тогда

           
Запись.База         = Выборка.База;
           
Запись.Результат    = Выборка.Результат;

        КонецЕсли;

    КонецЦикла;

Взглянем на временную таблицу "ВТРазрез":

НомерСтроки СотрудникРазрез База Процент
4 Иванов 0.00 20
4 Петров 150.00 20
4 Сидоров 100.00 20

Как мы видим, мы получили базу по каждому сотруднику в отдельности. Теперь можно, свернув эту таблицу по номеру строки и проценту без учета сотрудника, получить сумму надбавок всех сотрудников:

НомерСтроки База Процент
4 250.00 20

Вычислить результат, я думаю, теперь не составит труда.

 

Вариант 2

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

Пусть в регистре расчета на момент расчета премии существуют такие записи:

Номер строки Сотрудник Подразделение Вид расчета Результат База Процент
1 Иванов Отдел продаж Надбавка 100.00 1000.00 10
2 Петров Отдел продаж Надбавка 150.00 1000.00 15
3 Сидоров Отдел продаж Надбавка 200.00 1000.00 20
4 Иванов Отдел продаж Премия     20

Исходя из условия задачи, видим, что базой для расчета премии Иванова в данном случае должна стать сумма 200.00 - надбавка Сидорова.

Запрос тогда примет следующий вид: 

    Запрос = Новый Запрос;
   
Запрос.Текст =
       
"ВЫБРАТЬ
        |   ДополнительныеНачисления.НомерСтроки,
        |   ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез,
        |   ЕСТЬNULL(ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза, 0) КАК База,
        |   ДополнительныеНачисления.Процент
        |ПОМЕСТИТЬ ВТРазрез
        |ИЗ
        |   РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаДополнительныеНачисления(
        |               &Измерения,
        |               &Измерения,
        |               &Разрезы,
        |               Регистратор = &Регистратор
        |                   И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаДополнительныеНачисления
        |       ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаДополнительныеНачисления.НомерСтроки
        |ГДЕ
        |   ДополнительныеНачисления.Регистратор = &Регистратор
        |   И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
        |   И ДополнительныеНачисления.Сотрудник.ЭтоРуководитель = ИСТИНА
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТРазрез.НомерСтроки,
        |   МАКСИМУМ(ВТРазрез.База) КАК База,
        |   ВТРазрез.Процент
        |ПОМЕСТИТЬ ВТБаза
        |ИЗ
        |   ВТРазрез КАК ВТРазрез
        |
        |СГРУППИРОВАТЬ ПО
        |   ВТРазрез.НомерСтроки,
        |   ВТРазрез.Процент
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТБаза.НомерСтроки,
        |   ВТБаза.База,
        |   ВТБаза.База * ВТБаза.Процент / 100 КАК Результат
        |ИЗ
        |   ВТБаза КАК ВТБаза"
;

   
Измерения = Новый Массив(1);
   
Измерения[0] = "Подразделение";

   
Разрезы = Новый Массив(1);
   
Разрезы[0] = "Сотрудник";

   
Запрос.УстановитьПараметр("Регистратор" ,Регистратор);
   
Запрос.УстановитьПараметр("ВидРасчета"  ,ПланыВидовРасчета.ДополнительныеНачисления.Премия);
   
Запрос.УстановитьПараметр("Измерения"   ,Измерения);
   
Запрос.УстановитьПараметр("Разрезы"     ,Разрезы);

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

Временная таблица "ВТРазрез" практически ничем не отличается от аналогичной в первом варианте:

НомерСтроки СотрудникРазрез База Процент
4 Иванов 100.00 20
4 Петров 150.00 20
4 Сидоров 200.00 20

Во временную таблицу "ВТБаза" мы помещаем только одну подходящую нам запись: по товарищу Сидорову, так как ему начислена максимальная надбавка:

НомерСтроки База Процент
4 200.00 20

Ну и осталось рассчитать результат, что теперь не составляет никаких трудностей.

 

Резюме.

Использование разрезов не так уж и сложно, если разобраться (как впрочем и все этом мире :).

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

См. также

Зарплата Роли и права Системный администратор Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    41881    313    106    

241

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    27244    26    1    

28

Корректировка данных Зарплата Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    6110    39    21    

46

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    62502    166    141    

138

Зарплата Программист Бизнес-аналитик Бухгалтер Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

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

51600 руб.

14.09.2022    18143    74    28    

75

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    66070    103    49    

106

Зарплата Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Платные (руб)

Внешний отчет считает премию сотрудников за полностью оплаченные товары клиентами (за период). Отчет прошел аудит во fresh.

12000 руб.

17.10.2024    715    1    0    

1
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fr.myha 14.11.12 10:25 Сейчас в теме
Спасибо большое за статью. Теперь будет более понятно что это такое разрез и как им пользоваться.
2. Kryakovkin 07.01.13 15:39 Сейчас в теме
Спасибо за публикацию. Статья очень помогла в подготовке к специалисту. Из задач которые я прорешивал, разрезы потребовались в задаче 3.49.
3. BorisSpB 13.01.15 16:48 Сейчас в теме
Здравствуйте.

Спасибо за подробную статью. У вас все написано понятно и по существу.

Возник следующий вопрос. Зачем в варианте 2 (расчет премии руководителю исходя из максимальной надбавки сотрудника) вы берете данные из реальной таблицы "Дополнительные начисления"?

Почему бы номер строки и процент не брать из вирт. таблицы "ДополнительныеНачисленияБазаДополнительныеНачисления"? В таком случае не было бы необходимости делать лишнее ЛЕВОЕ СОЕДИНЕНИЕ.
4. CeHbKA 307 30.01.17 16:01 Сейчас в теме
Статья отличная! Но я так и не могу допетрить, как из условия задачи понять, что нужны разрезы?
И если у меня в регистре расчета 2 измерения - сотрудник и подразделение, разве я не получу один и тот же результат, что при получении базы и указании параметра "Измерения", что при получении базы и указания параметра "Разрезы" ?!
9. AndrewM 08.12.20 23:31 Сейчас в теме
(4) да, можно было бы и не использовать разрезы, но только если не нужно исключать из базы надбавку самого руководителя. Но в условии задачи написано: "Надбавка руководителя при этом не учитывается". И вот чтобы её исключить, без разреза уже не обойтись.
5. shoy 19 06.03.18 11:07 Сейчас в теме
Хорошо написано!
Про левое соединение правильное замечание.
А ещё, нужен разрез по должности сотрудника, особенно когда в один месяц перекидывают больше двух раз.
6. KonstIV 12.12.18 20:43 Сейчас в теме
А зачем подтягивать основную таблицу? Номер строки и в доп. таблице такой же.
"ВЫБРАТЬ
		|	ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки,
		|	СУММА(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза) КАК РезультатБаза
		|ИЗ
		|	РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
		|			&Измерения,
		|			&Измерения,
		|			&Разрезы,
		|			Регистратор = &Регистратор
		|				И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаОсновныеНачисления
		|ГДЕ
		|	ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник <> ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
		|
		|СГРУППИРОВАТЬ ПО
		|	ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки";
Показать
7. milov.aleksey 405 10.09.20 14:16 Сейчас в теме
На онлайн курсе Белоусова "Подготовка к спецу" с 13.07.2020 в задаче ПР_4 "Премия руководителю" процентом от суммы начислений по ДневномуТарифу сотрудников его Подразделения за прошлый месяц, кроме него самого. "Руководителям подразделений дополнительно выплачивается премия в виде процента от суммы начислений по тарифу за предыдущий месяц сотрудников их подразделения. С начисления по тарифу самого руководителя премия не начисляется. Процент премии в течение периода начисления не меняется и задается в документе «Начисление зарплаты»." И вдобавок требуется отчет вида:
Подразделение Руководитель Процен премии Сумма премии

ИТОГО:
Поэтому я не просто исключаю из дохода прошлого месяца всех руководителей. У меня СотрудникРуководитель - реквизит справочника Подразделения. Явно привязываю руководителя к подразделению.
Получился такой запрос:
//2) ПРЕМИЯ РУКОВОДИТЕЛЯ
ДополнительныеНачисления = Движения.ДополнительныеНачисления;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеНачисления.НомерСтроки КАК НомерСтроки,
| ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез КАК СотрудникРазрез,
| ВЫБОР
| КОГДА ДополнительныеНачисленияБазаОсновныеНачисления.Подразделение.СотрудникРуководитель = ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза, 0)
| КОНЕЦ КАК База,
| ДополнительныеНачисления.Размер КАК Размер
|ПОМЕСТИТЬ ВТРазрез
|ИЗ
| РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измерения,
| &Измерения,
| &Разрезы,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаОсновныеНачисления
| ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки
|ГДЕ
| ДополнительныеНачисления.Регистратор = &Регистратор
| И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ВТРазрез.НомерСтроки КАК НомерСтроки,
| СУММА(ВТРазрез.База) КАК База,
| СУММА(ВТРазрез.База * ВТРазрез.Размер / 100) КАК Результат
|ИЗ
| ВТРазрез КАК ВТРазрез
|
|СГРУППИРОВАТЬ ПО
| ВТРазрез.НомерСтроки";
Измерения = Новый Массив();
Измерения.Добавить("Подразделение");
Запрос.УстановитьПараметр("Измерения", Измерения);

Разрезы = Новый Массив();
Разрезы.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Разрезы", Разрезы);

Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя);

Выборка = Запрос.Выполнить().Выбрать();

Для Каждого Движение Из ДополнительныеНачисления Цикл
Если Движение.ВидРасчета <> ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя ТОгда
Продолжить;
КонецЕсли;

Выборка.Сбросить();

Если Выборка.НайтиСледующий(Движение.НомерСтроки,"НомерСтроки") Тогда
Движение.Результат = Выборка.Результат;
Движение.База = Выборка.База;
КонецЕсли;

КонецЦикла;
ДополнительныеНачисления.Записать(, истина);
Показать
8. milov.aleksey 405 21.09.20 16:30 Сейчас в теме
(6) Согласен, оптимизнул, вышло компактно и результат расчета и вцелом проведения тот же:
//2) ПРЕМИЯ РУКОВОДИТЕЛЯ
ДополнительныеНачисления = Движения.ДополнительныеНачисления;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА ДополнительныеНачисленияБазаОсновныеНачисления.Подразделение.СотрудникРуководитель = ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза, 0)
| КОНЕЦ) КАК База
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измерения,
| &Измерения,
| &Разрезы,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета
| И Активность) КАК ДополнительныеНачисленияБазаОсновныеНачисления
|
|СГРУППИРОВАТЬ ПО
| ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки";
Измерения = Новый Массив();
Измерения.Добавить("Подразделение");
Запрос.УстановитьПараметр("Измерения", Измерения);

Разрезы = Новый Массив();
Разрезы.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Разрезы", Разрезы);

Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя);

Выборка = Запрос.Выполнить().Выбрать();

Для Каждого Движение Из ДополнительныеНачисления Цикл
Если Движение.ВидРасчета <> ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя ТОгда
Продолжить;
КонецЕсли;

Выборка.Сбросить();

Если Выборка.НайтиСледующий(Движение.НомерСтроки,"НомерСтроки") Тогда
Движение.База = Выборка.База;
Движение.Результат = Выборка.База * Движение.Размер/100;
КонецЕсли;

КонецЦикла;
ДополнительныеНачисления.Записать();
10. Vogde 18 08.09.21 09:31 Сейчас в теме
Спасибо автору, всё изложено доступно и действительно статья помогла сэкономить много время.
Оставьте свое сообщение