Имя: Пароль:
1C
1С v8
Документ "перенос задолженности"
0 DasTPID
 
11.03.13
16:14
Добрый день!

8.2 УПП

Допустим одному мужику начислили в октябре премию 500 рублей, а в ноябре чухнули, что она ему не положена, и отобрали.

РН "Взаиморасчеты с сотрудниками организаций" будет в таком случае содержать два движения:
Первое Приход Октябрь 500
Второе Приход Ноябрь -500

В сумме всё ровно, но есть такой вот документ, называется "перенос задолженности", и в нём автозаполнение не совсем корректно с такой ситуацией вяжется. В частности, запрос там такой:

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

УПОРЯДОЧИТЬ ПО
   ВзаиморасчетыСРаботникамиОрганизацииОстатки.Физлицо.Наименование,
   ПериодВозникновения


То есть остатки будут двумя строками, т.к. месяцы разные, и из этих двух строк в результат запроса попадёт только одна, т.к. вторую отсечёт условие ГДЕ

И в итоге документ предлагает перенести задолженность, хотя на самом деле её нет.

Что делать?
1) Корректировкой записей регистров сделать расход - получится оборот, а его не нужно

2) Сделать документ, которым отбирают премию октябрем - нельзя, месяц уже закрыт, и год вообще говоря, тоже.

3) Переписать запрос - это изменение в стандартной конфигурации, это очень плохо.

4) Корректировкой записей регистров сделать два прихода, с минусом на октябрь и с плюсом на ноябрь. Так вроде бы всё нивелируется, но может я что пропустил?

Короче как быть?
1 ale-sarin
 
11.03.13
16:24
(0) По-моему все нормально и так. Перенос на октябрь -500 (с ноября) рублей даст в итоге 0 в обоих месяцах.
2 DasTPID
 
11.03.13
16:31
(1) Нет, не так.

Движения в РН:
Первое Приход Октябрь 500
Второе Приход Ноябрь -500

В запросе выбираются остатки, но по каждому месяцу, причём сумма стоит с минусом, будет:

Приход Октябрь -500
Приход Ноябрь -(-500) = 500

И условие ГДЕ ВзаиморасчетыСРаботникамиОрганизацииОстатки.СуммаВзаиморасчетовОстаток < 0 вторую строку, там где ноябрь, не пропускают.

И в итоге результат запроса будет содержать одну строку, как будто у него всё ещё осталась задолженность, хотя ее нет.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший