Взять кассу

Сканеры, кассы, ККТ и т.д.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

harry писал(а): 02 Сентябрь 2021, 19:04 мы не передаем свойству значение типа "Строка"
Абсурд. Если мы передаём данные по значению, то они определяются содержимым.
Если передать на печать строку '020' то и будет напечатано '020':

Код: Выделить всё

       MyFRS.Object{'StringForPrinting'} = '020'
       MyFRS.Object{'PrintString'}
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

Вообще, если говорить об OLE - то Ваш пример в Excel будет работать не всегда.
Если ячейка имеет формат "По значению" - то '020' , будет трансформировано в число 20.
Для того, что бы заставить записать именно строку - её нужно передать с апострофом «‘»:

1.png

Попробуйте передать аналогично строку с апострофом и нулём в драйвер Штрих-М ....
За теми кто отстал - не возвращаться. (С) Кодекс
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

Взять кассу

Сообщение harry »

Вообще, если говорить об OLE - то Ваш пример в Excel будет работать не всегда.
Если ячейка имеет формат "По значению" - то '020' , будет трансформировано в число 20.
Для того, что бы заставить записать именно строку - её нужно передать с апострофом «‘»:

Код: Выделить всё

Loc:STMP = '`020'
CassObject{'TagValueStr'} = Loc:STMP
Так не проходит. программа закрывается по ошибке. Апостроф в таком контексте , похоже, ссылку определяет
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

Ну нет же ... :( Проверить вот надо такое Вам:

Код: Выделить всё

  CassObject{'TagValueStr'} = '''020'
За теми кто отстал - не возвращаться. (С) Кодекс
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

Взять кассу

Сообщение harry »

И так не идет.

[03.09.2021 15:13:11.845] [00013684] [DEBUG] TDrvFR Set_TagValueStr: '020
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

Т.е. символ не обрабатывается, но и строка в число не преобразуется (интересно в каком месте).
Я бы попробовал варианты:

Код: Выделить всё

  CassObject{'TagValueStr'} = '"020"'   ! т.е. передать строку в двойных кавычках
  CassObject{'TagValueStr'} = ' 020 '   ! Добавить пробелы в надежде, что это отключит преобразование 
  CassObject{'TagValueStr'} = '020' & Chr(0)  ! Строка с завершающим нулём
За теми кто отстал - не возвращаться. (С) Кодекс
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

Взять кассу

Сообщение harry »

Спасибо! Все варианты пробовали и не помогают.
В итоге, проблему помог решить пример из документации с использованием другого типа данных TagType = 9

Может, пригодится )
Вложения
image_2021_09_03T12_03_46_203Z.png
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

Тут с ФФД 1.2 другой пипец подкрался незаметно ... и это уже будет больно. :(
Процитирую первоисточник (рассылка АТОЛ для разработчиков сертифицированных решений):

Код: Выделить всё

Обращаем Ваше внимание, что в ФФД 1.2 реквизит кассового чека «Мера количества предмета расчета» (тег 2108) 
является обязательным как для маркированных средствами идентификации товаров, так и для всех остальных товаров, 
услуг или работ. Подробное объяснение об этом содержится в разъяснительном письме ФНС от 28.07.2021 № АБ-4-20/10633@ 
(во вложении). За не указание данного реквизита в кассовом чеке предусмотрен штраф (часть 4 статьи 14.5 КоАП РФ).

Учитывая выше сказанное, в контрольно-кассовой технике АТОЛ, включенной в реестр под ФФД 1.2 осуществляется 
форматно-логический контроль на наличие значения данного реквизита и формирование кассового чека без данного 
реквизита будет блокироваться автоматически. Данный способ заполнения реквизита «Мера количества предмета расчета» 
(2108) создается нами как временное решение, в связи с чем обратите внимание на необходимость доработки программных 
решений, не поддерживающих передачу данного реквизита для всех товаров и услуг.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Взять кассу

Сообщение kreator »

Бедный русский язык. «Мера количества предмета расчета». :cry:
Что это?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

Здесь ключевой вопрос "не что это ?", а "как это реализовано ?"
Плохо реализовано. Совсем, совсем плохо ... абсолютно. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Взять кассу

Сообщение finsoftrz »

В ффд 1.2 еще коды предметов расчета расширились. Для маркированных товаров выделены отдельные. Интересно, в атол это автоматически преобразуется или нет...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Взять кассу

Сообщение morkovin »

kreator писал(а): 20 Сентябрь 2021, 21:56 «Мера количества предмета расчета»
Единица измерения? или ещё что-то?
WBR, morkovin
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Взять кассу

Сообщение finsoftrz »

Там некий код единицы измерения в соответствии с табличкой. У нас актуально 0 для штучных товаров и 11 (кг) для весовых.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Взять кассу

Сообщение Игорь Столяров »

finsoftrz писал(а): 21 Сентябрь 2021, 15:19 У нас актуально 0 для штучных товаров и 11 (кг) для весовых
Вызывает интерес Ваш технический прогресс ...
Вы передаёте эти коды только для ККМ с ФФД 1.2 или всегда ?
У меня со старой прошивкой передача кодов клинит. :(
А определить версию ФФД можно только на фискализированном ККМ.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Взять кассу

Сообщение finsoftrz »

Я только сегодня подключил, пока не тестил. Думаю, что будет только для ффд 1.2, хотя этот реквизит есть и в ффд 1.05, только он не зарегламентирован был. Версия ффд устанавливается в кассовой программе. Просто тут приходится ускорится, клиент хочет новый магазин открыть, а там уже 1.2 должен быть.
C6/C11, ШВС, tps/btrieve.
Ответить