gifts2017

Кассовая книга по подразделениям в Бухгалтерии 3.0

Опубликовал ssvetusik (ssvetusik) в раздел Программирование - Практика программирования

В бухгалтерии 3.0 ПРОФ потребовалась вести кассу по подразделениям. Прочитав много статей, я поняла, что можно перейти на КОРП, либо переделать конфигурацию, на КОРП переход насчитали около 25000, решила переделать конфигурацию, но чтобы изменения в основных объектах были минимальны. Может, кому пригодится, а может, кто-то найдет у меня ошибки или прокомментирует)

1. Добавляю в ПКО и РКО реквизиты сПодразделениеКТ и СПодразделениеДТ

зачем в ПКО добавила сПодразделениеКТ  не знаю, на всякий случай видимо, в РКО СПодразделениеДТ добавила для перемещения между кассами сделала

 

   Выводим на форму документа ПКО реквизит сПодразделениеДТ

Выводим на форму документа РКО реквизиты сПодразделениеКт и с ПодразделениеДТ

2. Создаем регистр накоплений сКассоваяКнига

3. Для того, чтобы при проведении ПКО и РКО данные этих документов попадали в регистр, создаем Подписку на событие

и общий модуль со следующей процедурой

 

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


4. В регистр сведений НомераЛистовКассовойКниги добавляем реквизит Подразделение

5. создаем новый отчет КассоваяКнигаПоПодразделениям (прилагается в файле)

Теперь посмотрим как выглядит это в базе 

Выбираем дату отсчета и вводим с помощью ПКО и Корректировки и ручной корректировки движений начальные остатки по подразделениям

далее заполняя ПКО и РКО указываем подразделение, при проведении движение записываются в регистр КассоваяКнига

для перемещения м/у кассами выбираем вид операции Прочий расход, счет БУ 5001 и склад в который приходуются деньги

Кассовая книга выглядит так

 

Вот такое решение, впервые работаю с 1С Бухгалтерией 8.3

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Отчет кассовая книга по подразделениям
.erf 26,59Kb
21.11.14
32
.erf 26,59Kb 32 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дима (Димча) 24.11.14 19:51
Можно установить Константу "ВестиУчетПоПодразделениям" в "Истина".
Для счета "50.01" установить "УчетПоПодразделениям".
Настроить обособленные подразделения в Справочнике "Подразделения".
Тогда будут доступен имеющийся реквизит - "ПодразделениеОрганизации" в ПКО и РКО.
Попробуйте.
xavi; WhiteOwl; +2 Ответить 1
2. ssvetusik (ssvetusik) 25.11.14 04:54
Пробовала, может что не так делала, но у меня реквизит то появился в РКО и ПКО, только проводок по подразделениям не было(((
3. Алексей Папанов (El_Loco) 25.11.14 08:43
п.3 подписка на событие это лишнее мне кажется. плюс в подписке в том, что один раз описали движения для обеих документов.
еще подумайте, что будет, если вы отмените проведение? из регистра запись уйдет?
правильнее и проще делать в свойствах документа. там указываете, что документ является регистратором для вашего регистра и указываете в конструкторе движения по регистру.
если свойство "удаление движений" = автоматически, то при отмене проведения записи будут удаляться.
4. ssvetusik (ssvetusik) 25.11.14 09:57
при отмене и пометки на удаление документов, запись из регистра уходит)
"...и указываете в конструкторе движения по регистру" вот тут я не поняла, если я вызову конструктор движений у документа в процедуре ОбработкаПроведения все написанное сотрется же?
5. Сергей Казаков (copti) 25.11.14 13:57
На самом деле, не всегда следует делать то, что можете сделать. Дело в том, что бухучет запрещает в одной организации вести несколько кассовых книг. Она должна быть одной по определению. Такими доработками вы подводите ваше предприятие под штраф за нарушение правил ведения кассовых операций по административному кодексу. Гипотетически вы можете заявить на предприятии несколько операционных касс, то только в этом случае придется в налоговой регистрировать несколько лимитов кассовых остатков. Это вряд ли устроит гл.буха. Хотя я встречал учителей русского языка, которые пишут с ошибками, наверно есть и гл.бухи, которые не знакомы с бухучетом...
6. Алексей Папанов (El_Loco) 25.11.14 19:10
(4) ssvetusik, все равно делается это именно так.
обычно регистр подчиняется документу (-ам) - регистратору, который двигает этот самый регистр.
если процедура ОбработкаПроведения уже есть, просто перед вызовом конструктора скопируйте ее, потом сделайте движение через конструктор и добавьте туда то, что было удалено конструктором..
ну или создание движений вставьте в эту процедуру - неважно в каком порядке.
на ютубе куча клипов про регистры наклопления и их создание. посмотрите.

(5) copti, ну опять философия... считайте эту книгу упр. отчетом. если ставят задачу 1снику, его дело сделать. а про нюансы юридической стороны пусть думают те, кому положено.
7. ssvetusik (ssvetusik) 26.11.14 08:30
(6) при создании регистра я указала каким документам он подчиняется, и в документах ПКо и РКО в движениях автоматом появляется данный регистр, обновляет базу сис админ, и ему проще будет с подпиской, чтобы каждый раз при изменении модуля объекта не вставлять дописанный кусок
з.ы. для себя я всегда пользуюсь способом о котором вы говорите, так проще дописать процедуру ОбработкуПроведения)))
спасибо за комментарии

(5)я не писала что данная кассовая книга ведется для бух. учета. кассовая книга по всей организации никуда не делась и также функционирует
это просто решение которое было необходимо предприятию, для внутренних нужд, и почему я подвожу под штраф? я исполнитель, и выполняю это не потому что мне взбрело в голову)
8. Гость 27.11.14 20:14
Какой релиз платформы 8.3 использовали и какой релиз Бухгалтерии Предприятия 3.0 ?
9. ssvetusik (ssvetusik) 28.11.14 06:48
(8) 1С:Предприятие 8.3 (8.3.5.1088)
Бухгалтерия предприятия, редакция 3.0 (3.0.34.10)
10. Римма Герасименко (WhiteOwl) 02.12.14 14:31
(1) ага, и еще разбанить установку значения в менеджере константы, а то там принудительно сбрасывается в "ложь". И ведь работает, только по головному и обособленному отдельно, а это же вроде не то, что нужно автору. А нашим бухам вообще не совсем понятно, что нужно, они и сами не знают :)
11. Ирина Баранова (Ироида) 13.01.15 01:42
В общем модуле процедура вся на экран не поместилась, поправьте, пожалуйста
12. Сергей Николаев (magic.rain@list.ru) 13.01.15 16:03
Отчеты.сКассоваяКнигаПоПодразделениям.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);

сам метод СформироватьОтчет от типовой книги взят и переписан? а то ругается что нету метода..т.к отчёт внешний..
13. ssvetusik (ssvetusik) 15.01.15 04:59
(11), попробую отредактировать чтоб все поместилось
14. ssvetusik (ssvetusik) 15.01.15 05:00
(12), да все взято из стандартной типовой книги и переписано немного для внесенных изменений
15. K M (mhs) 16.01.15 04:52
Если не сложно выложите полный текст обработки общего модуля, т.к. не влез полностью на экран
16. K M (mhs) 16.01.15 05:37
Если не сложно выложите текст процедуры в общем модуле ... не вошел весь
17. Maks Bell (simpleday87) 07.07.15 05:58
Повторюсь комментарием, выложите пож-та текс процедуры Процедура сПКОПроведениеОбработкаПроведения полностью
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа