Длинна реквизита (Кассир) превышает 64 символа

1. AlexeyT1978 205 27.04.21 17:04 Сейчас в теме
При пробитии чека выходит ошибка "Длинна реквизита (Кассир) превышает 64 символа". Опытным путем установили, что слишком длинное "Наименование" у кассира в справочнике "Ответственные лица организаций".

Если в расширении конфигурации в модуле "ФорматноЛогическийКонтрольВызовСервера" сделать доработку:
&После("ВыполненитьКоррекциюЗаполненияТэгов")
Процедура ОП_ВыполненитьКоррекциюЗаполненияТэгов(Параметры, ИдентификаторУстройства, ОписаниеОшибки) Экспорт
Если НЕ ПустаяСтрока(Параметры.Кассир) И СтрДлина(Параметры.Кассир) > 64 Тогда
 Параметры.Кассир = Лев(Параметры.Кассир, 64);
КонецЕсли;
КонецПроцедуры

То возникает другая ошибка: "Неверная длина" (возможно, доработка не перехватывает нужную процедуру или меняет не тот параметр, а текст ошибки меняется по другой причине).

Нужно решение, как уменьшить длину наименования кассира в чеке для его корректной печати, но чтобы это не приводило к ошибкам и работало стабильно.
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Torin 747 27.04.21 17:22 Сейчас в теме
(1) ФИО Кассира* ASCII 1021 Не более 64 символов ( ФФД).
Через расширение сделать Лев(ФИО, 64)
4. AlexeyT1978 205 27.04.21 17:32 Сейчас в теме
(2) У "Физического лица" (выбрано в кассире в "Ответственные лица организаций") длина ФИО 23 символа.
6. Torin 747 27.04.21 17:34 Сейчас в теме
(4) а Пользователя Физ.лицо?
9. AlexeyT1978 205 27.04.21 17:40 Сейчас в теме
(6) Еще короче. Точно проблема в слишком длинном "Наименовании" у кассира в справочнике "Ответственные лица организаций"
Прикрепленные файлы:
3. ishelper 27.04.21 17:25 Сейчас в теме
(1)
Нужно решение, как уменьшить длину наименования кассира в чеке для его корректной печати
Решение в лоб - уменьшить длину наименования в справочнике: оставить только фамилию, написать должность с сокращениями.

Как сейчас у вас выглядит этот реквизит? Небось, напихали в него все, что можно? ;)
5. AlexeyT1978 205 27.04.21 17:33 Сейчас в теме
(3) Да, он длинный, это нужно для печати документов. Но именно для чека его нужно сокращать до 64 символов.
7. ishelper 27.04.21 17:36 Сейчас в теме
(5)
Да, он длинный, это нужно для печати документов.
И что, реально больше 64 символов? Должность длиннее 40 символов?

Проверьте отладчиком значение реквизита - может, там в конце кто-то точку (к примеру) влепил, вот и выходит длинно.
10. AlexeyT1978 205 27.04.21 17:41 Сейчас в теме
(7) Да, длинное, там еще доверенность и название организации.
12. sssss_aaaaa_2011 27.04.21 17:48 Сейчас в теме
(10)
там еще доверенность и название организации.
И вот какое отношение они имеют к ФИО кассира? Для того, чтобы где-то с ФИО кассира вывести еще что-то не придумали ничего лучшего чем искорежить ФИО и потом бороться с собственноручно же созданными трудностями? Может таки ФИО кассира привести в нормальный вид, а прочее таки вставлять в документах?
EvgeniyOlxovskiy; +1 Ответить
14. AlexeyT1978 205 27.04.21 17:53 Сейчас в теме
(12) Ну это не ко мне вопрос, поле называется "Рабочее наименование" (ответственного лица) и все эти реквизиты УТ 11 сама туда предлагает включать.
25. sssss_aaaaa_2011 28.04.21 09:02 Сейчас в теме
(14)Ну да, использовать Рабочее наименование вместо ФИО кассира - это по нашему! Только хардкор! Зачем тут использовать именно Рабочее наименование? Чем просто ФИО кассира не подходит?
EvgeniyOlxovskiy; +1 Ответить
13. ishelper 27.04.21 17:52 Сейчас в теме
(10)
длинное, там еще доверенность и название организации.
М-да. Еще раз убедился - у нас на всякое жесткое ограничение (что часто вызывает праведный гнев недовольных) обязательно найдется реальность, превосходящая по своему идиотизму любые ограничения! :)

"Доверенность и название организации" - это не имеет отношения к должности, должность "кассир"! Ну, на крайний случай - "кассир-операционист". Фсё! Отсюда ваши проблемы.

А какие там документы подписывает кассир? Может, проще для них ВПФ сварганить, с доверенностью и т.д.?
EvgeniyOlxovskiy; +1 Ответить
15. AlexeyT1978 205 27.04.21 17:55 Сейчас в теме
(13) Имеет, так как в этом поле указывается основание, почему это лицо имеет право подписи. Но вопрос же состоял не в этом, почитайте там выше ^ повнимательнее, пожалуйста.
16. ishelper 27.04.21 18:05 Сейчас в теме
(15)
в этом поле указывается основание, почему это лицо имеет право подписи
На чеке - подпись? Ну, вам виднее... ;)
почитайте там выше ^ повнимательнее, пожалуйста
Я почитал. И предлагаю помудрить с печатной формой, в которой фигурирует доверенность и организация - это PuntoSwitcher исправил в (13) "ВПФ" на "DGA".

Впрочем, дело хозяйское, если нравится - ковыряйтесь в процедурах, в конце концов, это наш исконный метод: "Самим создать себе трудности, чтобы потом их героически преодолевать". :-D
20. AlexeyT1978 205 27.04.21 18:15 Сейчас в теме
(16) На чеке как раз и нужно сокращать до 64.
Не собираюсь я мудрить с формами, это извращение. Нужно всего лишь обрезать кассира до 64 символов, это даже школьнику ясно по условию задачи, о чем мы спорим?
26. sssss_aaaaa_2011 28.04.21 09:04 Сейчас в теме
(20)Мы спорим как раз о необходимости обрезания :) Настолько ли оно нужно? Может таки использовать что-то другое, не требующее таких радикальных мер?
27. AlexeyT1978 205 28.04.21 11:20 Сейчас в теме
(26) Хорошо, пусть будет по Вашему, только укажите место, где можно осуществить эту чудесную подмену Рабочего наименования на ФИО кассира.
29. Sashares 34 28.04.21 11:31 Сейчас в теме
(27) Отладчик использовать не предлагать?)
30. AlexeyT1978 205 28.04.21 11:51 Сейчас в теме
(29) Да, придется без отладчика обойтись.
31. ishelper 28.04.21 12:45 Сейчас в теме
(15)
в этом поле указывается основание, почему это лицо имеет право подписи
А поле "Представление должности для печати" у вас используется? Может, информацию о доверенности и пр. в него поместить? А из рабочего наименования - убрать. И тогда, по логике, на печать должно выводиться со всей этой обвеской, а в чек - только должность "Кассир"?
(30)
придется без отладчика обойтись.
Что за религия запрещает Отладчик? ;)
32. AlexeyT1978 205 28.04.21 13:21 Сейчас в теме
(31) Не хотелось бы что-то менять, если сотрудников все устраивает в документах. Кроме ошибки при печати чека, конечно.
Касса не у меня, пробить чек в любой момент нет возможности, часовой пояс не совпадает на 5 часов.
34. Sashares 34 28.04.21 17:22 Сейчас в теме
(32)Там разве нет возможность использовать эмулятор, для тестового пробития чека?
35. AlexeyT1978 205 30.04.21 15:49 Сейчас в теме
(34) Нет такой возможности. Только с внешним эмулятором, но исход как вот здесь указано в сообщении 3:
https://forum.mista.ru/topic.php?id=836179
8. Torin 747 27.04.21 17:39 Сейчас в теме
&НаСервере
Функция ПолучитьИмяКассира() Экспорт
	
	Пользователь = Пользователи.ТекущийПользователь();
	ФизЛицо = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "ФизическоеЛицо");
	
	Если НЕ ЗначениеЗаполнено(ФизЛицо) Тогда
		Возврат "";
	КонецЕсли;
	
	СтруктураФИО = РегистрыСведений.ФИОФизЛиц.ПолучитьПоследнее(, Новый Структура("ФизЛицо", ФизЛицо)); 
	
	СтрокаФИО = "";
	СтрокаФИО = СтрокаФИО + ?(СтрокаФИО = "", "", " ") + СтруктураФИО.Фамилия;
	СтрокаФИО = СтрокаФИО + ?(СтрокаФИО = "" ИЛИ СтруктураФИО.Имя = "", "", " ") + СтруктураФИО.Имя;
	СтрокаФИО = СтрокаФИО + ?(СтрокаФИО = "" ИЛИ СтруктураФИО.Отчество = "", "", " ") + СтруктураФИО.Отчество;
	
	ИмяКассира = СтрокаФИО;

	Возврат ИмяКассира;
	
КонецФункции
Показать
11. AlexeyT1978 205 27.04.21 17:44 Сейчас в теме
(8)
ПолучитьИмяКассира()

Не нашел такой функции в УТ 11.4.13.148
17. Torin 747 27.04.21 18:10 Сейчас в теме
(11) что то я не вижу наименование конфигурации в теме :) Пример из УНФ

P/S Глобальный поиск и все найдете
18. AlexeyT1978 205 27.04.21 18:11 Сейчас в теме
(17) Как не видите, я же теги указал: 1С:Управление торговлей 11 Платформа 1С v8.3
Не поверите, именно им и пользовался.
Прикрепленные файлы:
19. Torin 747 27.04.21 18:13 Сейчас в теме
(18)
// Заполнить реквизит формы "РеквизитыКассира".
//
// Параметры:
//  Кассир - СправочникСсылка.Пользователи - Кассир.
//  Организация - СправочникСсылка.Организации - Организация для отбора в справочнике ОтветственныеЛицаОрганизаций.
//  ДатаВремя - Дата - Для отбора по периоду ДатаНачала - ДатаОкончания в справочнике ОтветственныеЛицаОрганизаций.
//
// Возвращаемое значение:
//  см. РозничныеПродажи.РеквизитыКассира
// 
Функция РеквизитыКассира(Знач Кассир = Неопределено, Знач Организация = Неопределено, Знач ДатаВремя = Неопределено) Экспорт
	
	Если Кассир = Неопределено Тогда
		Кассир = ПользователиКлиентСервер.ТекущийПользователь();
	КонецЕсли;
	
	Возврат РозничныеПродажи.РеквизитыКассира(Кассир, Организация, ДатаВремя);
	
КонецФункции
Показать


УТ11
21. AlexeyT1978 205 27.04.21 18:16 Сейчас в теме
(19) Это я видел и это не то, что нужно, конечно же.
22. AlexeyT1978 205 27.04.21 18:48 Сейчас в теме
(19) Хотя я еще раз проверю, вдруг это как раз то, что нужно.
23. AlexeyT1978 205 27.04.21 18:58 Сейчас в теме
(19) Нет, это не подходит. Заполняется ФИО кассира, который у меня 23 символа.
Прикрепленные файлы:
24. ishelper 27.04.21 20:54 Сейчас в теме
(20)
Нужно всего лишь обрезать кассира до 64 символов
И что получится? "Кассир ФИО по доверенности № 13 от 01.04.2021 от ООО "Рога и " - такое обрезание устроит?
(23)
Заполняется ФИО кассира, который у меня 23 символа.
Ну так добавьте к нему слева строку "Кассир " - и будет 30!
28. AlexeyT1978 205 28.04.21 11:23 Сейчас в теме
(24) Вы не поняли, при выводе кассира функция "РеквизитыКассира", очевидно, что не используется. Иначе проблемы бы не было.
33. AlexeyT1978 205 28.04.21 17:07 Сейчас в теме
(19) Проверил еще раз, написал даже обработку, которая проверяет эту функцию - функция возвращает ФИО кассира длиной 23 символа всего. То есть теперь точно могу сказать, что при печати чека заполнение кассира идет не через эту функцию. А через какую?
Прикрепленные файлы:
36. AlexeyT1978 205 17.05.21 12:45 Сейчас в теме +3 $m
Уже готовил обращение в поддержку 1С по оборудованию, нашел в логах эту ошибку:

2021.04.26 08:50:23.152 T:000195B4 INFO [1C] Версия компонента: [10.6.2.0]
2021.04.26 08:50:23.152 T:000195B4 INFO [1C] GetCurrentStatus
2021.04.26 08:50:23.152 T:000195B4 INFO [1C] ИДУстройства - [ATOL_KKT_1C83_V10#0]
2021.04.26 08:50:42.184 T:000195B4 INFO [1C] ВыходныеПараметры - [<?xml version="1.0" encoding="UTF-8"?>
<OutputParameters>
<Parameters ShiftNumber="49" ShiftState="2" CheckNumber="217" ShiftClosingCheckNumber="0" CashBalance="0" BacklogDocumentsCounter="0" BacklogDocumentFirstNumber="0" BacklogDocumentFirstDateTime="1970-01-01T00:00:00"/>
</OutputParameters>
]
2021.04.26 08:50:42.209 T:000195B4 INFO [1C] Версия компонента: [10.6.2.0]
2021.04.26 08:50:42.209 T:000195B4 INFO [1C] ProcessCheck
2021.04.26 08:50:42.209 T:000195B4 INFO [1C] ИДУстройства - [ATOL_KKT_1C83_V10#0]
2021.04.26 08:50:42.209 T:000195B4 INFO [1C] Электронно - [нет]
2021.04.26 08:50:42.209 T:000195B4 INFO [1C] Данные чека - [<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
<Parameters CashierName="Речицкая Алена Петровна - Руководитель ОП "Оптик Плюс Групп" по г. Иркутск" CashierINN="381299137232" OperationType="1" TaxationSystem="0" CustomerEmail="" CustomerPhone="" CustomerInfo="ИП Петухов И.Ю." CustomerINN="382037050956">
<AgentData/>
<VendorData/>
</Parameters>
<Positions>
<FiscalString Name="Контактная линза SofLens Daily Disposable, 90pk (R:=8,6 D:=-08,00)" Quantity="1" PriceWithDiscount="2222" AmountWithDiscount="2222" DiscountAmount="0" Department="1" VATRate="none" VATAmount="0" PaymentMethod="4" CalculationSubject="1" MeasurementUnit="" CountryOfOrigin="372" CustomsDeclaration="10013050/140618/0014223 ">
<AgentData/>
<VendorData/>
</FiscalString>
<FiscalString Name="Контактная линза ILLUSION colors ELEGANCE (C:=Blue R:=8,6 D:=-04,00)" Quantity="1" PriceWithDiscount="525" AmountWithDiscount="525" DiscountAmount="0" Department="1" VATRate="none" VATAmount="0" PaymentMethod="4" CalculationSubject="1" MeasurementUnit="" CountryOfOrigin="410" CustomsDeclaration="10221010/280217/0008221/1 ">
<AgentData/>
<VendorData/>
</FiscalString>
</Positions>
<Payments Cash="2747" ElectronicPayment="0" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage>]
2021.04.26 08:50:56.988 T:000195B4 ERROR [1C] [27] Неверная длина
Показать

Но оказалось, что проблема уже не актуальна, так как мы перестали использовать ККМ.
37. insurgut 207 08.12.22 07:46 Сейчас в теме
У меня была проблема, когда решил вывести в чек ФИО продавца + должность.

Должность получал из кадровой истории сотрудников по физическому лицу. Вроде бы все хорошо в отладке, но рабочий день начался и выходит ошибка о превышении 64 символов. Смотрю физ.лицо + должность = 50 символов, никак не больше 64, откуда ошибка?

Вывел на экран параметр кассир перед пробитием, а там "Иванов Иван Иванович - <Объект не найден хххххххххх>".

Банально. Добавил право чтения справочника должностей в профиле кассира. Все заработало.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот