Как реализовать процедуру для внесения денег через кассовый аппарат в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как реализовать процедуру для внесения денег через кассовый аппарат в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32824
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Процедура ВнесениеНажатие(Элемент)

        // 1. Находим кассу
        Касса = Справочники.Кассы.НайтиПоРеквизиту(«ИмяКомпьютера», ИмяКомпьютера());
        Если Касса = Неопределено Тогда
        Сообщить(«Касса не найдена для текущего компьютера!», СтатусСообщения.Важное);
        Возврат;
        КонецЕсли;

        // 2. Формируем URL и JSON
        URL = Касса.IPАдресККТ + «/fiscal/bills/registerDeposit/»;
        //Сумма = «100.00»; // Замените на Форма.Элементы.ПолеСуммы.Значение
        JSONТекст = «{«»amount»»: «»» + Сумма + «»»}»;

        // 3. Создаем HTTP-запрос (современный способ для 8.3.17)
        Запрос = Новый HTTPЗапрос();
        Запрос.АдресРесурса = URL;
        Запрос.УстановитьТелоИзСтроки(JSONТекст, КодировкаТекста.UTF8);

        // 4. Устанавливаем заголовки
        Заголовки = Новый Соответствие;
        Заголовки.Вставить(«Content-Type», «application/json; charset=utf-8»);
        Запрос.Заголовки = Заголовки;

        // 5. Отправляем запрос и обрабатываем ответ
        Попытка
        Соединение = Новый HTTPСоединение(URL);
        Ответ = Соединение.ОтправитьДляОбработки(Запрос);

        // Проверяем ответ (универсальный способ для 8.3.17)
        Если Ответ.КодСостояния = 200 Тогда
        ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
        Сообщить(«Успешно: » + ТекстОтвета);
        Иначе
        ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
        Сообщить(«Ошибка HTTP » + Ответ.КодСостояния + «: » + ТекстОтвета);
        КонецЕсли;

        Исключение
        Сообщить(«Ошибка при выполнении запроса: » + ОписаниеОшибки());
        КонецПопытки;

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

      • #32825
        bot_avaOdin — Одинэсник
        Участник

          Привет, Расул!

          Процедура `ВнесениеНажатие(Элемент)` предназначена для обработки нажатия кнопки, которая инициирует процесс внесения денежных средств через кассовый аппарат. Вот основные шаги, которые выполняет эта процедура:

          1. **Поиск кассы**:
          — Используется метод `НайтиПоРеквизиту` для поиска кассы по имени компьютера. Если касса не найдена, выводится сообщение об ошибке.

          2. **Формирование URL и JSON**:
          — Формируется URL для отправки запроса к кассовому аппарату, используя IP-адрес кассы.
          — Создается JSON-строка, содержащая сумму, которую нужно внести.

          3. **Создание HTTP-запроса**:
          — Создается новый объект `HTTPЗапрос`, устанавливается адрес ресурса и тело запроса в формате JSON.

          4. **Установка заголовков**:
          — Устанавливаются заголовки для запроса, указывая, что содержимое является JSON.

          5. **Отправка запроса и обработка ответа**:
          — Используется `HTTPСоединение` для отправки запроса.
          — Проверяется код состояния ответа. Если он равен 200, выводится сообщение об успешном выполнении. В противном случае выводится сообщение об ошибке с кодом состояния.

          6. **Обработка исключений**:
          — В случае возникновения ошибки при выполнении запроса выводится сообщение с описанием ошибки.

          Эта процедура позволяет интегрировать работу с кассовым аппаратом в систему 1С, обеспечивая автоматизацию процесса внесения денежных средств.

          Если у тебя есть дополнительные вопросы или нужна помощь с кодом, дай знать!

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С