При пробитии чека выходит ошибка "Длинна реквизита (Кассир) превышает 64 символа". Опытным путем установили, что слишком длинное "Наименование" у кассира в справочнике "Ответственные лица организаций".
Если в расширении конфигурации в модуле "ФорматноЛогическийКонтрольВызовСервера" сделать доработку:
&После("ВыполненитьКоррекциюЗаполненияТэгов")
Процедура ОП_ВыполненитьКоррекциюЗаполненияТэгов(Параметры, ИдентификаторУстройства, ОписаниеОшибки) Экспорт
Если НЕ ПустаяСтрока(Параметры.Кассир) И СтрДлина(Параметры.Кассир) > 64 Тогда
Параметры.Кассир = Лев(Параметры.Кассир, 64);
КонецЕсли;
КонецПроцедуры
То возникает другая ошибка: "Неверная длина" (возможно, доработка не перехватывает нужную процедуру или меняет не тот параметр, а текст ошибки меняется по другой причине).
Нужно решение, как уменьшить длину наименования кассира в чеке для его корректной печати, но чтобы это не приводило к ошибкам и работало стабильно.
И вот какое отношение они имеют к ФИО кассира? Для того, чтобы где-то с ФИО кассира вывести еще что-то не придумали ничего лучшего чем искорежить ФИО и потом бороться с собственноручно же созданными трудностями? Может таки ФИО кассира привести в нормальный вид, а прочее таки вставлять в документах?
(14)Ну да, использовать Рабочее наименование вместо ФИО кассира - это по нашему! Только хардкор! Зачем тут использовать именно Рабочее наименование? Чем просто ФИО кассира не подходит?
длинное, там еще доверенность и название организации.
М-да. Еще раз убедился - у нас на всякое жесткое ограничение (что часто вызывает праведный гнев недовольных) обязательно найдется реальность, превосходящая по своему идиотизму любые ограничения! :)
"Доверенность и название организации" - это не имеет отношения к должности, должность "кассир"! Ну, на крайний случай - "кассир-операционист". Фсё! Отсюда ваши проблемы.
А какие там документы подписывает кассир? Может, проще для них ВПФ сварганить, с доверенностью и т.д.?
(13) Имеет, так как в этом поле указывается основание, почему это лицо имеет право подписи. Но вопрос же состоял не в этом, почитайте там выше ^ повнимательнее, пожалуйста.
в этом поле указывается основание, почему это лицо имеет право подписи
На чеке - подпись? Ну, вам виднее... ;)
почитайте там выше ^ повнимательнее, пожалуйста
Я почитал. И предлагаю помудрить с печатной формой, в которой фигурирует доверенность и организация - это PuntoSwitcher исправил в (13) "ВПФ" на "DGA".
Впрочем, дело хозяйское, если нравится - ковыряйтесь в процедурах, в конце концов, это наш исконный метод: "Самим создать себе трудности, чтобы потом их героически преодолевать". :-D
(16) На чеке как раз и нужно сокращать до 64.
Не собираюсь я мудрить с формами, это извращение. Нужно всего лишь обрезать кассира до 64 символов, это даже школьнику ясно по условию задачи, о чем мы спорим?
в этом поле указывается основание, почему это лицо имеет право подписи
А поле "Представление должности для печати" у вас используется? Может, информацию о доверенности и пр. в него поместить? А из рабочего наименования - убрать. И тогда, по логике, на печать должно выводиться со всей этой обвеской, а в чек - только должность "Кассир"?
(30)
(31) Не хотелось бы что-то менять, если сотрудников все устраивает в документах. Кроме ошибки при печати чека, конечно.
Касса не у меня, пробить чек в любой момент нет возможности, часовой пояс не совпадает на 5 часов.
// Заполнить реквизит формы "РеквизитыКассира".
//
// Параметры:
// Кассир - СправочникСсылка.Пользователи - Кассир.
// Организация - СправочникСсылка.Организации - Организация для отбора в справочнике ОтветственныеЛицаОрганизаций.
// ДатаВремя - Дата - Для отбора по периоду ДатаНачала - ДатаОкончания в справочнике ОтветственныеЛицаОрганизаций.
//
// Возвращаемое значение:
// см. РозничныеПродажи.РеквизитыКассира
//
Функция РеквизитыКассира(Знач Кассир = Неопределено, Знач Организация = Неопределено, Знач ДатаВремя = Неопределено) Экспорт
Если Кассир = Неопределено Тогда
Кассир = ПользователиКлиентСервер.ТекущийПользователь();
КонецЕсли;
Возврат РозничныеПродажи.РеквизитыКассира(Кассир, Организация, ДатаВремя);
КонецФункции
(19) Проверил еще раз, написал даже обработку, которая проверяет эту функцию - функция возвращает ФИО кассира длиной 23 символа всего. То есть теперь точно могу сказать, что при печати чека заполнение кассира идет не через эту функцию. А через какую?
У меня была проблема, когда решил вывести в чек ФИО продавца + должность.
Должность получал из кадровой истории сотрудников по физическому лицу. Вроде бы все хорошо в отладке, но рабочий день начался и выходит ошибка о превышении 64 символов. Смотрю физ.лицо + должность = 50 символов, никак не больше 64, откуда ошибка?
Вывел на экран параметр кассир перед пробитием, а там "Иванов Иван Иванович - <Объект не найден хххххххххх>".
Банально. Добавил право чтения справочника должностей в профиле кассира. Все заработало.