7.7 Неверный номер отддела при печати чека

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем hunterr5, 18 май 2010.

  1. TopicStarter Overlay
    hunterr5
    Offline

    hunterr5

    Регистрация:
    18 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, я купил фискалный рекистратор (ККМ) Merkury MS-K, подключил ее к 1с, все вроде норм, чеки по приходным кассовым ордерам печатает, а вот просто через "чек ккм" не хочет, говорит "неверный номер отдела". Для него есть отдельная обработка в 1с, это MercyriServis.ert, там есть поле установки номера отдела, но не помогает. У меня ККМ идет в комплекте с терминалом ввода данных, который нужен если нет компа, так вот он работает через "отдел № 99" по умолчанию, то есть в ККМ уже изначально на 99 отдел прописано имя "секция № 99". А вот 1с на какой отдел настраивать и как вообще я хз.
  2. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    А конфа какая?
  3. TopicStarter Overlay
    hunterr5
    Offline

    hunterr5

    Регистрация:
    18 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Комплексная какая то, самодельная сборка.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Выложите обработку
  5. TopicStarter Overlay
    hunterr5
    Offline

    hunterr5

    Регистрация:
    18 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
    Функция ПробитьЧекНаККМ()
    Перем НомерЧека;
    
    СписокТоваров = СоздатьОбъект("ТаблицаЗначений");
    СписокТоваров.НоваяКолонка("ТовНаим"   , "Строка");
    СписокТоваров.НоваяКолонка("Цена"      , "Число");
    СписокТоваров.НоваяКолонка("Количество", "Число");
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
    СписокТоваров.НоваяСтрока();
    СписокТоваров.ТовНаим    = Номенклатура.Наименование;
    СписокТоваров.Цена       = Цена;
    СписокТоваров.Количество = Количество;
    КонецЦикла;
    
    ПризнВозврата = ?(ВидОперации = Перечисление.ВидыОперацийЧекККМ.Чек, 0, 1);
    ЧекПробитККМ  = глФРПечататьЧек(СписокТоваров, Итог("Сумма"), ?(Получено=0,Итог("Сумма"),Получено), Скидка.Процент, ПризнВозврата, Склад.НомерСекции, НомерЧека);
    
    Если ЧекПробитККМ = 1 Тогда
    ПриЗаписиПерепроводить(0);
    НомерЧекаККМ = НомерЧека;
    Записать();
    ПриЗаписиПерепроводить(1);
    
    // Откроем денежный ящик, если он подключен
    глДПОткрытьДенежныйЯщик();
    КонецЕсли;
    
    Возврат ЧекПробитККМ;
    
    КонецФункции // ПробитьЧекНаККМ()
    
    Процедура ВыполнитьНажатиеНаКнопку(ИмяКнопки)
    
    Если ИмяКнопки="Записать" Тогда
    
    Записать();
    
    ИначеЕсли ИмяКнопки="Провести" Тогда
    
    БылПроведен=Проведен(); 
    Если Записать()=1 Тогда
    
    // если документ был проведен, то при записи он перепроведется
    // и поэтому нет необходимости его снова проводить
    Если БылПроведен=0 Тогда
    Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда
    Провести();                                         
    Иначе
    Предупреждение("Недостаточно прав доступа!");
    КонецЕсли;
    КонецЕсли;
    
    КонецЕсли;
    
    ИначеЕсли ИмяКнопки="ОК" Тогда
    
    БылПроведен=Проведен(); 
    Если Записать()=1 Тогда
    
    // если документ был проведен, то при записи он перепроведется
    // и поэтому нет необходимости его снова проводить
    Если БылПроведен=0 Тогда
    Если ПравоДоступа("ПроведениеДокумента", "Документ.ЧекККМ") = 1 Тогда
    Если Провести()=0 Тогда
    Возврат;
    КонецЕсли;
    Иначе
    Предупреждение("Недостаточно прав доступа!");
    КонецЕсли;
    КонецЕсли;
    
    Иначе
    
    Возврат;
    
    КонецЕсли;
    
    КонецЕсли;	
    
    Если Проведен()=1 Тогда
    
    // пробьем чек на ККМ
    Если Касса.РежимККМ = Перечисление.РежимыККМ.ФР Тогда
    Если глФРВкл = 1 Тогда
    Если ЧекПробитККМ = 0 Тогда
    Если ПробитьЧекНаККМ() = 0 Тогда
    
    // по каким-то причинам Чек не пробит
    Сообщить("Чек ККМ не пробит!");
    Возврат;
    
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    КонецЕсли;
    
    Если ИмяКнопки="ОК" Тогда
    Форма.Закрыть(1);
    КонецЕсли;
    
    КонецПроцедуры
    
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Хм... Вы выложили процедуру из модуля проведения. Она стандартна.

    В ГМ есть процедура глФРПечататьЧек которая формирует параметны передаваемые в отбработку печати (которая задается при регистрации оборудования). Обращаю ваше внимание на один из параметров этой процедуры (в вашем же тексте) Склад.НомерСекции
  7. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Извиняюсь за ранее, если облажаюсь, т.к. внимательно не читал и проги нет под рукой, но в Комплексной в Справочнике Кассы, кажись есть номер секции. Проверь. Поставь (или убери). Может поможет.
  8. TopicStarter Overlay
    hunterr5
    Offline

    hunterr5

    Регистрация:
    18 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
    глФРПечататьЧек(СписокТоваров, СуммаЧека, Получено, ПризнВозврата, НомерСекции, НомерЧека)
    //
    // Параметры: 
    //  СписокТоваров - таблица значений с информацией о проданных или возвращенных товарах
    //  СуммаЧека     - итоговая сумма чека
    //  Получено      - сумма, полученная от покупателя
    //  ПризнВозврата - 1 - чек на возврат, 0 - чек на продажу
    //  НомерСекции   - номер секции
    //  НомерЧека     - выходной параметр. Номер чека, пробитого на фискальном регистраторе
    //
    // Возвращаемое значение:
    //  1 - операция успешно завершена, 0 - нет.
    //
    // Описание:
    //  печатает чек на фискальном регистраторе
    //  
    Функция глФРПечататьЧек(СписокТоваров, СуммаЧека, Получено, Скидка, ПризнВозврата, НомерСекции, НомерЧека)  Экспорт
    
    Рез = 0;
    
    Если глФРВкл = 1 Тогда
    Параметры = СоздатьОбъект("СписокЗначений");
    Параметры.Установить("Процесс"           , "печатать_чек");
    Параметры.Установить("Объект"            , глФР);
    Параметры.Установить("ПарольПользователя", глФРПарольПользователя);
    Параметры.Установить("СписокТоваров"     , СписокТоваров);
    Параметры.Установить("СуммаЧека"         , СуммаЧека);
    Параметры.Установить("Получено"          , Получено);
    Параметры.Установить("Скидка"            , Скидка);
    Параметры.Установить("Возврат"           , ПризнВозврата);
    Параметры.Установить("НомерСекции"       , НомерСекции);
    Параметры.Установить("ПриемНаличныхОтЮрЛиц", глФРДляПриемаНаличныхОтЮрЛиц);
    
    РезТекст = глОборудованиеКоманда("ФР", глФРОбработка, Параметры);
    Если ПустоеЗначение(РезТекст) = 0 Тогда
    Сообщить(РезТекст);
    Иначе
    Если Параметры.Получить("Результат") = 0 Тогда
    Сообщить("Фискальный регистратор: ошибка при печати чека");
    Сообщить(Параметры.Получить("ОписаниеРезультата"));
    Иначе
    НомерЧека = Параметры.Получить("НомерЧека");
    Рез = 1;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    Возврат Рез;
    
    КонецФункции // глФРПечататьЧек()
    
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Ну и зачем вы выложили процедуру? Я же вам показал - в складе смотрите номер секции кассы!
  10. TopicStarter Overlay
    hunterr5
    Offline

    hunterr5

    Регистрация:
    18 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    все народ, спасибо огромное. все таки это был номер секции в складах, а яы почему то внимание заострял на настройках ккм. прошу прощения за ламерство свое.
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    О чем я вам и говорил
  12. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    А уж как я об этом говорил! :))
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    ...про справочник кассы))) Что есть и в ТиС. А вот номер секции в справочнике Склад - есть только в комплексной)))... Забыл сам про эту фишку совсем

Поделиться этой страницей