1с квитирование при обмене
В настройках ГИС ЖКХ есть возможность квитировать платежи автоматически. Но работает она не во всех случаях. Если платёжные документы не сквитированы автоматически, исполнителю жилищно-коммунальных услуг придётся сделать это вручную. Расскажем, как.
Что такое квитирование
Исполнитель жилищно-коммунальных услуг ежемесячно сопоставляет суммы начислений и оплат за ЖКУ, размещает в системе информацию, что платёжный документ оплачен. Этот процесс называется квитированием.
В квитировании участвуют:
- исполнитель жилищно-коммунальных услуг,
- банк,
- платёжный агент, если организация делегирует ему права.
Исполнитель ЖКУ каждый месяц загружает в систему информацию о начисленной плате, задолженностях и переплатах. Это надо сделать до 1 числа следующего месяца или в другой срок, если он согласован в договоре управления. Сроки установлены приказом Минкомсвязи РФ, Минстроя РФ от 29.02.2016 № 74/114/пр. Разместить информацию можно одним из двух способов:
- в личном кабинете организации в ГИС ЖКХ;
- из информационной системы, которую использует УО.
Банк (платёжный агент) в течение двух часов после оплаты квитанции потребителем размещает в ГИС ЖКХ информацию о полученном платеже.
Если в настройках личного кабинета вашей организации включена функция автоматического квитирования, информация о начисленной и о внесённой плате сопоставится в системе автоматически, после чего в системе отразятся сведения, что начисленная потребителю сумма оплачена.
Данные об оплаченных начислениях появятся в ГИС ЖКХ автоматически только в том случае, если размер начисленной и внесённой платы полностью совпадёт. Если размер платы отличается, или во время оплаты потребитель забыл указать номер платёжного документа, квитировать документы придётся исполнителю ЖКУ вручную или с помощью дополнительных программ.
Если функция автоматического квитирования не подключена, раздел придётся заполнить вручную. Дальше мы расскажем, как это сделать в три шага.
Шаг 1. Выберите нужный платёжный документ
В личном кабинете организации в ГИС ЖКХ выберите вкладку «Оплата ЖКУ» и в выпадающем списке нажмите на строку «Квитирование».
Обмен данными с использованием планов обмена и квитирование ( на примере)
Внимание! Данный функционал доступен в "Библиотеке стандартных подсистем", начиная с версии 2.3.1.62.
Настройки конфигурации
Для настройки обмена данными с квитированием на стороне конфигурации нужно зарегистрировать стороннее приложение, с которым будет вестись обмен. Конкретный экран этой настройки может выглядеть несколько по-разному в разных прикладных решениях фирмы «1С». В демо-конфигурации, использовавшейся в примерах, он выглядит так:
Веб-сервис EnterpriseDataExchange
Веб-сервис EnterpriseDataExchange предназначен для двустороннего обмена данными между конфигурацией и сторонними приложениями.
Передача данных из стороннего приложения в информационную базу
Реализуем функцию, принимающую параметры:
- URL веб-сервиса,
- Имя пользователя для соединения с веб-сервисом,
- Пароль,
- Код приложения,
- Имя плана обмена,
- Путь до архивированного файла с данными. Если архив умещается в одном файле – это имя файла с полным путем, включая расширение (например, “C:\Exchange\data.zip”). Если же архив разбит на несколько частей, то это будет имя любого из файлов без расширения и точки (например, “C:\Exchange\data”); предполагается, что это последовательность файлов с расширениями “.001”, “.002” и т.д.
Функция отправляет данные в конфигурацию и дожидается окончания их обработки на стороне конфигурации.
Реализация функции (в виде статического метода):
Пример на Java:
Получение данных из информационной базы сторонним приложением
Для получения данных из информационной базы используется следующая последовательность вызова веб-методов:
- Проверить соединение с приложением с помощью метода TestConnection.
- Выполнить метод PrepareDataForGetting.
- С помощью метода PrepareDataActionResult получить результат выполнения метода PrepareDataForGetting . Если в результате выполнения метода PrepareDataActionResult выяснилось, что метод PrepareDataForGetting еще выполняется (в возвращаемом поле « Status» значение «Active» ), то выполнение метода PrepareDataActionResult необходимо повторять (например, каждые 5 сек.) до тех пор, пока метод PrepareDataForGetting не будет выполнен (в возвращаемом поле « Status» значение поля станет отлично от «Active»).
- Если метод PrepareDataForGetting был выполнен успешно, то получить все части сформированного файла с помощью метода GetDataPart .
- Сообщить приложению, что все файлы получены с помощью метода ConfirmGettingFile .
Реализуем функцию, принимающую параметры:
- URL-адрес веб-сервиса,
- Имя пользователя для соединения с веб-сервисом,
- Пароль,
- Код приложения,
- Имя плана обмена,
- Имя файла (без расширения), в который надо записать полученную информацию. Если полученный файл один – функция прибавит к нему расширение “.zip”, если несколько – прибавит расширения “.001”, “.002” и т.д.
Функция отправляет данные в конфигурацию и дожидается окончания их обработки на стороне конфигурации.
Обмен данными с использованием планов обмена и квитирование ( на примере)
Внимание! Данный функционал доступен в "Библиотеке стандартных подсистем", начиная с версии 2.3.1.62.
Настройки конфигурации
Для настройки обмена данными с квитированием на стороне конфигурации нужно зарегистрировать стороннее приложение, с которым будет вестись обмен. Конкретный экран этой настройки может выглядеть несколько по-разному в разных прикладных решениях фирмы «1С». В демо-конфигурации, использовавшейся в примерах, он выглядит так:
Веб-сервис EnterpriseDataExchange
Веб-сервис EnterpriseDataExchange предназначен для двустороннего обмена данными между конфигурацией и сторонними приложениями.
Передача данных из стороннего приложения в информационную базу
Реализуем функцию, принимающую параметры:
- URL веб-сервиса,
- Имя пользователя для соединения с веб-сервисом,
- Пароль,
- Код приложения,
- Имя плана обмена,
- Путь до архивированного файла с данными. Если архив умещается в одном файле – это имя файла с полным путем, включая расширение (например, “C:\Exchange\data.zip”). Если же архив разбит на несколько частей, то это будет имя любого из файлов без расширения и точки (например, “C:\Exchange\data”); предполагается, что это последовательность файлов с расширениями “.001”, “.002” и т.д.
Функция отправляет данные в конфигурацию и дожидается окончания их обработки на стороне конфигурации.
Реализация функции (в виде статического метода):
Пример на Java:
Получение данных из информационной базы сторонним приложением
Для получения данных из информационной базы используется следующая последовательность вызова веб-методов:
- Проверить соединение с приложением с помощью метода TestConnection.
- Выполнить метод PrepareDataForGetting.
- С помощью метода PrepareDataActionResult получить результат выполнения метода PrepareDataForGetting . Если в результате выполнения метода PrepareDataActionResult выяснилось, что метод PrepareDataForGetting еще выполняется (в возвращаемом поле « Status» значение «Active» ), то выполнение метода PrepareDataActionResult необходимо повторять (например, каждые 5 сек.) до тех пор, пока метод PrepareDataForGetting не будет выполнен (в возвращаемом поле « Status» значение поля станет отлично от «Active»).
- Если метод PrepareDataForGetting был выполнен успешно, то получить все части сформированного файла с помощью метода GetDataPart .
- Сообщить приложению, что все файлы получены с помощью метода ConfirmGettingFile .
Реализуем функцию, принимающую параметры:
- URL-адрес веб-сервиса,
- Имя пользователя для соединения с веб-сервисом,
- Пароль,
- Код приложения,
- Имя плана обмена,
- Имя файла (без расширения), в который надо записать полученную информацию. Если полученный файл один – функция прибавит к нему расширение “.zip”, если несколько – прибавит расширения “.001”, “.002” и т.д.
Функция отправляет данные в конфигурацию и дожидается окончания их обработки на стороне конфигурации.
В этой статье поговорим о планах обмена. Зачем они нужны? И если нужны, то можно ли сделать свой, не копируя типовую реализацию? Статья предназначена в основном для разработчиков, но будет полезна всем, кто интересуется подобной темой.
Также в плане обмена есть несколько стандартных реквизитов. Например, «Номер принятого» и «Номер отправленного». Эти реквизиты удобно использовать для того, чтобы принимать только актуальную информацию, которая не была ранее принята. А теперь обо всем этом подробней и с примерами. Хоть планы обмена кому-то и кажутся чем-то страшным и необъяснимым, после прочтения статьи, думаю, все станет просто и понятно.
1. Создание и регистрация, узлы плана обмена.
Приведем пример, когда нам нужно выгружать измененные номенклатуры (для ТСД, мобильного устройства, промежуточной базы или пр.).
Ищем в дереве конфигурации ветку «Общие» -- «Планы обмена». Добавляем новый план обмена.
Назовем его «ОбменНоменклатурой_Тест». Включаем в состав нужные объекты. В этом примере справочник «Номенклатура».
//Здесь налаживаем отборы
//и сам код регистрации
Узел = ПланыОбмена.ОбменНоменклатурой_Тест.НайтиПоКоду("Тест");
ПланыОбмена.ЗарегистрироватьИзменения(Узел, Источник);
В режиме предприятия создадим новый узел плана обмена. Это, по сути, элемент плана обмена, который будет использоваться только для одного приемника. Хотя, если не требуется подтверждение о приеме данных, то с одного узла можно рассылать данные всем, но здесь мы такой вариант не рассматриваем, так как он намного проще и будет понятен по ходу статьи.
Создадим новый элемент в справочнике «Номенклатура» в 1С. Переходим снова в обработку, нажимаем кнопку «Обновить» и видим, что у нас этот объект зарегистрировался автоматически.
2. 1С Выгрузка планов обмена.
Например, создадим кнопку в списке плана обмена и назначим на нее обработчик на сервере.
Есть возможность выбирать изменения объектной моделью, вот так:
Пока ВыборкаИзменений.Следующий() Цикл
КонецЦикла;
Также есть возможность выбора изменений запросом:
В процедуре на сервере давайте откроем конструктор запроса с обработкой результата и посмотрим, как выбрать изменения. В конструкторе есть кнопка «Отображать таблицы изменений». После нажатия на эту кнопку мы увидим таблицы, в которых хранятся наши изменения.
Накладывая отбор на узел, мы можем получить изменения только по определенному приемнику, а в ссылке хранится объект, то есть ссылка на номенклатуру. Но при выборе запросом, выгруженные изменения придется помечать вручную.
В итоге процедура будет выглядеть так:
После того как мы воспользуемся кнопкой в обработке регистрации изменений для обмена данными, мы увидим, что данные помечены, как выгруженные. И в колонке «Номер отправленного» мы видим номер пакета, в котором была произведена 1С выгрузка объекта.
3. Порядок снятия с регистрации.
После этого, регистрация изменений будет снята.
Если приемник не получил данные, то при следующей выборке все данные, для которых не снята регистрация будут выгружены повторно.
В общем, повторюсь, план обмена помогает организовать обмен данными со сторонними системами. И в этой статье мы разобрали, как на самом деле просто с ним работать.
Читайте также: