Имя: Пароль:
1C
1С v8
Помогите разобраться с 1С:Печать штрихкодов
0 Nikart
 
09.06.12
12:07
Не могу понять как работает эта шутка. Изменял стандартную печать этикеток, но не завелась, пишет на строку РисунокШтрихкод.Расположить(ОбластьШтрихкод);
"Несоответствие типов". Толком описание по установке и настройке не нашел. Помогите плиз разобраться. Код следующий:

Попытка
КомпонентШК = Новый COMОбъект("V8.Barcod.1");
Исключение
Сообщить("Компонента 1С:Печать штрих-кодов не установлена на данном компьютере!", СтатусСообщения.Важное);
Возврат;
КонецПопытки;

Макет = ПолучитьМакет("Этикетка");

ОбластьШтрихкод = Макет.ПолучитьОбласть("Штрихкод");
ОбластьТекстШтрихкод = Макет.ПолучитьОбласть("ТекстШтрихкод");
ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
РисунокШтрихкод = Макет.Рисунки.РисунокШтрихКод;

РисунокШтрихкод.Расположить(ОбластьШтрихкод);
1 Nikart
 
09.06.12
12:15
ап
2 Cube
 
09.06.12
12:19
(0) Читай СП:

РисунокТабличногоДокумента (SpreadsheetDocumentDrawing)
Расположить (Place)
Синтаксис:

Расположить(<ОбластьЯчеек>)
Параметры:

<ОбластьЯчеек> (обязательный)

Тип: ОбластьЯчеекТабличногоДокумента.
Область, в которой будет расположен рисунок.

...

------------------------------------------

ТабличныйДокумент (SpreadsheetDocument)
ПолучитьОбласть (GetArea)
Вариант синтаксиса: По имени

Синтаксис:

ПолучитьОбласть(<ИмяОбласти>)

...

Возвращаемое значение:

Тип: ТабличныйДокумент.
Область, как новый табличный документ.

----------------------------

Разжевать?
3 Nikart
 
09.06.12
12:29
(2) т.е. Расположить только через диапазон, а не через именованые ячейки?
4 Cube
 
09.06.12
12:32
(3) Эх... Ну ладно, разжую: У тебя ОбластьШтрихкод имеет тип "ТабличныйДокумент", а в РисунокШтрихкод.Расположить() нужно передавать не "ТабличныйДокумент", а "ОбластьЯчеекТабличногоДокумента".
Но нет, ты настырно пытаешься туда всунуть "ТабличныйДокумент", получаешь ошибку в лицо "Несоответствие типов" и удивляешься, с чего бы вдруг? :)
5 Nikart
 
09.06.12
14:19
Вроде как разобрался с этой ошибкой, но при выводе штрихкода, рисует одинаковые штрихкоды для всех этикеток. Подозрение, что либо не правильно в макете установлен с именоваными областями и выводит в результате картинку стандартного, либо не правильно
присваиваю значение кода.

ОбластьШтрихкод         = Макет.ПолучитьОбласть("Штрихкод");
   ОбластьТекстШтрихкод     = Макет.ПолучитьОбласть("ТекстШтрихкод");
   ОбластьНоменклатура        = Макет.ПолучитьОбласть("Номенклатура");
   РисунокШтрихкод         = Макет.Рисунки.РисунокШтрихКод;
   
   РисунокШтрихкод.Расположить(Макет.Области.ОбластьШтрихКод);
   
   Если ФорматЭтикетки  = 1 Тогда //принтер этикеток.
       
       КоличествоСтрок   = 1;
       КоличествоКолонок = 1;
       
   ИначеЕсли ФорматЭтикетки = 2 Тогда //А4 по колонкам.
       
       КоличествоСтрок   = 19;
       КоличествоКолонок = 5;
       
   КонецЕсли;
   
   ВсегоКолонок = КоличествоКолонок;
   ВсегоСтрок     = КоличествоСтрок;
   
   НайденыеСтроки = Товары.НайтиСтроки(Отбор);
   ВывелиХотяБыОдинШтрихКод = Ложь;
   
   Если НайденыеСтроки.Количество()>0 Тогда
       
       ВывелиХотяБыОдинШтрихКод = Истина;
       
       Для Индекс=0 По НайденыеСтроки.Количество()-1 Цикл
           
           Строка    = НайденыеСтроки[Индекс];
           
           РисунокШтрихКод.Объект.ТипКода        = 1;
           
           ОбластьТекстШтрихкод.Параметры.Текст = СокрЛП(Строка.СерияНоменклатуры.Наименование);
           РисунокШтрихкод.Объект.Сообщение = СокрЛП(Строка.СерияНоменклатуры.Наименование);
6 Nikart
 
09.06.12
14:19
принципа не понимаю в целом с этими штрихкодами... и найти описания не могу в гугле
помогите плиз
7 Nikart
 
09.06.12
14:48
ап
8 Nikart
 
09.06.12
15:16
апап
Закон Брукера: Даже маленькая практика стоит большой теории.