На следующее утро пришла идея как получать Зарплату к выплате без пересчета валюты(если зарплата тянулась несколько лет и не выплачивалась например. А с каждым годом изменялась основная валюта учета):
В общем добавил документ "Установка учетной политики", он устанавливает валюту учета + списываем остатки в формате старой валюты и приходует остатки в новой валюте.
Подобная задача была в оперативном учете(кажется 1.05 ее номер, там каждый год менялась политика списания ФИФО/Средняя/ЛИФО) и решение было списывать в старом формате остатки и приходовать в новом.
Учет зарплаты к выплате теперь ведется в основной валюте(и нет проблем при проведении документа, ни при печати)
Добавил как НатальяЮГ реквизит в РН "ЗарплатаКВыплате", чтобы в отчет проще было выводить данные
Отчет такой:
ВЫБРАТЬ
ЗарплатаКВыплатеСписок.Сотрудник КАК Сотрудник,
ЗарплатаКВыплатеСписок.Сумма КАК Сумма,
ЗарплатаКВыплатеСписок.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
ЗарплатаКВыплатеСписок.Ссылка.Подразделение КАК Подразделение
ПОМЕСТИТЬ Документ
ИЗ
Документ.ЗарплатаКВыплате.Список КАК ЗарплатаКВыплатеСписок
ГДЕ
ЗарплатаКВыплатеСписок.Ссылка = &Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗарплатаКВыплате.Сотрудник КАК Сотрудник,
ВЫБОР
КОГДА ЗарплатаКВыплате.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ТОГДА "Выплата"
ИНАЧЕ ЗарплатаКВыплате.ВидРасчета
КОНЕЦ КАК ВидРасчета,
ЗарплатаКВыплатеОстатки.СуммаОстаток КАК НачальноеСальдо,
ВЫБОР
КОГДА ЗарплатаКВыплате.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ЗарплатаКВыплате.Сумма
ИНАЧЕ 0
КОНЕЦ КАК Начислено,
ВЫБОР
КОГДА ЗарплатаКВыплате.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА 0
ИНАЧЕ ЗарплатаКВыплате.Сумма
КОНЕЦ КАК КВыплате
ИЗ
РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗарплатаКВыплате.Остатки(
&ПериодРегистрации,
(Сотрудник, Подразделение) В
(ВЫБРАТЬ
Документ.Сотрудник КАК Сотрудник,
Документ.Подразделение КАК Подразделение
ИЗ
Документ КАК Документ)) КАК ЗарплатаКВыплатеОстатки
ПО ЗарплатаКВыплате.Сотрудник = ЗарплатаКВыплатеОстатки.Сотрудник
И ЗарплатаКВыплате.Подразделение = ЗарплатаКВыплатеОстатки.Подразделение
ГДЕ
ЗарплатаКВыплате.Период МЕЖДУ &Начало И &Конец
И (ЗарплатаКВыплате.Сотрудник, ЗарплатаКВыплате.Подразделение) В
(ВЫБРАТЬ
Документ.Сотрудник КАК Сотрудник,
Документ.Подразделение КАК Подразделение
ИЗ
Документ КАК Документ)
ИТОГИ
МАКСИМУМ(НачальноеСальдо),
СУММА(Начислено),
СУММА(КВыплате)
ПО
Сотрудник
Командировка так же считается от рублевой базы без срезов
Считаю что за 1.5 часа сделать можно если наизусть помнить код и просто незадумываясь печатать 1.5 часа.