Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 03:02

Печать ШтрихКода

Автор Никитa, 23 окт 2014, 07:44

0 Пользователей и 1 гость просматривают эту тему.

Никитa

Столкнулся с проблемой печати штрих кода  :dfbbdrfb:
установил баркод
Хочу сказать что использую не типовую конфигурацию
Документы -> ПриходнаяНакладная
На этой форме нужно разместить кнопку Печать что я и сделал
Через конструктор печати.
В итоге получилось 

Команда  ->Печать

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
ТабДок = Новый ТабличныйДокумент;
Печать(ТабДок, ПараметрКоманды);

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();

//}}
КонецПроцедуры

&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
Документы.ПриходнаяНакладная.Печать(ТабДок, ПараметрКоманды);
КонецПроцедуры



Макет      ->Печать
Выбрал облась печати и поставил картинку (Скрин ниже)

Захожу в режим предприятия, Документы -> ПриходнаяНакладная
нажимаю кнопку Печать и выскакивает ошибка (Скрин ниже)
Подскажите  пожалуйста кто знает ?

ps. Облазил Интернет ничего толкового не нашел, кроме как установить баркод и воспользоваться коммерческим продуктом  StrokeScribe.

has

А где запрос, на который ругается?

Никитa

Цитата: has от 23 окт 2014, 07:49
А где запрос, на который ругается?
А в том то и дело что нету запроса.
Я вот и хотел поинтересоваться.
1) Где  должен быть запрос?
2) Можно ли как то интерактивно написать?

has

Ну в скрине же явно показывает где ошибка, в приходной накладной в модуле менеджера есть запрос.

Никитa

Цитата: has от 23 окт 2014, 07:56
Ну в скрине же явно показывает где ошибка, в приходной накладной в модуле менеджера есть запрос.
Текст кода из модуля  приходной накладной
тут по мойму нет запроса
&НаКлиенте
Процедура ТаблЧастьШтрихКодПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
СтрокаТабличнойЧасти.Номенклатура = РаботаСоСправочниками.УстанавливаемаяНоменклатура(СтрокаТабличнойЧасти.ШтрихКод);
СтрокаТабличнойЧасти.ЕдИзм = РаботаСоСправочниками.УстановкаЕдИзм(СтрокаТабличнойЧасти.Номенклатура);
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");
СтрокаТабличнойЧасти.Артикул = РаботаСоСправочниками.УстановкаАртикула(СтрокаТабличнойЧасти.Номенклатура);

КонецПроцедуры

&НаКлиенте
Процедура ТаблЧастьНоменклатураПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
СтрокаТабличнойЧасти.ШтрихКод = РаботаСоСправочниками.УстанавливаемыйШтрихКод(СтрокаТабличнойЧасти.Номенклатура);
СтрокаТабличнойЧасти.ЕдИзм = РаботаСоСправочниками.УстановкаЕдИзм(СтрокаТабличнойЧасти.Номенклатура);
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.ПолучитьТекущуюЦену(СтрокаТабличнойЧасти.Номенклатура, Объект.ВидЦены, Объект.Дата, Объект.Валюта);
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество;
СтрокаТабличнойЧасти.Артикул = РаботаСоСправочниками.УстановкаАртикула(СтрокаТабличнойЧасти.Номенклатура);
СтрокаТабличнойЧасти.ОстатокНаСкладе =  ОстатокНаСкладе(СтрокаТабличнойЧасти.Номенклатура, Объект.Склад);
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТекущийСотрудник = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(ИмяПользователя()));

   // Заполняем валюту по умолчанию
Если ПустаяСтрока( Объект.Валюта) Тогда
Объект.Валюта = Константы.ФирмаПоУмолчанию.Получить().ВалютаПоУмолчанию;
Объект.КурсВалюты = РаботаСоСправочниками.ТекущийКурсВалюты(Объект.Валюта, Объект.Дата);
КонецЕсли;
// Заполняем склад по умолчанию
Если ПустаяСтрока(Объект.Склад) Тогда
Объект.Менеджер = ТекущийСотрудник;
Объект.Склад   = ТекущийСотрудник.СкладПоУмолчанию;
КонецЕсли;
Если ПустаяСтрока(Объект.Менеджер) Тогда
Объект.Менеджер = ТекущийСотрудник;
КонецЕсли;
Если ПустаяСтрока(Объект.ВидЦены) Тогда
Объект.ВидЦены = Справочники.ВидЦены.НайтиПоНаименованию("Закупочная");
КонецЕсли;

Если ПустаяСтрока(Объект.Фирма) Тогда
Объект.Фирма = Константы.ФирмаПоУмолчанию.Получить();
КонецЕсли;

Объект.ОбновитьЦены = Ложь;




КонецПроцедуры




&НаКлиенте
Процедура ТаблЧастьКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");

КонецПроцедуры

&НаКлиенте
Процедура ТаблЧастьЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");

КонецПроцедуры

&НаКлиенте
Процедура НоваяСтрока(Команда)
СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
ТекущийЭлемент = Элементы.ТекущийШтрихКод;
КонецПроцедуры

&НаКлиенте
Процедура ТекущийШтрихКодПриИзменении(Элемент)
НайтиПоШтрихКоду();    
ТекущийЭлемент = Элементы.ТекущийШтрихКод;    
КонецПроцедуры

&НаСервере

Процедура НайтипоШтрихКоду()

Выборка = Объект.ТаблЧасть;
Сч = 0;
Для Каждого Строч из Выборка Цикл


Если Строч.ШтрихКод = Объект.ТекущийШтрихКод Тогда
Сч = 1;
Строч.Количество = Строч.Количество+1;
Прервать;
КонецЕсли;
КонецЦикла;

Если Сч = 0 тогда
Номенклатура = "";
Номенклатура = РаботаСоСправочниками.УстанавливаемаяНоменклатура(Объект.ТекущийШтрихКод);
Если Номенклатура = Неопределено тогда
Сообщить("Товар по штрих-коду не найден")
Иначе
НовСтрока = Объект.ТаблЧасть.Добавить();
НовСтрока.Номенклатура = Номенклатура;
НовСтрока.ШтрихКод = Объект.ТекущийШтрихКод;
НовСтрока.Количество = 1;
НовСтрока.Цена = РаботаСоСправочниками.ПолучитьТекущуюЦену(Номенклатура, Объект.ВидЦены, Объект.Дата, Объект.Валюта);
НовСтрока.Сумма = НовСтрока.Цена *  НовСтрока.Количество;
НовСтрока.ЕдИзм = Номенклатура.ЕдиницаИзмерения;
НовСтрока.ОстатокНаСкладе = ОстатокНаСкладе(Номенклатура, Объект.Склад);
НовСтрока.Артикул       = Номенклатура.Артикул; //арт

КонецЕсли;
КонецЕсли;
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");

Объект.ТекущийШтрихКод = "";

КонецПроцедуры


  &НаСервере
Функция ПодключитьВнешнююКомпонентуПечатиШтрихкода(Владелец)

// В зависимости от типа платформы подключим соответствующую внешнюю компоненту
ПодключениеВыполнено = Неопределено;
СистемнаяИнформация = Новый СистемнаяИнформация;
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикетокИЦенников.Макет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикетокИЦенников.Макет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
ИначеЕсли СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикетокИЦенников.Макет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
Иначе
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту("Обработка.ПечатьЭтикетокИЦенников.Макет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
КонецЕсли;

// Создадим объект внешней компоненты
Если ПодключениеВыполнено Тогда
ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
Иначе
Возврат Неопределено;
КонецЕсли;

// Если нет возможности рисовать
Если НЕ ВнешняяКомпонента.ГрафикаУстановлена Тогда
// То картинку сформировать не сможем
Возврат Неопределено;
Иначе

// Установим основные параметры компоненты

// Если в системе установлен шрифт Tahoma
Если ВнешняяКомпонента.НайтиШрифт("Tahoma") = Истина Тогда
// Выбираем его как шрифт для формирования картинки
ВнешняяКомпонента.Шрифт = "Tahoma";
Иначе

// Шрифт Tahoma в системе отсутствует
// Обойдем все доступные компоненте шрифты
Для Сч = 0 По ВнешняяКомпонента.КоличествоШрифтов -1 Цикл
// Получим очередной шрифт, доступный компоненте
ТекущийШрифт = ВнешняяКомпонента.ШрифтПоИндексу(Сч);
// Если шрифт доступен
Если ТекущийШрифт <> Неопределено Тогда
// Они и будет шрифтом для формирования штри-кода
ВнешняяКомпонента.Шрифт = ТекущийШрифт;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;

// Утановим размер шрифта
ВнешняяКомпонента.РазмерШрифта = 12;

Возврат ВнешняяКомпонента;

КонецЕсли;

КонецФункции





Функция ОстатокНаСкладе (Номенклатура, Склад)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОстаткиТоваровОстатки.Склад,
| ОстаткиТоваровОстатки.Номенклатура,
| ОстаткиТоваровОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(&Дата) КАК ОстаткиТоваровОстатки
|ГДЕ
| ОстаткиТоваровОстатки.Склад = &Склад
| И ОстаткиТоваровОстатки.Номенклатура = &Номенклатура";

Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Склад", Склад);
Если Объект.Дата = НачалоДня(ТекущаяДата()) И ПустаяСтрока(Объект.Номер) Тогда
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
Иначе
Запрос.УстановитьПараметр("Дата", Объект.Дата);
КонецЕсли;


Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();
         ОстатокНоменклатуры = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОстатокНоменклатуры = ВыборкаДетальныеЗаписи.КоличествоОстаток;
КонецЦикла;

Возврат   ОстатокНоменклатуры;
КонецФункции

//&НаКлиенте
// Процедура СкладПриИзменении(Элемент)
// МеняемСклад();
// КонецПроцедуры
//
// &НаСервере
//
// Процедура МеняемСклад()
// Для Каждого ТекСтрокаТаблЧасть Из Объект.ТаблЧасть Цикл
// Номенклатура = ТекСтрокаТаблЧасть.Номенклатура;
// ТекСтрокаТаблЧасть.ОстатокНаСкладе =  ОстатокНаСкладе (Номенклатура, Объект.Склад);
//
// КонецЦикла;
//
// КонецПроцедуры

&НаКлиенте
Процедура ТаблЧастьПослеУдаления(Элемент)
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");
КонецПроцедуры




// отрабатываем подбор
&НаКлиенте
Процедура Подбор(Команда)
ПараметрыФормы = Новый Структура ("ЗакрыватьПриВыборе", Ложь);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.ТаблЧасть);
КонецПроцедуры
           // отрабатываем подбор
&НаКлиенте
Процедура ТаблЧастьОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Сч =  проверкаНаличия(ВыбранноеЗначение);

Если Сч = 0 Тогда
Элементы.ТаблЧасть.ДобавитьСтроку();
Элементы.ТаблЧасть.ТекущиеДанные.Номенклатура = ВыбранноеЗначение;
ЗаполнитьДанные(Элементы.ТаблЧасть.ТекущиеДанные.Номенклатура, Элементы.ТаблЧасть.ТекущиеДанные.НомерСтроки);
КонецЕсли
КонецПроцедуры
         // отрабатываем подбор
&НаСервере
Функция проверкаНаличия(ВыбранноеЗначение)
Сч = 0;
Для каждого Строч Из Объект.ТаблЧасть Цикл
Если Строч.Номенклатура = ВыбранноеЗначение тогда
Строч.Количество = Строч.Количество + 1;// Если товар уже есть - то просто приплюсуем его;
Строч.Сумма = Строч.Цена*Строч.Количество;
             Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");

Сч = 1;
КонецЕсли;
КонецЦикла;
Возврат Сч;
КонецФункции
         // отрабатываем подбор
&НаСервере
Процедура  ЗаполнитьДанные(товар, строка)

Для каждого строч из Объект.ТаблЧасть Цикл
Если Строч.НомерСтроки = Строка Тогда

Строч.ШтрихКод = Товар.ШтрихКод;
Строч.ЕдИзм = Товар.ЕдиницаИзмерения;
Строч.Количество = 1;
Строч.Цена = РаботаСоСправочниками.ПолучитьТекущуюЦену(Строч.Номенклатура, Объект.ВидЦены,
Объект.Дата, Объект.Валюта); //Цена
Строч.Сумма = Строч.Цена*Строч.Количество;

Строч.ОстатокНаСкладе = ОстатокНаСкладе(Строч.Номенклатура, Объект.Склад);
Объект.ИтоговаяСумма = Объект.ТаблЧасть.Итог("Сумма");


КонецЕсли;

КонецЦикла;

КонецПроцедуры

     //арт
&НаКлиенте
Процедура НайтиПоАртикулу(Команда)
СтрокаТабличнойЧасти = Элементы.ТаблЧасть.ТекущиеДанные;
ТекущийЭлемент = Элементы.ТекущийАртикул;

КонецПроцедуры
      //арт
&НаКлиенте
Процедура ТекущийАртикулПриИзменении(Элемент)
НайтиПоТекущемуАртикулу();
ТекущийЭлемент = Элементы.ТекущийАртикул;
КонецПроцедуры

//арт
   &НаСервере
   
   Процедура НайтиПоТекущемуАртикулу()
Выборка = Объект.ТаблЧасть;
Сч = 0;
Для Каждого Строч из Выборка Цикл


Если Строч.Артикул = Объект.ТекущийАртикул Тогда
Сч = 1;
Строч.Количество = Строч.Количество+1;
Прервать;
КонецЕсли;
КонецЦикла;

Если Сч = 0 тогда
Номенклатура = "";
Номенклатура = РаботаСоСправочниками.НайтиПоАртикулу(Объект.ТекущийАртикул);
Если Номенклатура = Неопределено тогда
Сообщить("Товар по Артикулу не найден")
Иначе
НовСтрока = Объект.ТаблЧасть.Добавить();
НовСтрока.Номенклатура = Номенклатура;
НовСтрока.ШтрихКод = Номенклатура.ШтрихКод;
НовСтрока.Количество = 1;
НовСтрока.ЕдИзм = Номенклатура.ЕдиницаИзмерения;
НовСтрока.ОстатокНаСкладе = ОстатокНаСкладе(Номенклатура, Объект.Склад);
НовСтрока.Артикул = РаботаСоСправочниками.НайтиАртикул(Номенклатура);
НовСтрока.Цена = РаботаСоСправочниками.ПолучитьТекущуюЦену(Номенклатура, Объект.ВидЦены, Объект.Дата, Объект.Валюта);
НовСтрока.Сумма = НовСтрока.Цена *  НовСтрока.Количество;

КонецЕсли;
КонецЕсли;

Объект.ТекущийАртикул = "";
   
КонецПроцедуры

   
&НаКлиенте
Процедура ВидЦеныПриИзменении(Элемент)
Если РольПользователя("Администратор") = Ложь Тогда
Если Строка(Объект.ВидЦены) = "Закупочная" тогда
ВидЦены();
Сообщить ("У Вас нет прав выбирать закупочную Цену");
КонецЕсли;
КонецЕсли;

КонецПроцедуры

&НаСервере
Функция РольПользователя(Роль)

Возврат РольДоступна(Роль);

КонецФункции

&НаСервере
Процедура ВидЦены()
ТекущийСотрудник = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(ИмяПользователя()));
Объект.ВидЦены = ТекущийСотрудник.ВидПродажнойЦены;
КонецПроцедуры



// пересчитываем в курсах валют
&НаКлиенте
Процедура ВалютаПриИзменении(Элемент)
КурсВалюты()
КонецПроцедуры

// пересчитываем в курсах валют
&НаСервере
Процедура КурсВалюты()
  Валюта=10;
  //Объект.КурсВалюты = РаботаСоСправочниками.ТекущийКурсВалюты(Объект.Валюта, Объект.Дата);
//Для КАЖДОГО Строч ИЗ Объект.ТаблЧасть Цикл
// Если Объект.КурсВалюты = 0 Тогда
// Сообщить("Для данной валюты, на дату документа не установлен курс!");
// Возврат
// КонецЕсли;
//
// Строч.Цена = Окр(Строч.Цена/Объект.КурсВалюты,6);
// Строч.Сумма = Строч.Цена * Строч.Количество;
//КонецЦикла;
КонецПроцедуры

// пересчитываем в курсах валют
&НаКлиенте
Процедура ВалютаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
//
//курсВалюты = РаботаСоСправочниками.ТекущийКурсВалюты(Объект.Валюта, Объект.Дата);
//Если КурсВалюты = 0 Тогда
// Сообщить("Для данной валюты, на дату документа не установлен курс!");
// Возврат
//КонецЕсли;
//Для КАЖДОГО Строч ИЗ Объект.ТаблЧасть Цикл
// Строч.Цена  = Строч.Цена*курсВалюты;
//КонецЦикла;

КонецПроцедуры


   //+ найти в таблице   
   &НаКлиенте
   Процедура ШтрихТабПриИзменении(Элемент)
   НайтиВТаб("Штрих");
   КонецПроцедуры
   
   &НаКлиенте
   Процедура АртикулТабПриИзменении(Элемент)
   НайтиВТаб("Арт");
   КонецПроцедуры

   &НаСервере
   Процедура  НайтиВТаб(Инд)
   Сч = 0;
   НомерСтроки = 1;
   Если Инд = "Арт" Тогда
   АртикулТаб = Объект.АртикулТаб;
   //=================
   Пока Сч < Объект.ТаблЧасть.Количество() Цикл
   Если Объект.ТаблЧасть[Сч].Артикул = АртикулТаб тогда
   НомерСтроки = Объект.ТаблЧасть[Сч].ИсходныйНомерСтроки;
   Если  НомерСтроки = 0 Тогда
НомерСтроки = Объект.ТаблЧасть[Сч].НомерСтроки;
КонецЕсли;
   Прервать
   КонецЕсли;
   Сч = Сч+1;
   КонецЦикла;
   Объект.АртикулТаб = "";
   //=================
   ИначеЕсли Инд = "Штрих" Тогда
   ШтрихТаб =  Объект.ШтрихТаб;
   //=================
   Пока Сч < Объект.ТаблЧасть.Количество() Цикл
   Если Объект.ТаблЧасть[Сч].ШтрихКод = ШтрихТаб тогда
   НомерСтроки = Объект.ТаблЧасть[Сч].ИсходныйНомерСтроки;
   Если  НомерСтроки = 0 Тогда
НомерСтроки = Объект.ТаблЧасть[Сч].НомерСтроки;
КонецЕсли;
   Прервать
   КонецЕсли;
   Сч = Сч+1;
   КонецЦикла;
   Объект.ШтрихТаб = "";
   КонецЕсли;
   //===================
   Элементы.ТаблЧасть.ТекущаяСтрока = НомерСтроки-1;
   КонецПроцедуры

&НаКлиенте

   Процедура СкладПриИзменении(Элемент)
    Элементы.ТаблЧастьЯчейка.Видимость = тк_Сервер.ПолучитьРеквизитПоСсылке(Объект.Склад, "ИспользоватьАдресноеХранение");

   КонецПроцедуры


has

Еще раз, документ приходная накладная, модуль менеджера, найдите эту строку Запрос.Выполнить().Выбрать();
Там и смотреть текст запроса

TreeDogNight

Чтобы быстро найти место с ошибкой зайдите в конфигураторе во вкладку Отлатка > Остановка по ошибке, и поставьте галочку на "Останавливаться по ошибки", и будет вам счастье:)

Besart

Цитата: Никитa от 23 окт 2014, 07:44ps. Облазил Интернет ничего толкового не нашел, кроме как установить баркод и воспользоваться коммерческим продуктом  StrokeScribe.
делал обработку для печати этикеток и ценников для УТ 10.3, чем то мне не понравился типовой механизм, в итоге слямзил из УТ 11, все работает


Никитa

Цитата: Besart от 23 окт 2014, 16:26
Цитата: Никитa от 23 окт 2014, 07:44ps. Облазил Интернет ничего толкового не нашел, кроме как установить баркод и воспользоваться коммерческим продуктом  StrokeScribe.
делал обработку для печати этикеток и ценников для УТ 10.3, чем то мне не понравился типовой механизм, в итоге слямзил из УТ 11, все работает
А осталась обработка?)

Besart

Цитата: Никитa от 24 окт 2014, 11:47А осталась обработка?)
осталась, но я ее делал под заказ, поэтому правов не имею выкладывать,
посмотрите как работает обработка ПечатьЭтикетокИЦенников в УТ 11, в частности она использует КомпонентаПечатиШтрихкодов - находится в общих макетах

Похожие темы (5)

Рейтинг@Mail.ru

Поиск