Имя: Пароль:
1C
1С v8
Замена объекта табличного документа.
0 tttiger
 
20.06.12
08:24
ТабДоке есть рисунок Barcode1C_Big, который надо заменить ActiveX объектом. Делаю так:

Эт = РЗ.Этикетка.Получить(); //выгребаю табдок из хранилища
Макет = Обработки.кбкПечатьЭтикеток.ПолучитьМакет("ЭтикеткаА4");
БШК = Макет.Рисунки.Barcode1C_Big.Объект; //сам ActiveX объект

Что делать дальше ума не приложу. Пробовал так:

Эт.Рисунки.Удалить(Эт.Рисунки["Barcode1C_Big"]);
полеБШК = Эт.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Объект);
//полеБШК.Картинка = БШК;
//полеБШК.Объект = БШК;

Говорит, что поле (Картинка)Объект недоступно для записи...

Подскажите в какую сторону рыть. Спасибо!
1 tttiger
 
20.06.12
08:27
8.2.14.540 кстати.
2 Defender aka LINN
 
20.06.12
08:33
"поле (Картинка)Объект недоступно для записи" - ну вроде ж по-русски все написано...
3 tttiger
 
20.06.12
08:37
так а делать то что? куда объект этот сунуть или может функция есть какая - нибудь встроенная?
4 tttiger
 
20.06.12
08:38
проблема то не в том что 1с ругается, а в том что надо заменить картинку на объект.
5 Defender aka LINN
 
20.06.12
08:39
(4) А прямо руками взять и заменить в конфигураторе - не?
6 tttiger
 
20.06.12
08:49
Мне надо табдок динамически менять, с макетом все в порядке.

Там просто смысл в том, что 1 конфа формирует этикетку в виде табдока, и выгружает ее во 2ую конфу, и вторая уже должна на готовую этикетку шлепнуть 2 штрихкода(расположенные в середине и внизу этикетки).
7 Галахад
 
гуру
20.06.12
08:57
(6) А чего так сложно? Почему сразу в 1 не формировать?
8 Злобный монстр
 
20.06.12
09:23
(6) Прям смерть кощеева...
9 tttiger
 
20.06.12
09:33
ну формируется она в 1С:логистике, т.к. в ней содержится вся инфа о продукции и т.д. и т.п, а печататься должна уже в цехе на производственных линиях. Решено было туда не ставить полноценные клиенты логистики ибо 1 - дорого, 2 - стока инфы для печати этикеток вроде как и не надо. Решили разделить: и на линии сделать самописные конфу - экономия примерно 250 т.р.
10 Галахад
 
гуру
20.06.12
09:36
(9) Ну и ладно, зачем два раза печать-то?
Инфу получил и печатай.
11 tttiger
 
20.06.12
09:50
1 конфа не печатает, а лишь делает файл *.mxl - отправляет его во вторую конфу, которая берет из *.mxl макет, вставляет в него нужные параметры и штрихкод(ну должна во всяком случае) и печатает. Вся фишка в том, что сам макет разный для различных видов продукции (в том числе и количество параметров), делать отдельный макет для каждого вида продукции не представляется возможным(около 700 видов). В принципе все это решено, проблема осталась одна: программно вставить ActiveX объект в готовую этикетку. Это проще и быстрее чем менять порядок работы всей фабрики :)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн