счёт на 21 200 рублей: как автоматизировал создание внутри 1С
счёт на 21 200 рублей: как автоматизировал создание внутри 1С Самая незаметная часть сервиса находится внутри 1С — между кнопкой и готовым счётом. Самая незаметная часть сервиса MPDelivery Flow — внутри 1С. Бухгалтер видит только кнопку и готовый счёт, а между ними расширение принимает данные, проверяет их и создаёт документ с нужными реквизитами. В основе лежит стандартный документ «Счёт покупателю». Не рисую внешнюю бумажку — счёт появляется в базе, получает номер, связывается с клиентом, организацией и договором, из него формируется штатный PDF. Для этого написал несколько модулей на языке 1С: проверка входящих данных, обработка HTTP-запросов, серверный модуль для работы с документами, учёт НДС и защита от повторов. Проще говоря, 1С получает поручение: «Вот заявка, ИП, клиент, дата и сумма — проверь и создай счёт, если нельзя — объясни, почему». Первое — организация. Для каждого ИП нужны точные настройки: от чьего имени создаётся счёт, какой банковский счёт, какая услуга попадёт в строку. Нельзя брать первый попавшийся счёт или случайно выбранную организацию. Дальше клиент. Если есть ИНН — ищу по реквизитам, нет — по названию. При однозначном совпадении двигаюсь дальше, при нескольких карточках — останавливаю заявку. Поиск адаптирован под реальные ситуации: сокращённые ФИО, инициалы, разный регистр, «ИП» в начале или конце. Следующий этап — договор. Он должен относиться к клиенту и выбранному ИП, подходить по операции и дате. Если договора нет, счёт не формируется. Автоматизация не должна молча обходить отсутствие договора ради отчёта «всё успешно». Отдельно — НДС. Все суммы в таблицах уже с налогом, значит сервис сохраняет итоговую цену и корректно выделяет НДС внутри неё. У ИП разные настройки, поэтому ставку не зашивал жёстко: расширение обращается к настройкам 1С с учётом организации, услуги и даты. Далее штатный механизм 1С заполняет счёт, а после проверяю, что остались ожидаемые организация, покупатель, договор, дата, валюта и сумма. Большой участок — повторы. Если сервер отправил заявку, 1С создала счёт, а ответ потерялся, повторная отправка может дать второй документ. Сделал постоянную связь между ИП, заявкой и счётом: повторный запрос с теми же данными возвращает существующий результат. Сотрудник не должен бояться, что повторная попытка размножит счета. PDF отделил от создания документа: если счёт есть, а печатная форма не получилась, повторяю получение файла, новый счёт не нужен. Содержание проверял по реальным образцам. Бухгалтер спросил: если написать только «по заявке», где перевозка? Доработал услугу: адрес погрузки, пункт разгрузки, дата, номер машины. Название PDF сделал рабочим — клиент, дата, номер счёта. Первое испытание выявило неожиданное: в тестовой базе были английские региональные настройки, дата и сумма прописью выходили по-английски. Исправил настройками базы. Первым подтверждённым результатом стал счёт №224 на 21 200 рублей от одного из ИП: появился в тестовой 1С, штатный PDF вышел на русском и доставлен в Telegram. Так появился модуль интеграции с понятным поведением. 👉 Телеграм: @hudushin_seo 👉 MAX: max.ru/id623410360097_biz 👉 Речевая аналитика: slishnoai.ru #ХудушинМаксим #ZarubaFitness #ЗарубаФитнес #Подольск