1. Добавляю в ПКО и РКО реквизиты сПодразделениеКТ и СПодразделениеДТ
зачем в ПКО добавила сПодразделениеКТ не знаю, на всякий случай видимо, в РКО СПодразделениеДТ добавила для перемещения между кассами сделала
Выводим на форму документа ПКО реквизит сПодразделениеДТ
Выводим на форму документа РКО реквизиты сПодразделениеКт и с ПодразделениеДТ
2. Создаем регистр накоплений сКассоваяКнига
3. Для того, чтобы при проведении ПКО и РКО данные этих документов попадали в регистр, создаем Подписку на событие
и общий модуль со следующей процедурой
Процедура сПКОПроведениеОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
Если ТипЗнч(Источник.ссылка) = ТипЗнч(Документы.ПриходныйКассовыйОрдер.ПустаяСсылка()) тогда
Если ЗначениеЗаполнено(Источник.сПодразделениеДт) Тогда
Движение=Источник.Движения.сКассоваяКнига;
Движение.Записывать=Истина;
ДвижениеП=Движение.Добавить();
ДвижениеП.Период = Источник.Дата;
ДвижениеП.Организация = Источник.Организация;
ДвижениеП.Валюта = Источник.ВалютаДокумента;
ДвижениеП.ВидДвижения=ВидДвиженияНакопления.Приход;
ДвижениеП.Подразделение = Источник.сПодразделениеДт;
ДвижениеП.СчетУчета = Источник.СчетКасса;
ДвижениеП.Сумма = Источник.СуммаДокумента;
КонецЕсли;
КонецЕсли;
Если ТипЗнч(Источник.ссылка) = ТипЗнч(Документы.РасходныйКассовыйОрдер.ПустаяСсылка()) тогда
Если Источник.Ссылка.ВидОперации=Перечисления.ВидыОперацийРКО.ПрочийРасход Тогда
Если ЗначениеЗаполнено(Источник.сПодразделениеКт) И ЗначениеЗаполнено(Источник.сПодразделениеДт) Тогда
Отказ=Ложь;
//Проверим остатки на складе
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| сКассоваяКнигаОстатки.СуммаОстаток
|ИЗ
| РегистрНакопления.сКассоваяКнига.Остатки(&ДатаОстатка, ) КАК сКассоваяКнигаОстатки
|ГДЕ
| сКассоваяКнигаОстатки.Организация = &Организация
| И сКассоваяКнигаОстатки.Подразделение = &Подразделение
| И сКассоваяКнигаОстатки.Валюта = &Валюта
| И сКассоваяКнигаОстатки.СчетУчета = &СчетКасса";
Запрос.УстановитьПараметр("ДатаОстатка",Источник.Дата);
Запрос.УстановитьПараметр("Валюта",Источник.ВалютаДокумента);
Запрос.УстановитьПараметр("Подразделение",Источник.сПодразделениеКт);
Запрос.УстановитьПараметр("Организация",Источник.Организация);
Запрос.УстановитьПараметр("СчетКасса",Источник.СчетКасса);
Выборка=Запрос.Выполнить().Выбрать();
СуммаОстаток=0;
Пока Выборка.Следующий() Цикл
СуммаОстаток=СуммаОстаток+Выборка.СуммаОстаток;
КонецЦикла;
Если СуммаОстаток-Источник.СуммаДокумента
4. В регистр сведений НомераЛистовКассовойКниги добавляем реквизит Подразделение
5. создаем новый отчет КассоваяКнигаПоПодразделениям (прилагается в файле)
Теперь посмотрим как выглядит это в базе
Выбираем дату отсчета и вводим с помощью ПКО и Корректировки и ручной корректировки движений начальные остатки по подразделениям
далее заполняя ПКО и РКО указываем подразделение, при проведении движение записываются в регистр КассоваяКнига
для перемещения м/у кассами выбираем вид операции Прочий расход, счет БУ 5001 и склад в который приходуются деньги
Кассовая книга выглядит так
Вот такое решение, впервые работаю с 1С Бухгалтерией 8.3