При интеграции внешних товароучетных систем (например, Front-office решений или ДАЛИОН) с конфигурацией «1С:Бухгалтерия предприятия 3.0» разработчики часто сталкиваются с ситуацией: документ ПриходныйКассовыйОрдер успешно создается программно и проводится без ошибок, однако в регистре бухгалтерии Хозрасчетный отсутствуют проводки. Ручное перепроведение документа также не дает результата. Проанализируем, почему типовая конфигурация ведет себя именно так и как правильно организовать перенос данных.
Посмотрим на типовой фрагмент кода, который часто пишется при переносе данных:
Док = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
Док.УстановитьНовыйНомер();
Док.Дата = Выб.Дата;
Док.ВидОперации = Перечисления.ВидыОперацийПКО.РозничнаяВыручка;
Док.Организация = Справочники.Организации.НайтиПоНаименованию(Выб.Организация.Наименование, 0);
Док.ПодразделениеОрганизации = НайтиПодразделение(Выб.Склад);
Док.Контрагент = НайтиСклад(Выб.документоснование.Склад, Док.ПодразделениеОрганизации);
Док.ВалютаДокумента = Валюта;
Док.СчетКасса = ПланыСчетов.Хозрасчетный.КассаОрганизации;
Док.Комментарий = "#импорт из ДАЛИОН № " + Выб.Номер +" от " + Выб.Дата;
Док.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01");
ТаблицаОКС = Выб.документоснование.товары.выгрузить();
ТаблицаОКС.Свернуть("СтавкаНДС", "СуммаНДС,Сумма");
Для Каждого Стр Из ТаблицаОКС Цикл
НовРасш = Док.РасшифровкаПлатежа.Добавить();
НовРасш.СпособПогашенияЗадолженности = Перечисления.СпособыПогашенияЗадолженности.Автоматически;
НовРасш.СуммаПлатежа = Стр.Сумма;
НовРасш.СтавкаНДС = НайтиСтавкуНДС(Стр.СтавкаНДС);
НовРасш.СуммаНДС = Стр.СуммаНДС;
НовРасш.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.РозничнаяВыручка;
НовРасш.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01");
НовРасш.КратностьВзаиморасчетов = 1;
СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным;
КонецЦикла;
Док.СуммаДокумента = Док.РасшифровкаПлатежа.Итог("СуммаПлатежа");
Док.Записать(РежимЗаписиДокумента.Проведение);
Выясним причину такого поведения документа. В типовой конфигурации «1С:Бухгалтерия 3.0» логика формирования проводок жестко привязана к типу торговой точки и разделению функций между документами:
ОтчетОРозничныхПродажах. Именно он делает проводки Дт 50.01 (50.02) – Кт 90.01.1, Дт 90.02.1 – Кт 41.11 и Дт 90.03 – Кт 68.02. Документ ПриходныйКассовыйОрдер с видом операции РозничнаяВыручка для АТТ предназначен исключительно для формирования кассовой книги и печати формы КО-1. Проводки в нем намеренно заблокированы программно, чтобы исключить задвоение суммы выручки и остатка по кассе.РозничнаяВыручка. В этом случае документ сформирует проводки Дт 50.01 – Кт 90.01 (или Кт 57).РозничнаяВыручка реквизит Контрагент не используется (вместо него заполняется реквизит Склад), а табличная часть РасшифровкаПлатежа относится к взаиморасчетам с покупателями (вид операции ОплатаОтПокупателя) и не обрабатывается механизмом проведения розничной выручки.Разберем способы правильной реализации задачи в зависимости от выбранной на предприятии учетной политики и схемы интеграции.
Если выгрузка из фронт-офиса передает информацию о проданных товарах (пономенклатурно), правильной методологией является создание документа ОтчетОРозничныхПродажах. Приходный кассовый ордер в этом случае создается параллельно только для кассовой книги.
Рассмотрим структуру формирования документов:
ОтчетОРозничныхПродажах, который списывает товар со счета 41 и начисляет выручку на счет 90.01.ПриходныйКассовыйОрдер с видом операции РозничнаяВыручка, указываем в реквизите Склад склад типа Розничный магазин. Проводим документ в режиме РежимЗаписиДокумента.Проведение — он попадает в кассовую книгу, не дублируя проводки отчета.Если на предприятии не ведется пономенклатурный учет продаж в рознице внутри 1С:Бухгалтерии, а требуется получить проводки по выручке именно из кассового ордера, необходимо переключить тип склада торговой точки.
Разберем по шагам, как настроить документ:
Склады реквизит ТипСклада у торговой точки должен иметь значение Неавтоматизированная торговая точка.Склад, а не в Контрагент.Посмотрим на пример заполнения документа для склада НТТ:
Док = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
Док.УстановитьНовыйНомер();
Док.Дата = Выб.Дата;
Док.ВидОперации = Перечисления.ВидыОперацийПКО.РозничнаяВыручка;
Док.Организация = Выб.Организация;
Док.Склад = Справочники.Склады.НайтиПоНаименованию("Торговая точка (НТТ)");
Док.СчетКасса = ПланыСчетов.Хозрасчетный.КассаОрганизации;
Док.СуммаДокумента = Выб.СуммаВыручки;
Док.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ВыручкаНеОблагаемаяЕНВД; // 90.01.1
Док.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.РозничнаяВыручка;
Док.Комментарий = "Оприходование розничной выручки НТТ";
Док.Записать(РежимЗаписиДокумента.Проведение);
Если выручка уже была отражена по кассе ККМ (счет 50.02) или через счет инкассации/переводов в пути (57.01) и требуется переместить денежные средства в главную кассу организации (50.01), операция РозничнаяВыручка не подойдет.
Для таких проводок используется вид операции ПрочийПриход:
Док = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
Док.УстановитьНовыйНомер();
Док.Дата = Выб.Дата;
Док.ВидОперации = Перечисления.ВидыОперацийПКО.ПрочийПриход;
Док.Организация = Выб.Организация;
Док.СчетКасса = ПланыСчетов.Хозрасчетный.КассаОрганизации; // 50.01
Док.СчетКредита = ПланыСчетов.Хозрасчетный.КассаОперационная; // 50.02 (или 57.01)
Док.СуммаДокумента = Выб.Сумма;
Док.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.РозничнаяВыручка;
Док.Записать(РежимЗаписиДокумента.Проведение);
Резюме: Если бухгалтерии требуются проводки от ПКО с операцией РозничнаяВыручка, проверьте тип склада в справочнике Склады. Для розничных магазинов (АТТ) отсутствие проводок в ПКО — это штатное поведение конфигурации, гарантирующее корректность кассовой книги и исключающее дублирование бухгалтерских итогов с отчетами о продажах.