Имя: Пароль:
1C
1С v8
УТ 11.4 Закрывается автоматически кассовая смена при входе в программу
0 Oneal13
 
11.06.21
16:13
Добрый день, комрады! УТ 11.4 на Apache 2.4 добавили еще одну кассу ККМ (обе Штрих-М). И на новом рабочем месте, если выйти из программы, и потом снова зайти, то при входе закрывается смена и печатается Z-отчет. И так при каждом перезаходе в программу. От пользователя не зависит. На первом рабочем месте такого нет и не было. Подскажите что посмотреть, чтобы поправить.
1 Mikhail Volkov
 
25.06.21
07:38
> ...закрывается смена и печатается Z-отчет.
Именно на кассе, из нее чек Z-отчета вылазит? А вообще удаленно из 1С (не всегда можно к кассе подойти) можно определить закрыта или нет на ней кассовая смена?
2 Мимохожий Однако
 
25.06.21
08:46
(1) ОФФ. Там уже все умерли за две недели)
3 Mikhail Volkov
 
25.06.21
09:36
У меня не УТ, Альфа-Авто. Если кассовая смена на кассе закрыта, то при отбитии 1-го чека кассовая смена открывается автоматически, вроде ничего делать не надо. А вот если вчерашнюю смену не закрыли, забыли (в Альфа-Авто это делается документами Закрытие кассовой смены и Инкассация), и 24 часа не истекли, то новый чек отобьется во вчерашнюю смену? Или на кассе автоматом вчерашняя смена смена автоматом закроется, и откроется новая? Или это в зависимости от настроек самой кассы/ФР?
4 acanta
 
25.06.21
09:38
Вероятно зависит от настроек фр.мне встречались программы, в которых чек не печатался из за не закрытой смены
5 Mikhail Volkov
 
25.06.21
09:42
(4) в которой истекли 24 часа?
6 acanta
 
25.06.21
09:46
Да. Х отчет и код ошибки (если он есть) может напечатать драйвер или кнопки при включении аппарата. Код ошибки иногда можно расшифровать только по мануалу.
7 acanta
 
25.06.21
09:47
Х отчет должен печататься всегда.
8 Mikhail Volkov
 
25.06.21
11:52
(6) Нужно определять закрыта ли кассовая смена на ФР именно из Альфа-Авто. Появилась Ошибка при гашении фискальных регистраторов
Ошибка инкассации: Ошибка при выполнении инкассации Ошибка при получении статуса ФРа АТОЛ-11Ф
ПолучитьСтатус: Устройство не включено
Закрытие кассовой смены ПРЕРВАНО
А при получении отчета из ОФД смена закрыта датой/временем неудачной попытки закрытия!? Может мне эту "ошибку" внести в список игнорируемых (как "Смена превысила 24 часа")?
9 Mikhail Volkov
 
26.06.21
06:58
Конечно в Альфа-Авто все общение с торговым оборудованием делается через Рарус_Компонента. Но в других 1С как-то можно определить состояние кассовой смены: закрыта или открыта?
10 Мимохожий Однако
 
26.06.21
07:45
У каждой кассы обычно есть собственный драйвер-программка, зайдя в которую (не открывая 1С), можно увидеть статус смены и закрыть, если необходимо. В 1С обычно есть процедура, которая может снять признак Открыта, если смена закрыта через эту программку
11 Mikhail Volkov
 
26.06.21
08:07
(10) Да, Тест драйвера ККТ, пока не пробовал: на какой вкладке? (сайты производителя АТОЛ забыл где?) Но мне нужно определять закрыта ли кассовая смена на ФР именно из Альфа-Авто. Хотя бы из любой другой 1С, может по аналогии пойму как...
12 Мимохожий Однако
 
26.06.21
09:08
(11) 1с обращается к программе-драйверу не всегда корректно. Поэтому надо найти на компьютере с кассой драйвер кассы Атола, зайти в эту программку и посмотреть смены. Там же можно закрыть или открыть, если необходимо. А потом уже,выйдя из этой программы, смотреть в базе 1С. И не важно Альфа-Авто или какая другая программа. Не надо зацикливаться на конфигурации 1С в подобных случаях
13 Mikhail Volkov
 
29.06.21
09:25
(12) Нашел команду "ПолучитьСостояние", написал функцию:
// Возвращает Истина, если кассовая смена на ФР закрыта
//
Функция КассоваяСменаНаФРЗакрыта(ФР, ТекстОшибки = "") Экспорт
    ПараметрыВозврата = Неопределено;    СостояниеСмены = Неопределено;
    GUID_ФР = ФР.ИдентификаторОборудования;    ТаймаутФР = ФР.Таймаут;
    КодОшибки = глРарус_Компонента.ЗаказатьВыполнениеДействияСинхронно(GUID_ФР, "ПолучитьСостояние", ПараметрыВозврата , ТаймаутФР);
    Если КодОшибки = 0 И ПараметрыВозврата <> Неопределено Тогда
        Попытка
            СостояниеСмены = ПараметрыВозврата.GetValue(1,0);
        Исключение КонецПопытки;
        Возврат СостояниеСмены = 1;
    Иначе
        Попытка ТекстОшибки = глРарус_Компонента.ОписаниеОшибки; Исключение КонецПопытки;
    КонецЕсли;
    Возврат Ложь;
КонецФункции // КассоваяСменаНаФРЗакрыта()
Но проверить пока не получилось, не было ошибки "Устройство не включено".
2 + 2 = 3.9999999999999999999999999999999...