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

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

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

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

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

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

Проверьте отладчиком значение реквизита - может, там в конце кто-то точку (к примеру) влепил, вот и выходит длинно.
10. AlexeyT1978 201 27.04.21 17:41 Сейчас в теме
(7) Да, длинное, там еще доверенность и название организации.
12. sssss_aaaaa_2011 27.04.21 17:48 Сейчас в теме
(10)
там еще доверенность и название организации.
И вот какое отношение они имеют к ФИО кассира? Для того, чтобы где-то с ФИО кассира вывести еще что-то не придумали ничего лучшего чем искорежить ФИО и потом бороться с собственноручно же созданными трудностями? Может таки ФИО кассира привести в нормальный вид, а прочее таки вставлять в документах?
EvgeniyOlxovskiy; +1 Ответить
14. AlexeyT1978 201 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 201 27.04.21 17:55 Сейчас в теме
(13) Имеет, так как в этом поле указывается основание, почему это лицо имеет право подписи. Но вопрос же состоял не в этом, почитайте там выше ^ повнимательнее, пожалуйста.
16. ishelper 27.04.21 18:05 Сейчас в теме
(15)
в этом поле указывается основание, почему это лицо имеет право подписи
На чеке - подпись? Ну, вам виднее... ;)
почитайте там выше ^ повнимательнее, пожалуйста
Я почитал. И предлагаю помудрить с печатной формой, в которой фигурирует доверенность и организация - это PuntoSwitcher исправил в (13) "ВПФ" на "DGA".

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

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

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

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


УТ11
21. AlexeyT1978 201 27.04.21 18:16 Сейчас в теме
(19) Это я видел и это не то, что нужно, конечно же.
22. AlexeyT1978 201 27.04.21 18:48 Сейчас в теме
(19) Хотя я еще раз проверю, вдруг это как раз то, что нужно.
23. AlexeyT1978 201 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 201 28.04.21 11:23 Сейчас в теме
(24) Вы не поняли, при выводе кассира функция "РеквизитыКассира", очевидно, что не используется. Иначе проблемы бы не было.
33. AlexeyT1978 201 28.04.21 17:07 Сейчас в теме
(19) Проверил еще раз, написал даже обработку, которая проверяет эту функцию - функция возвращает ФИО кассира длиной 23 символа всего. То есть теперь точно могу сказать, что при печати чека заполнение кассира идет не через эту функцию. А через какую?
Прикрепленные файлы:
36. AlexeyT1978 201 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, откуда ошибка?

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

Банально. Добавил право чтения справочника должностей в профиле кассира. Все заработало.
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день