Страница 29 из 46

Взять кассу

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

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

       MyFRS.Object{'StringForPrinting'} = '020'
       MyFRS.Object{'PrintString'}

Взять кассу

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

1.png

Попробуйте передать аналогично строку с апострофом и нулём в драйвер Штрих-М ....

Взять кассу

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

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

Loc:STMP = '`020'
CassObject{'TagValueStr'} = Loc:STMP
Так не проходит. программа закрывается по ошибке. Апостроф в таком контексте , похоже, ссылку определяет

Взять кассу

Добавлено: 03 Сентябрь 2021, 13:30
Игорь Столяров
Ну нет же ... :( Проверить вот надо такое Вам:

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

  CassObject{'TagValueStr'} = '''020'

Взять кассу

Добавлено: 03 Сентябрь 2021, 15:18
harry
И так не идет.

[03.09.2021 15:13:11.845] [00013684] [DEBUG] TDrvFR Set_TagValueStr: '020

Взять кассу

Добавлено: 03 Сентябрь 2021, 15:39
Игорь Столяров
Т.е. символ не обрабатывается, но и строка в число не преобразуется (интересно в каком месте).
Я бы попробовал варианты:

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

  CassObject{'TagValueStr'} = '"020"'   ! т.е. передать строку в двойных кавычках
  CassObject{'TagValueStr'} = ' 020 '   ! Добавить пробелы в надежде, что это отключит преобразование 
  CassObject{'TagValueStr'} = '020' & Chr(0)  ! Строка с завершающим нулём

Взять кассу

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

Может, пригодится )

Взять кассу

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

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

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

Учитывая выше сказанное, в контрольно-кассовой технике АТОЛ, включенной в реестр под ФФД 1.2 осуществляется 
форматно-логический контроль на наличие значения данного реквизита и формирование кассового чека без данного 
реквизита будет блокироваться автоматически. Данный способ заполнения реквизита «Мера количества предмета расчета» 
(2108) создается нами как временное решение, в связи с чем обратите внимание на необходимость доработки программных 
решений, не поддерживающих передачу данного реквизита для всех товаров и услуг.

Взять кассу

Добавлено: 20 Сентябрь 2021, 21:56
kreator
Бедный русский язык. «Мера количества предмета расчета». :cry:
Что это?

Взять кассу

Добавлено: 20 Сентябрь 2021, 22:17
Игорь Столяров
Здесь ключевой вопрос "не что это ?", а "как это реализовано ?"
Плохо реализовано. Совсем, совсем плохо ... абсолютно. :(

Взять кассу

Добавлено: 21 Сентябрь 2021, 9:49
finsoftrz
В ффд 1.2 еще коды предметов расчета расширились. Для маркированных товаров выделены отдельные. Интересно, в атол это автоматически преобразуется или нет...

Взять кассу

Добавлено: 21 Сентябрь 2021, 15:11
morkovin
kreator писал(а): 20 Сентябрь 2021, 21:56 «Мера количества предмета расчета»
Единица измерения? или ещё что-то?

Взять кассу

Добавлено: 21 Сентябрь 2021, 15:19
finsoftrz
Там некий код единицы измерения в соответствии с табличкой. У нас актуально 0 для штучных товаров и 11 (кг) для весовых.

Взять кассу

Добавлено: 21 Сентябрь 2021, 21:00
Игорь Столяров
finsoftrz писал(а): 21 Сентябрь 2021, 15:19 У нас актуально 0 для штучных товаров и 11 (кг) для весовых
Вызывает интерес Ваш технический прогресс ...
Вы передаёте эти коды только для ККМ с ФФД 1.2 или всегда ?
У меня со старой прошивкой передача кодов клинит. :(
А определить версию ФФД можно только на фискализированном ККМ.

Взять кассу

Добавлено: 21 Сентябрь 2021, 21:39
finsoftrz
Я только сегодня подключил, пока не тестил. Думаю, что будет только для ффд 1.2, хотя этот реквизит есть и в ффд 1.05, только он не зарегламентирован был. Версия ффд устанавливается в кассовой программе. Просто тут приходится ускорится, клиент хочет новый магазин открыть, а там уже 1.2 должен быть.