Оплаты из своей программы в 1С: клиника, салон, самописная система. Схема загрузки через расширение

09.10.26

Интеграция - WEB-интеграция

Во многих компаниях основная работа идёт не в 1С: в клинике — медицинская информационная система, в салоне — программа онлайн-записи, в сервисной компании — самописная система заявок. Там записывают клиентов, оказывают услуги и принимают оплату, а бухгалтерия и управленческий учёт — в 1С. Ниже — как я раскладываю загрузку оплат и услуг на стороне 1С через расширение: что забирать, в какие документы, как не задвоить и не потерять возвраты, и о чём договориться до разработки.

 

Во многих компаниях основная работа идёт не в 1С. В клинике — медицинская информационная система, в салоне — программа онлайн-записи, в сервисной компании — самописная система заявок, которую когда-то сделал знакомый программист. Там записывают клиентов, оказывают услуги и принимают оплату. А бухгалтерия и управленческий учёт — в 1С.

Между ними почти всегда стоит человек. Вечером или раз в неделю он выгружает отчёт из своей программы и переносит в 1С: выручку по кассе, оплаты картой, оказанные услуги, возвраты. Готового модуля обмена у отраслевой программы часто нет, а у самописной его нет никогда.

Ниже — как я раскладываю такую загрузку на стороне 1С: что забирать, в какие документы, как не задвоить и не потерять возвраты, и где проходят границы, о которых лучше договориться до разработки. Примеры кода упрощены и написаны для статьи; имена документов и реквизитов зависят от конфигурации (БП, УНФ, УТ, КА).

 

Что вообще нужно 1С из чужой программы

Первая ошибка — пытаться перенести в 1С всё, что есть в источнике. 1С не нужна медицинская карта пациента, история записей или комментарии мастера. Ей нужно то, что имеет учётный смысл:

  • оказанные услуги — что, когда, на какую сумму, по какому подразделению;
  • оплаты — сколько, когда, каким способом (наличные, карта, онлайн, сертификат, депозит клиента);
  • возвраты и отмены;
  • иногда — расход материалов на услугу, если его ведут в источнике.

Для клиник отдельно: персональные и тем более медицинские данные в 1С без необходимости не тянем. Часто для учёта достаточно агрегата по дню или по чеку и обезличенного «розничного покупателя». Если по договору нужен конкретный контрагент (юрлицо, страховая, корпоративный клиент) — тогда да, контрагент с ИНН. Решение фиксируем вместе с ответственным за персональные данные у заказчика, а не по умолчанию.

 

Первая развилка: кто пробил чек

Это вопрос, который нужно задать в первый день, иначе можно сломать фискальный учёт.

Если касса подключена к своей программе и чеки пробивает она — 1С не должна пробивать чеки повторно. Документы в 1С создаются как отражение уже совершённых расчётов, без вызова подключаемого оборудования. Если чеки пробиваются из 1С — это другая схема, и она к загрузке из внешней программы обычно не относится.

На практике почти всегда первый вариант: касса живёт там, где работает администратор.

 

Вторая развилка: каждый платёж или итоги дня

 

Вариант Плюсы Минусы Когда подходит
Документ на каждую оплату Прозрачность, лёгкая сверка с источником Много документов, выше нагрузка на проведение Мало операций, важен клиент в каждом платеже, корпоративные клиенты
Итоги дня по кассе и способу оплаты Мало документов, привычно бухгалтеру Сверка детализации — только в источнике Розничный поток физлиц: салоны, клиники, сервисы
Смешанный Физлица — итогом, юрлица — каждым документом Сложнее правила Чаще всего в реальности

 

Решение принимает бухгалтер. Механизм загрузки должен уметь оба режима, потому что через полгода режим могут поменять.

 

Какие документы получаются

Условное соответствие (уточняется под конфигурацию и учётную политику заказчика):

 

Событие в источнике Бухгалтерия предприятия УНФ
Оплата наличными Поступление наличных Поступление в кассу
Оплата картой Операция по платёжной карте Операция по платёжной карте
Оказанные услуги физлицам за день Отчёт о розничных продажах / Реализация (акт) Акт выполненных работ / Отчёт о розничных продажах
Услуги юрлицу Реализация (акт, накладная) Акт выполненных работ
Возврат Документ возврата / сторнирующая запись по правилам учёта аналогично

 

Отдельные случаи, которые надо обсудить заранее: сертификаты (оплата сертификатом — не выручка в момент продажи сертификата, а при оказании услуги), депозиты и абонементы (аванс клиента), рассрочка и оплата страховой. Каждый из них — отдельное правило, и лучше их выписать до первой строки кода.

 

Как забирать данные

У отраслевых программ бывает API (REST, иногда с вебхуками), у самописных — что угодно: от API до доступа к таблице в базе данных или выгрузки файла в папку. Схема на стороне 1С при этом одна:

Своя программа ^72;^72; API / вебхук / файл ^72;^72;`58; Расширение 1С
                                             ^74; сохранить сырое
                                             `60;
                                   Регистр «Входящие операции»
                                             ^74; разбор
                                             `60;
                          Сопоставление: услуги, способы оплаты, кассы, подразделения
                                             ^74;
                          ^84;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;_24;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^88;
                          `60;                                    `60;
                    Документы 1С                       «Требует внимания»

Если источник отдаёт операции по API, самый надёжный способ опроса — курсор по времени изменения и идентификатору, а не «за сегодня»:

Процедура ЗабратьОперации(Источник) Экспорт

    Курсор = ПолучитьКурсор(Источник); // Структура: МоментИзменения, ПоследнийИд
    // Запас назад — на случай операций, изменённых задним числом
    С = Курсор.МоментИзменения - ЗапасСекунд(Источник);

    Пока Истина Цикл
        Порция = КлиентAPI.ОперацииИзмененныеПосле(Источник, С, Курсор.ПоследнийИд, 200);
        Если Порция.Количество() = 0 Тогда
            Прервать;
        КонецЕсли;
        Для Каждого Операция Из Порция Цикл
            СохранитьВходящую(Источник, Операция); // идемпотентно по внешнему ID + версии
        КонецЦикла;
        Последняя = Порция[Порция.ВГраница()];
        Курсор.МоментИзменения = Последняя.ИзмененВ;
        Курсор.ПоследнийИд     = Последняя.Ид;
        СохранитьКурсор(Источник, Курсор);
    КонецЦикла;

КонецПроцедуры

Почему не «за сегодня»: администратор вполне может отменить оплату за вчера или исправить способ оплаты задним числом. Опрос по дате операции этого не увидит, опрос по времени изменения — увидит.

 

Идемпотентность и версии

Ключ входящей операции — источник + внешний ID. Но в отличие от заказов с сайта, оплаты в своей программе часто правят: меняют способ оплаты, сумму, отменяют. Поэтому вместе с ключом храним хеш содержимого:

Функция ДействиеПоОперации(Ключ, ХешСодержимого)

    Сохраненное = РегистрыСведений.Обмен_СоответствиеОпераций.Получить(
        Новый Структура("Ключ", Ключ));

    Если Не ЗначениеЗаполнено(Сохраненное.Документ) Тогда
        Возврат "Создать";
    ИначеЕсли Сохраненное.Хеш = ХешСодержимого Тогда
        Возврат "Пропустить"; // повтор той же версии
    ИначеЕсли ПериодОткрыт(Сохраненное.Документ) Тогда
        Возврат "Обновить";
    Иначе
        Возврат "НаРазбор"; // изменение в закрытом периоде — решает бухгалтер
    КонецЕсли;

КонецФункции

Для режима «итоги дня» логика та же, но ключом становится «источник + касса + дата + способ оплаты», а хешем — хеш всех операций, вошедших в итог. Изменилась любая операция за день — пересчитываем итог, если период открыт; если закрыт — в очередь разбора.

 

Сопоставление: справочники источника и 1С

Типовые пары, которые нужно сопоставить один раз и хранить в регистре соответствий:

  • услуги источника → номенклатура (услуги) в 1С. В клиниках и салонах прайс часто подробнее, чем нужно бухгалтерии: десятки вариантов процедуры в источнике могут сводиться к нескольким позициям в 1С. Это нормально, соответствие «многие к одному» — допустимый вариант;
  • способы оплаты → касса / эквайринговый договор / вид оплаты;
  • филиалы, кабинеты → подразделения и склады;
  • сотрудники — только если нужна аналитика по исполнителю в 1С (например, для расчёта процента мастера). Если не нужна — не тянем.

Всё, что не сопоставилось, не падает и не создаёт новые элементы, а уходит в очередь «требует внимания». Новая услуга в прайсе источника — типичная причина: администратор один раз указывает, что это за позиция в 1С, связь запоминается.

 

Сверка: главный аргумент для бухгалтера

Бухгалтер поверит загрузке, только если может её проверить. Поэтому в расширении стоит сразу сделать простой отчёт сверки за период:

  • сумма оплат по способам оплаты в источнике (из сохранённых сырых данных);
  • сумма по тем же способам в документах 1С;
  • разница и список операций, которые её дают (в очереди разбора, отменены, в закрытом периоде).

Если сырые данные сохраняются, отчёт строится без повторного обращения к источнику и показывает ровно то, что было получено.

 

Всё в расширении

Как и любая подобная интеграция, загрузка делается расширением: свой HTTP-сервис или регламентное задание опроса, свои регистры входящих и соответствий, свои обработки разбора и мониторинга. Типовые документы создаются программно, без правки их модулей и форм. Типовая конфигурация остаётся на поддержке; правила сопоставления и режимы настраиваются в режиме предприятия.

 

О чём договориться до начала

Короткий чек-лист для первой встречи с заказчиком:

  1. Кто пробивает чеки: своя программа или 1С?
  2. Каждый платёж или итоги дня? Для кого — исключения?
  3. Какие способы оплаты бывают, включая сертификаты, депозиты, страховые, рассрочку?
  4. Как в источнике выглядят возвраты и отмены и можно ли их отличить от правки?
  5. Есть ли у источника API, и отдаёт ли оно операции по времени изменения?
  6. Какие персональные данные реально нужны в 1С — и можно ли обойтись без них?
  7. Кто разбирает очередь «требует внимания» и кому слать оповещения?

Ответы на эти вопросы определяют объём работы сильнее, чем сам источник.

 

Вместо выводов

Загрузка оплат и услуг из своей программы — не про «написать обмен», а про учётные правила: кто фискализирует, что считать выручкой, как отражать возвраты и правки задним числом. Технически схема стандартная: сохранить сырое → курсор по времени изменения → идемпотентность с версией → сопоставление через регистр → очередь разбора → отчёт сверки. Всё это помещается в расширение и не трогает типовую.

Если у вас клиника, салон или своя система, из которой выручку пока переносят в 1С руками, — опишите в комментариях, какая программа и как устроены оплаты. Разберу типовые ловушки для конкретного случая.

Вступайте в нашу телеграмм-группу Инфостарт

интеграция расширение оплаты HTTP-сервис

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    194767    479    310    

473

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    192532    383    296    

436

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    165012    1009    329    

492

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    211438    186    254    

303

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    37113    268    68    

204

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

27572 руб.

18.02.2016    209242    686    559    

565

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    64466    86    137    

83
Для отправки сообщения требуется регистрация/авторизация