Вход | Регистрация

1С:Предприятие ::

Метки: 

Программное открытие кассовой смены

Я
   igel1969
 
13.12.17 - 15:44
Здравствуйте!

Пытаюсь создать кнопку открытия кассовой смены.
Зачем это надо? У меня продавцы работают в моей внешней обработке, которая очень сильно ограничивает их возможности.

Из обычного интерфейса кассовая смена открывается нормально.
Далее, создаю в своей обработке кнопку и копирую в процедуру ее нажатия ту же самую процедуру, что и при нажатии кнопки на форме списка документа "Кассовая смена", ну только обновление списка в конце удалил, оно не надо и переменную другую передаю, но значение переменной правильное.

вот текст:
ОчиститьСообщения();
    МассивККТ = ПолучитьСерверТО().ПолучитьСписокУстройств(
        ПредопределенноеЗначение("Перечисление.ВидыТорговогоОборудования.ККТ"), ОсновнаяККМ);
// ОсновнаяККМ находится из пользователя, я проверял - находится правильно.


    КоличествоККТ = МассивККТ.Количество();
    Если КоличествоККТ = 0 Тогда
        ТекстСообщения = НСтр("ru='Отсутствуют доступные фискальные устройства'");
        ОбщегоНазначения.СообщитьИнформациюПользователю(ТекстСообщения);
    ИначеЕсли КоличествоККТ = 1 Тогда
        ККТ = МассивККТ[0];
    Иначе
        ПредставлениеУстройства = "";
        ВидУстройства = "";
        СписокККТ = Новый СписокЗначений;

        Для Каждого Устройство Из МассивККТ Цикл
            ПолучитьСерверТО().ПолучитьПредставлениеУстройства(Устройство, ВидУстройства, ПредставлениеУстройства);
            СписокККТ.Добавить(Устройство, ПредставлениеУстройства);
        КонецЦикла;

        ККТ = СписокККТ.ВыбратьЭлемент("Необходимо выбрать фискальное устройство");
        Если ККТ <> Неопределено Тогда
            ККТ = ККТ.Значение;
        КонецЕсли;
    КонецЕсли;
    
    Если ККТ = NULL ИЛИ ККТ = Неопределено Тогда
        Возврат;
    КонецЕсли;
    КассовыеСменыКлиент.ОткрытьКассовуюСмену(ККТ);

Отвечает "Ошибка получения обработки обслуживания".
Путем простейших итераций (подставяю в разные части кода сообщения), понимаю, что пробела в последней процедуре (КассовыеСменыКлиент.ОткрытьКассовуюСмену(ККТ)).

ЗАхожу в эту процедуру, там есть такие строки:

ОбработкаОбслуживания = Неопределено;
    ОбъектДрайвера = Неопределено;
    
    ПолучитьСерверТО().ПолучитьОбъектДрайвера(ККТ, ОбработкаОбслуживания, ОбъектДрайвера);
    Если ОбработкаОбслуживания = Неопределено Тогда
        ОбщегоНазначения.СообщитьОбОшибке("Ошибка получения обработки обслуживания");

Добавляю туда строки: 
сообщить("ККТ - " + СокрЛП(ККТ));
Сообщить("ОбработкаОбслуживания - " + СокрЛП(ОбработкаОбслуживания));

В случае, если открывать смену через документы кассовой смены, возвращает:

ККТ - 85CB1AEE-79B4-4103-9E43-6D4066698D65
ОбработкаОбслуживания - ВнешняяОбработкаОбъект.АТОЛККТсПередачейДанных

А в случае если открывать смену через мою процедуру, то%
ККТ - 85CB1AEE-79B4-4103-9E43-6D4066698D65
ОбработкаОбслуживания -

Что можно сделать, почему не находит Обработку обслуживания в моем случае??????
 
 


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует