Ошибка печати ценников в 1с розница
Причина в том, что запрос СКД в шаблоне этикеток остался прежним, с объектами, которых уже нет в конфигурации. Попытка редактировать шаблон, как макет, так и СКД, заканчивается всё той же ошибкой.
Если создать новый, пустой шаблон, то он печатается, т.к. конфигурация генерирует правильный запрос в СКД. Очевидное решение - перенести запрос из нового шаблона в старые. Но, как упоминалось, возможность редактирования старых этикеток закрыта из-за ошибки.
Для решения задачи была создана простая обработка КопированиеШаблона.epf, которая позволяет переносить макеты и СКД между шаблонами.
- Кнопка "Копия СКД" переносит запрос из источника в приемник. В качестве источник используется новый шаблон с правильным запросом.
- Кнопка "Копия шаблона" переносит макет из источника в приемник. Это может пригодиться, если вы хотите создать несколько похожих этикеток. Или посмотреть в тестовом шаблоне, как выглядел макет старой этикетки.
- Кнопка "Поменять источник приемник" меняет местами шаблоны.
Обработку можно применять при любом обновлении, если при этом запрос СКД становится неправильным.
Также обработку можно использовать как образец для создания других простых обработок под управляемыми формами 8.3, когда надо перекинуть значение между записями одного справочника, а в режиме "Предприятие" это сделать нельзя.
Информация для специалистов:
Шаблоны этикеток хранятся в справочнике "ХранилищеШаблонов".
В записи этого справочника СКД и макет хранятся в реквизитах с типом "Хранилище значений".
Ключевая процедура переноса СКД:
&НаСервереБезКонтекста
Процедура КопияСКДНаСервере(ШаблонИсточник, ШаблонПриемник)
ОбъектШаблонПриемник = ШаблонПриемник.ПолучитьОбъект();
ОбъектШаблонПриемник.СхемаКомпоновкиДанных = Новый ХранилищеЗначения(ШаблонИсточник.СхемаКомпоновкиДанных.Получить());
ОбъектШаблонПриемник.Записать();
КонецПроцедуры
(1)Можно конкретнее, в каком матче 1с есть исправление?
(1)очень интересует правдивость наличия исправления в патче1с.
(7) Забейте в поисковик "Механизм патчей (исправлений) типовых конфигураций системы 1С:Предприятие 8"
9. user649320_artemubaitaev 05.05.20 19:45 Сейчас в теме (7) Если у вас версия ПРОФ, то смотрите в разделе "Обновление программы" - там будут доступны патчи исправлений для скачивания и установки.Официальные Патчи для релиза 1С:Розница 2.3.3.31
Такая же проблема проблема, перестали печататься ценники и этикетки в рознице после обновления. Ошибка - Метод объекта не обнаружен (Метаданные). На базовой версии при запуске под толстым клиентом все нормально, а под тонким вылетает это окноВроде удалось запустить расширение на базовой рознице, для этого:
1) Платформа 8.3.17.1386
2) Установить запуск Толстого клиента
3) Запустить базу с ключом /C"РежимОтладки"
4) Установить расширение через Все действия, снять галочки безопасного режима и защиты расширения
5) Обязательно перезапустить 1с после установки расширения
Попробуйте, отпишитесь о результате
После обновление до 1С: Розница 2.3.4.33 ошибка при печати ценников:
Несоответствие типов
: Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
: КоллекцияПечатныхФормВнутренняя = СформироватьПечатныеФормыЭтикетокИЦенников(СтруктураНастроек, ПечататьЭтикетки, ПечататьЦенники);
: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
: УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
по причине:
Несоответствие типов
Причем возникает, если длина ШК отлична от 13 символов
В 33 версии расширение не нужно, его можно отключить. Но даже с ним работает печать, проверил на ШК code39 больше 13 символов и EAN8.
Помнится была такая ошибка после обновлений, но это не точно. Помогало редактирование макета ценника и последующего его сохранения. Можно попробовать сделать новый макет ценника, заполнить его по умолчанию и вставить поле ШК в него, затем распечатать его.
(15) Спасибо, что навели на макет. Проблема заключалась в ориентации ШК на ценнике под 90 градусов. Хотя в предыдущих релизах все было нормально.Это бывает когда штрихкод записан с лишними пробелами, актуально для EAN-8.
Решение:
Общий модуль "ГенерацияШтрихкодаКлиентСервер"
Функция ИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода)
Меняем строку
ШтрихкодВрем = Строка(ПараметрыШтрихкода.Штрихкод); // Преобразуем явно в строку.
на
ШтрихкодВрем = СОКРЛП(Строка(ПараметрыШтрихкода.Штрихкод)); // Преобразуем явно в строку.
(1)Можно конкретнее, в каком матче 1с есть исправление?
(1)очень интересует правдивость наличия исправления в патче1с.
(7) Забейте в поисковик "Механизм патчей (исправлений) типовых конфигураций системы 1С:Предприятие 8"
9. user649320_artemubaitaev 05.05.20 19:45 Сейчас в теме (7) Если у вас версия ПРОФ, то смотрите в разделе "Обновление программы" - там будут доступны патчи исправлений для скачивания и установки.Официальные Патчи для релиза 1С:Розница 2.3.3.31
Такая же проблема проблема, перестали печататься ценники и этикетки в рознице после обновления. Ошибка - Метод объекта не обнаружен (Метаданные). На базовой версии при запуске под толстым клиентом все нормально, а под тонким вылетает это окноВроде удалось запустить расширение на базовой рознице, для этого:
1) Платформа 8.3.17.1386
2) Установить запуск Толстого клиента
3) Запустить базу с ключом /C"РежимОтладки"
4) Установить расширение через Все действия, снять галочки безопасного режима и защиты расширения
5) Обязательно перезапустить 1с после установки расширения
Попробуйте, отпишитесь о результате
После обновление до 1С: Розница 2.3.4.33 ошибка при печати ценников:
Несоответствие типов
: Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
: КоллекцияПечатныхФормВнутренняя = СформироватьПечатныеФормыЭтикетокИЦенников(СтруктураНастроек, ПечататьЭтикетки, ПечататьЦенники);
: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
: УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
по причине:
Несоответствие типов
Причем возникает, если длина ШК отлична от 13 символов
В 33 версии расширение не нужно, его можно отключить. Но даже с ним работает печать, проверил на ШК code39 больше 13 символов и EAN8.
Помнится была такая ошибка после обновлений, но это не точно. Помогало редактирование макета ценника и последующего его сохранения. Можно попробовать сделать новый макет ценника, заполнить его по умолчанию и вставить поле ШК в него, затем распечатать его.
(15) Спасибо, что навели на макет. Проблема заключалась в ориентации ШК на ценнике под 90 градусов. Хотя в предыдущих релизах все было нормально.Это бывает когда штрихкод записан с лишними пробелами, актуально для EAN-8.
Решение:
Общий модуль "ГенерацияШтрихкодаКлиентСервер"
Функция ИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода)
Меняем строку
ШтрихкодВрем = Строка(ПараметрыШтрихкода.Штрихкод); // Преобразуем явно в строку.
на
ШтрихкодВрем = СОКРЛП(Строка(ПараметрыШтрихкода.Штрихкод)); // Преобразуем явно в строку.
(1)Можно конкретнее, в каком матче 1с есть исправление?
(1)очень интересует правдивость наличия исправления в патче1с.
(7) Забейте в поисковик "Механизм патчей (исправлений) типовых конфигураций системы 1С:Предприятие 8"
9. user649320_artemubaitaev 05.05.20 19:45 Сейчас в теме (7) Если у вас версия ПРОФ, то смотрите в разделе "Обновление программы" - там будут доступны патчи исправлений для скачивания и установки.Официальные Патчи для релиза 1С:Розница 2.3.3.31
Такая же проблема проблема, перестали печататься ценники и этикетки в рознице после обновления. Ошибка - Метод объекта не обнаружен (Метаданные). На базовой версии при запуске под толстым клиентом все нормально, а под тонким вылетает это окноВроде удалось запустить расширение на базовой рознице, для этого:
1) Платформа 8.3.17.1386
2) Установить запуск Толстого клиента
3) Запустить базу с ключом /C"РежимОтладки"
4) Установить расширение через Все действия, снять галочки безопасного режима и защиты расширения
5) Обязательно перезапустить 1с после установки расширения
Попробуйте, отпишитесь о результате
После обновление до 1С: Розница 2.3.4.33 ошибка при печати ценников:
Несоответствие типов
: Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
: КоллекцияПечатныхФормВнутренняя = СформироватьПечатныеФормыЭтикетокИЦенников(СтруктураНастроек, ПечататьЭтикетки, ПечататьЦенники);
: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
: УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
по причине:
Несоответствие типов
Причем возникает, если длина ШК отлична от 13 символов
В 33 версии расширение не нужно, его можно отключить. Но даже с ним работает печать, проверил на ШК code39 больше 13 символов и EAN8.
Помнится была такая ошибка после обновлений, но это не точно. Помогало редактирование макета ценника и последующего его сохранения. Можно попробовать сделать новый макет ценника, заполнить его по умолчанию и вставить поле ШК в него, затем распечатать его.
(15) Спасибо, что навели на макет. Проблема заключалась в ориентации ШК на ценнике под 90 градусов. Хотя в предыдущих релизах все было нормально.Это бывает когда штрихкод записан с лишними пробелами, актуально для EAN-8.
Решение:
Общий модуль "ГенерацияШтрихкодаКлиентСервер"
Функция ИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода)
Меняем строку
ШтрихкодВрем = Строка(ПараметрыШтрихкода.Штрихкод); // Преобразуем явно в строку.
на
ШтрихкодВрем = СОКРЛП(Строка(ПараметрыШтрихкода.Штрихкод)); // Преобразуем явно в строку.
Читайте также: