|
Связь между различными регистрами расчета | ☑ | ||
---|---|---|---|---|
0
ugroblin
23.09.14
✎
11:35
|
Странная фигня какая то творится.
Есть два регистра расчета привязанных к ПВР ОсновныеНачисленияОрганизаций: ОсновныеНачисленияРаботниковОрганизаций и БУОсновныеНачисления. (Аналогичная ситуация для ПВР ДополнительныеНачисленияОрганизаций - два регистра на один ПВР.) В результате запроса к БУОсновныеНачисления присутствуют данные из обоих регистров. Детальнее. Есть сотрудник А. По данному сотруднику в регистре БУОсновныеНачисления движений нет. Движения в данный регистр заносятся документом ОтражениеЗарплатыВРеглУчете. Все эти документы сняты с проведения. В процедуре АвтозаполнениеПроводок данного документа выполняется запрос к регистрам основных и доп. начислений. Проблема в том, что если по сотруднику А есть записи в регистре ОсновныеНачисленияРаботниковОрганизаций (который в запросе нигде не упоминается), то в результате запроса будут строки с этим сотрудником. Выборка = Запрос.Выполнить().Выбрать(); мПромежуточнаяТаблица.Очистить(); Пока Выборка.Следующий() Цикл Строка = мПромежуточнаяТаблица.Добавить(); Строка.ФизЛицо = Выборка.ФизЛицо; Строка.СчетДт = Выборка.СчетДт; Строка.СчетКт = Выборка.СчетКт; … Запрос.Текст на момент выполнения запроса равен "ВЫБРАТЬ РАЗРЕШЕННЫЕ БУНачисления.ФизЛицо, БУНачисления.СчетДт, БУНачисления.СчетКт, СУММА(БУНачисления.Результат) КАК Результат ИЗ (ВЫБРАТЬ БУОсновныеНачисления.ФизЛицо, БУОсновныеНачисления.СчетДт КАК СчетДт, БУОсновныеНачисления.СчетКт КАК СчетКт, БУОсновныеНачисления.Результат КАК Результат ИЗ РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК СписокФизЛиц ПО БУОсновныеНачисления.ФизЛицо = ВЫБОР КОГДА СписокФизЛиц.ФизЛицо ССЫЛКА Справочник.ФизическиеЛица ТОГДА СписокФизЛиц.ФизЛицо ИНАЧЕ СписокФизЛиц.ФизЛицо.ФизЛицо КОНЕЦ ГДЕ БУОсновныеНачисления.ПериодРегистрации = &парамНачалоМесяца И БУОсновныеНачисления.ОбособленноеПодразделение = &парамОрганизация И БУОсновныеНачисления.Результат <> 0 И (НЕ БУОсновныеНачисления.ВидРасчета.ЯвляетсяПрочимДоходом) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ БУДополнительныеНачисления.ФизЛицо, БУДополнительныеНачисления.СчетДт, БУДополнительныеНачисления.СчетКт, БУДополнительныеНачисления.Результат ИЗ РегистрРасчета.БУДополнительныеНачисления КАК БУДополнительныеНачисления ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК СписокФизЛиц ПО БУДополнительныеНачисления.ФизЛицо = ВЫБОР КОГДА СписокФизЛиц.ФизЛицо ССЫЛКА Справочник.ФизическиеЛица ТОГДА СписокФизЛиц.ФизЛицо ИНАЧЕ СписокФизЛиц.ФизЛицо.ФизЛицо КОНЕЦ ГДЕ БУДополнительныеНачисления.ПериодРегистрации = &парамНачалоМесяца И БУДополнительныеНачисления.ОбособленноеПодразделение = &парамОрганизация И БУДополнительныеНачисления.Результат <> 0 И (НЕ БУДополнительныеНачисления.ВидРасчета.ЯвляетсяПрочимДоходом)) КАК БУНачисления СГРУППИРОВАТЬ ПО БУНачисления.ФизЛицо, БУНачисления.СчетДт, БУНачисления.СчетКт" |
|||
1
ugroblin
23.09.14
✎
11:36
|
Если этот же запрос выполнить в консоли запросов - данных по этому сотруднику запрос не находит.
|
|||
2
Gesperid
23.09.14
✎
13:23
|
Это такая методика расчета записей РР:
1. создал и записал набор записей 2. рассчитал, использую механизмы расчета 3. выгрузил в табличную часть 4. очистил набор |
|||
3
ugroblin
23.09.14
✎
21:19
|
(2) А слона то я и не заметил. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |