Страница 29 из 49
					
				Взять кассу
				Добавлено: 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.
Для того, что бы заставить записать именно строку - её нужно передать с апострофом «‘»:
Попробуйте передать аналогично строку с апострофом и нулём в драйвер Штрих-М ....
 
			 
			
					
				Взять кассу
				Добавлено: 03 Сентябрь 2021, 13:08
				 harry
				Вообще, если говорить об OLE - то Ваш пример в Excel будет работать не всегда.
Если ячейка имеет формат "По значению" - то '020' , будет трансформировано в число 20.
Для того, что бы заставить записать именно строку - её нужно передать с апострофом «‘»:
Код: Выделить всё
Loc:STMP = '`020'
CassObject{'TagValueStr'} = Loc:STMP
Так не проходит. программа закрывается по ошибке. Апостроф в таком контексте , похоже, ссылку определяет
 
			 
			
					
				Взять кассу
				Добавлено: 03 Сентябрь 2021, 13:30
				 Игорь Столяров
				Ну нет же ... 

 Проверить вот надо такое Вам:
 
			 
			
					
				Взять кассу
				Добавлено: 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
				Бедный русский язык. «Мера количества предмета расчета».  

Что это?
 
			 
			
					
				Взять кассу
				Добавлено: 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 должен быть.