База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как реализовать автоматическое формирование отчета об остатках SMS в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца, 3 недели назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
6 августа 2025 в 18:00 #33174
OdineskiУчастник* Автоматическое формирование Отчета об остатках SMS: необходимо создать регламентное задание, которое будет ежедневно проверять баланс SMS-сервиса через REST API, записывать остаток в регистр и отправлять уведомление ответственному лицу, если баланс меньше 500 SMS. Ожидается описание алгоритма, пример кода запроса к API и структура сохранения данных в 1С.
* Отправка логов кассы при ошибках пробития чека: в случае ошибки при фискализации документа «Реализация товаров и услуг», нужно сохранять текст ошибки в отдельный журнал (регистр сведений) и отправлять лог в Telegram-бот или на email. Ожидается фрагмент кода обработки ошибки, создание записи в регистр и вызов REST-запроса в TG-бот.
* Доработка обработки инвентаризации: требуется модифицировать существующую обработку для автоматического подсчета излишков/недостач по категориям и формирования сводного документа «Итоги инвентаризации» с группировкой по магазинам. Ожидается описание доработки, схема или макет печатной формы.
* Интеграция с CRM: необходимо настроить передачу данных по заказам из 1С во внешнюю CRM. Данные включают дату, сумму, статус оплаты и ответственного менеджера. Ожидается структура JSON-запроса, логика HTTP-вызова и проверка статуса ответа.
* Контроль доступа к функциям (админ vs. продавец): нужно реализовать проверку прав пользователя, чтобы заблокировать доступ к определенной форме/документу, если пользователь не входит в группу «Администрация». Необходимо также предусмотреть обработку исключения с выводом сообщения. Ожидается пример кода с использованием ПраваДоступа.ПоточнийКористувач. -
6 августа 2025 в 18:00 #33175
Odin — ОдинэсникУчастникДля автоматического формирования отчета об остатках SMS через REST API необходимо выполнить следующие требования:
1. **Регламентное задание**:
— Создать регламентное задание, которое будет выполняться ежедневно в определенное время.2. **Запрос к REST API**:
— Необходимо иметь доступ к REST API SMS-сервиса, который предоставляет информацию о текущем балансе.
— Подготовить код для выполнения HTTP-запроса (GET или POST) к API, который возвращает данные о балансе SMS.3. **Обработка ответа**:
— Обработать ответ от API, извлекая информацию о текущем остатке SMS.
— Проверить, если остаток меньше 500 SMS, то инициировать отправку уведомления.4. **Запись в регистр**:
— Создать регистр (например, «ОстаткиSMS»), в который будет записываться информация о балансе SMS, включая дату и время проверки, остаток и статус (например, «Нормально» или «Низкий»).5. **Уведомление**:
— Реализовать механизм отправки уведомления ответственному лицу (например, через email или Telegram), если остаток SMS меньше 500.### Пример кода запроса к API
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950511CПроцедура ПроверитьБалансSMS()// URL API для получения балансаURL = "https://api.sms-service.com/balance";// Создаем HTTP-запросЗапрос = Новый HTTPЗапрос(URL);Запрос.УстановитьЗаголовок("Authorization", "Bearer " + ТокенДоступа);// Выполняем запросОтвет = Запрос.Выполнить();Если Ответ.КодСостояния = 200 Тогда// Обрабатываем ответДанные = Ответ.ПолучитьТелоКакСтроку();Остаток = ПолучитьОстатокИзОтвета(Данные);// Записываем в регистрЗаписатьВРегистр(Остаток);// Проверяем остатокЕсли Остаток < 500 ТогдаОтправитьУведомление(Остаток);КонецЕсли;Иначе// Обработка ошибокСообщить("Ошибка при получении баланса: " + Ответ.КодСостояния);КонецЕсли;КонецПроцедурыФункция ПолучитьОстатокИзОтвета(Данные)// Логика для извлечения остатка из ответа// Например, если ответ в формате JSONОтветJSON = Новый JSONЧтение(Данные);Возврат ОтветJSON.Получить("balance");КонецФункцииПроцедура ЗаписатьВРегистр(Остаток)// Логика записи остатка в регистрРегистр = РегистрыСведений.ОстаткиSMS.СоздатьНаборЗаписей();НоваяЗапись = Регистр.Добавить();НоваяЗапись.Дата = ТекущаяДата();НоваяЗапись.Остаток = Остаток;Регистр.Записать();КонецПроцедурыПроцедура ОтправитьУведомление(Остаток)// Логика отправки уведомленияСообщение = "Внимание! Остаток SMS: " + Остаток;// Отправка через email или TelegramКонецПроцедуры### Структура сохранения данных в 1С
Регистр сведений «ОстаткиSMS» может иметь следующую структуру:
— **Дата** (Дата) — дата и время проверки остатка.
— **Остаток** (Число) — количество оставшихся SMS.
— **Статус** (Строка) — статус остатка (например, «Нормально», «Низкий»).Эта структура позволит отслеживать изменения в остатках SMS и реагировать на их снижение.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.