0. zarius 165 02.06.12 16:45 Сейчас в теме

Класс 1С++ для программного добавления изображений/текста/ШК в таблицу

Необходимо добавить в сформированную таблицу изображения/текста/ШК (81 тип ШК) с прозрачным фоном? Вставить фирменный логотип? Быстро организовать оформление документов в корпоративном стиле? Данная разработка поможет в этом!

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. CaSH_2004 355 03.06.12 11:32 Сейчас в теме
Пользоваться не буду т.к. 7.7 почти не пользуюсь, но автор красавчик!, столько разработок совместил, это непросто
Кстати тут есть Разукрашка http://infostart.ru/public/19856/
при помощи нее можно раскрасить код
2. Ёпрст 1036 04.06.12 12:23 Сейчас в теме
Еще нужно как минимум добавить свойство масштабирования картинки.
3. zarius 165 04.06.12 13:37 Сейчас в теме
(2) Картинка масштабируется под размеры добавляемого в таблицу объекта... или я не так понял предложение в (2)?
13. Ёпрст 1036 07.06.12 09:39 Сейчас в теме
(3)
Картинка масштабируется под размеры добавляемого в таблицу объекта... или я не так понял предложение в (2)?


Есть несколько же методов - растягивание под размер картинки, пропорцианально, оригинальный размер , сохранение пропорций + вписывание в окошко и т.д..

Вот это нужно в свойство класса воткнуть, у активбмп это есть.

А так, не совсем удобно размещать по пикселям - подходит только для статических форм.
У меня по 3-4 печати с подписями за раз выводится - мне проще в макете разместить картинку в выводимой секции.

Класс не качал, есть ли возможность вставить картинку относительно ячеек мокселя ?
Скажем в R1C122 - в левый верхний угол этой ячейки ?
Т.е задавать координаты ячейки, например.
15. zarius 165 07.06.12 10:33 Сейчас в теме
(13)
нужно в свойство класса воткнуть, у активбмп это есть

не вопрос - можно все свойства активбмп перенести в свойства класса - сейчас просто реализован самый простой - но самое главное - работающий вариант. Добавил объект необходимого размера на форму - и картинка будет именно этого размера. Когда игрался с другими свойствами активбмп - было какое то шаманство - на экране одно - при печати другое (читал http://www.1cpp.ru/forum/YaBB.pl?num=1297093976/10#10 - но рекомендации Z1 как то не особо помогли в этом плане).

У меня по 3-4 печати с подписями за раз выводится

а если надо не статические 3-4, а 20-30 в одной таблице, при этом места и состав подписей/печатей может меняться? :)

Скажем в R1C122 - в левый верхний угол этой ячейки ?

Может.
ДобавитьИзображение(Лево, Верх, Право, Низ, Путь, Тип) - добавление изображения в таблицу

    Лево, Право, Верх, Низ - координаты добавиления изображения в таблицу (см. "тип")
    Путь - путь к файлу изображения
    Тип - тип системы координат: 0 - пиксельная; 1 - табличная; 2 - левый верхний угол задается в табличной системе, в "право,низ" - задается смещение относительно левого верхнего угла

Тип - тип системы координат: 0 - пиксельная; 1 - табличная; 2 - левый верхний угол задается в табличной системе, в "право,низ" - задается смещение относительно левого верхнего угла

(14)
Дочитал до пакетной печати... Не показывать не катит :((

Так можно и показывать и не показывать - как душе угодно...
4. BorisBelov 886 04.06.12 14:49 Сейчас в теме
5. Доня 275 04.06.12 16:02 Сейчас в теме
А как этим пользоваться?
это надо вставить в модуль формы или как ???
6. zarius 165 04.06.12 16:27 Сейчас в теме
(5) это класс 1С++. Более подробно можно узнать на www.1cpp.ru.
7. zarius 165 04.06.12 16:45 Сейчас в теме
(5) если необходимо без 1С++ - пожалуйста... код класса открыт - все процедуры/функции можно переносить непосредственно в модуль вывода таблицы и там их использовать...
однако если используешь 7.7 - настоятельно рекомендую посмотреть в сторону 1С++ - временные затраты на это окупятся многократно...
8. soba 06.06.12 02:56 Сейчас в теме
Плюс однозначный.
А как подобное с приличного объема картинками будет работать по скорости? Конкретнее- если использовать класс для пакетной печати пакета документов вместе с сертификатами (а они по 2-4Мб)? Тормоза будут?
9. zarius 165 06.06.12 09:53 Сейчас в теме
(8) добавление оле-объектов происходит довольно шустро. Как то пробовал - около 20 печатей добавляются в довольно объемную таблицу - около 3-4 секунд, с учетом что все это дело печатается несколько минут - время на добавление изображений не критично. Там есть ньюанс, если собираешься сразу же отправлять на печать, не выводя на экран...
10. soba 06.06.12 10:40 Сейчас в теме
(9) Именно так и нужно, пакетная печать напрямую. А что за нюанс?
11. zarius 165 06.06.12 12:37 Сейчас в теме
(10) ньюанс в том что добавление изображений происходит после метода таблицы "Показать()", поэтому в любом случае таблица будет отображена для пользователя.
Самый простой вариант в этом случае - использовать:
	... заполнение таблицы
	Таблица.Показать(,,0);
	... заполнение таблицы изображениями
	
	Таблица.Напечатать(0);
	Таблица.Показать(,,-1);

Однако при этом варианте пользователь все равно увидит мелькание выводимой таблицы

Другой вариант - использовать элемент управления "ПолеТабличногоДокумента", предоставляемый TableDoc.dll. Этот элемент управления можно поместить, например, в скрытый слой и выводить таблицу туда. Оттуда и печатать.
Перем гТДОтчет;

Функция  ПопыткаЗагрузкиТаблДок()
	Попытка
		мМен=СоздатьОбъект("МенеджерТабличногоДокумента");
	Исключение
		Если ЗагрузитьВнешнююКомпоненту("TableDoc.dll") = 0 Тогда
			Сообщить("Ошибка загрузки ВК TableDoc");
			СтатусВозврата(0);
			Возврат 0;
		КонецЕсли;
		Попытка
			мМен=СоздатьОбъект("МенеджерТабличногоДокумента");
		Исключение
			Сообщить("Ошибка загрузки ВК TableDoc");
			СтатусВозврата(0);
			Возврат 0;
		КонецПопытки;

		ОткрытьФорму("Отчет#",, РасположениеФайла()); // обратить внимание на знак #
		СтатусВозврата(0);
		Возврат 0
	КонецПопытки;
	Возврат 1;
КонецФункции

Процедура Сформировать()
	
	...
	Таблица = гТДОтчет.Таблица; //вместо "Таблица = СоздатьОбъект("Таблица"); "
	... заполнение таблицы
	Таблица.Показать();
	... заполнение таблицы изображениями
	
	Таблица.Напечатать(0);

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

Процедура ПриОткрытии()
	Если ПопыткаЗагрузкиТаблДок() = 0 Тогда
		Возврат;
	КонецЕсли;	
	
    _Форма=СоздатьОбъект("Форма");
    _Форма.УстановитьФорму(Форма);
КонецПроцедуры

Процедура ФормаПриСоздании(_Форма)
    гТДОтчет=_Форма.СоздатьЭлементУправления("ПолеТабличногоДокумента",Форма.ПолеТДОтчет);
    гТДОтчет.Таблица.Опции(0,0,2,0);
    гТДОтчет.Таблица.ТолькоПросмотр(1);
КонецПроцедуры 
Показать

где ПолеТДОтчет - элемент "кнопка" на скрытом слое формы...
Однако при данном методе уже не обойтись без 1С++ (либо как вариант можно попробовать FormEx)
12. soba 06.06.12 12:42 Сейчас в теме
(11) zarius Спасибо, буду пробовать второй вариант. 1С++ и extForms уже давно задействованы, без них никуда :)
14. Ёпрст 1036 07.06.12 09:40 Сейчас в теме
Дочитал до пакетной печати... Не показывать не катит :((
Ладно - по старинке как то проще.
16. nirbolz 30 08.06.12 20:33 Сейчас в теме
А в 1с 8.2 такая прога будет работать?
17. zarius 165 09.06.12 10:57 Сейчас в теме
(16) именно эта - нет, однако нет ничего невозможного - уверен, что можно подобный функционал реализовать и на 8.2:
1. GFLAx - точно заработает
2. bmp_1c.ocx - скорее всего тоже должен заработать - надо пробовать
Осталось найти возможность программно добавлять ОЛЕ-объекты в таблицу 8.2
18. zarius 165 09.06.12 11:18 Сейчас в теме
(16) да, для 8.2 все можно сделать...
19. Ёпрст 1036 09.06.12 11:27 Сейчас в теме
>>
.а если надо не статические 3-4, а 20-30 в одной таблице, при этом места и состав подписей/печатей может меняться? :)


У меня все печати не статические, форма динамическая, размеры её разные, просто на 1 странице как правило 6 печатей и 6 подписей вылезает.
Подписи и печати от разных фирм + забит массив печатей + вывод от одной фирмы идет рандомный - "иммитация" как от руки..

Твоим способом, пришлось бы каждый раз вычислять положение 12 картинок на каждой страничке.. а как у меня - тупо вывод штатненько в макете, только картинки разные подсовываются.

По поводу "обрезания" картинок в активбмп, дык Z1 показал же как надо делать:
ActiveX.DstWidth = -1;
ActiveX.DstHeight = -1;


Да и .. Таб.Показать() как то не охота делать.
21. zarius 165 09.06.12 12:46 Сейчас в теме
(19) Если у тебя сейчас все работает - возможно лучше ничего и не трогать :)
У тебя расположение изображений (печати/подписи) в таблице статическое - при визуальном сравнении большого объема страниц - сразу выявляется закономерность в расположении печатей и подписей (тем более если есть повторяющиеся страницы). При использовании подхода, реализованного в классе - каждую печать/подпись можно сделать уникальной - вот здесь уже полноценная ""иммитация" как от руки.."

По поводу "обрезания" картинок в активбмп, дык Z1 показал же как надо делать:

Эту рекомендацию и использую + "ActiveX.Function = 1;", однако когда начинаю играть в другими свойствами - начинается шаманство... в общем думаю что самый простой вариант для доступа к свойствам АктивБМП - это переделать проц. ДобавитьИзображение(...) в функцию с возвратом ссылки на объект АктивБМП...

Да и .. Таб.Показать() как то не охота делать.

Чем не нравится решение в (11)? Конечно не совсем удобно - но тем не менее это решение...

Да, страничек вылезает иной раз и по 100 штук.. следовательно картинок там - 600

Знакомые объемы... :)
23. Ёпрст 1036 20.06.12 13:22 Сейчас в теме
(21) решение в (11) не нравится скоростью, любой вывод формы на экран - всегда медленно, чем сразу на принтёр.
20. Ёпрст 1036 09.06.12 11:28 Сейчас в теме
Да, страничек вылезает иной раз и по 100 штук.. следовательно картинок там - 600
:)
22. Ёпрст 1036 20.06.12 13:20 Сейчас в теме
OcvitaBarcode.ocx, надеюсь, бесплатная ?
24. zarius 165 20.06.12 15:30 Сейчас в теме
(22)бесплатная, на сайте разработчика в архиве даже исходники есть http://ocvita.ru/content/view/89/1/, все это дело построено на основе опенсорсного проекта - библиотеки zint http://www.sourceforge.net/projects/zint...
26. zarius 165 20.06.12 15:39 Сейчас в теме
(24) тоже верно, но мне другие варианты пока на ум не приходят...
25. zarius 165 20.06.12 15:37 Сейчас в теме
кстати,
можно установить прозрачный цвет фона штрихкода, для этого свойству bgcolour следует присвоить значение "" (пустая строка)
, вот только надо ли оно - возможно изображение на слое под ШК сделает в этом случае ШК нечитаемым...
27. dudf 13.07.12 11:25 Сейчас в теме
2. ActiveX элемент управления bmp_1c.ocx (ActiveBMP) - автор Морев Андрей (Z1) (http://1c.proclub.ru/modules/mydownloads/personal.php?lid=2725&cid=111) - используется непосредственно для отображения картинок в таблице (обязательно)

Это разве обязательно? Через стандартную картинку запросто можно все вывести.
28. Ёпрст 1036 13.07.12 11:27 Сейчас в теме
(27) што именно ты через стандартную картинку выведешь ?
Печать с прозрачным фоном смогёшь?
:)
30. dudf 13.07.12 14:56 Сейчас в теме
(28) Ёпрст, нет, но мне и не нужно.
(29) Ёпрст, в свойствах картинки(текст) пишешь ПриВыводеКартинки(Таб.ТекущийОбъект,Файл) и добавляешь в код:

Функция ПриВыводеКартинки(Картинка, Файл)
	
	Картинка.РежимРисования(3);
	Картинка.Загрузить(Файл);
	
КонецФункции


Где файл - путь к готовой картинке. И эта функция будет вызываться при Таб.ВывестиСекцию.

Имхо если не нужны всякие повороты-перевороты, то в разы проще выходит.
32. Ёпрст 1036 13.07.12 15:20 Сейчас в теме
(30) :)))))))))

Еще раз : "с прозрачным фоном"
29. Ёпрст 1036 13.07.12 11:27 Сейчас в теме
И не просто так, а что еще и "динамически" картинка из файла всосалась ?
31. dudf 13.07.12 15:03 Сейчас в теме
А понимает ли Ocvita кириллицу? Просто если верить "На основе библиотеки zint", а с зинтом я уже крупно обломался, то какие еще есть пути?
34. zarius 165 13.07.12 15:24 Сейчас в теме
(31) кириллицу понимает - проверено на QR Code
Ёпрст; dudf; +2 Ответить
33. Ёпрст 1036 13.07.12 15:22 Сейчас в теме
Если че, активикс в этой работе нужен только для этих целей.
А как вставить картинку с прозрачным фоном статическую куда угодно, я и сам кого хошь научу.
Прикрепленные файлы:
СмотриСам.ert
35. dudf 13.07.12 15:31 Сейчас в теме
36. pvlunegov 150 21.10.13 15:58 Сейчас в теме
Спасибо, полезно для начала.
Пришлось долго копать о том, как подключать классы 1с++ к 1с.
Просьба автору добавить файл с комментарием, как данный класс подключать.
Мне как новичку пришлось угробить весь день элементарно для того чтобы понять что с этим файлом делать (.ert)/
Сначала думал, что все процедуры надо прописать в глобальном модуле.
Потом попробовал в обработке прописывать, не катило.
Короче весь мозг сломал угробил 3 часа и ничего не понял, как это все работает.
Все нужные плагину, указанные у вас установил, все норм.

Просьба для новичков инструкцию о том, как енто дело подключать к 1с.
37. zarius 165 21.10.13 16:29 Сейчас в теме
(36) думаю нет смысла в каждой публикации классов 1С++ (а таких не мало на ИС) проводить ликбез для новичков. Вам достаточно ознакомиться с документацией ВК 1С++ чтобы понять как и что подключать...
То, что Вам пришлось "долго копать" - думаю это время окупится многократно, если вы все еще на 7.7 и только начали смотреть в сторону 1С++.
38. zarius 165 21.10.13 17:40 Сейчас в теме
(36) для начала - очень простая и доступная статья 1С++ - это просто
39. YODDHA 49 30.04.15 10:58 Сейчас в теме
а в PDF, что бы сохранялась прозрачность, можно как то сделать?
40. zarius 165 30.04.15 14:26 Сейчас в теме
(39) а в чем проблема? формируете обычную таблицу (mxl), а потом сохраняете ее в PDF, например, через ёксель.
41. YODDHA 49 31.05.15 23:19 Сейчас в теме
(40) формирую, и сохраняю, и печать перестает быть прозрачной((((
42. YODDHA 49 31.05.15 23:52 Сейчас в теме
возможно использую не те длл, пути к ним в статье битые, и наверно то что нашел не совсем удачно, вы не могли бы мне прислать работающие дллки
43. zarius 165 01.06.15 12:09 Сейчас в теме
(42) Напрямую ёксель в этом классе не используется, но результат работы этого класса, полученный в виде таблицы можно легко этой ВК сохранить как PDF. Документация и сама компонента доступна на сайте автора: Yoksel
44. zarius 165 01.06.15 12:28 Сейчас в теме
(42) действительно сейчас есть проблемы с некоторыми ссылками на компоненты - напишите каких компонент не хватает - вышлю на почту
45. Zaletov 15 28.10.15 13:11 Сейчас в теме
Добрый день. немогу скачать компаненты TableDoc.dll и bmp_1c.ocx.
46. zarius 165 29.10.15 10:38 Сейчас в теме
(45)
TableDoc.dll - http://www.1cpp.ru/forum/YaBB.pl?num=1177688915/0
bmp_1c.ocx - пришлите почту - вышлю индивидуально
48. dekom3 13.12.15 21:18 Сейчас в теме
Помогите найти bmp_1c.ocx. Пожалуйста.
49. zarius 165 14.12.15 10:08 Сейчас в теме
(48) bmp_1c.ocx - отправил по почте
50. dekom3 14.12.15 11:58 Сейчас в теме
(49)

Низкий поклон.

Но...


Если ЗагрузитьВнешнююКомпоненту("TableDoc.dll") = 0 Тогда
	Предупреждение("Неудачная попытка загрузить TableDoc.dll");
	СтатусВозврата(0);  	Возврат;
КонецЕсли;

....................


Печ = СоздатьОбъект("ИзображенияДляТаблицы");
{Документ.ЗаказНаряд.Форма.Модуль(528)}: Неудачная попытка создания объекта (ИзображенияДляТаблицы)

Кого забыл подгрузить?
51. zarius 165 14.12.15 16:04 Сейчас в теме
TableDoc не загрузился - соотв. класс ИзображенияДляТаблицы так же не грузится
Файл TableDoc.dll есть?
52. dekom3 14.12.15 16:27 Сейчас в теме
(51)

Есть FileVersion : 0, 1, 1, 45
И в каталог базы пихал, и в Bin
ЗагрузитьВнешнююКомпоненту("TableDoc.dll") дает 1
и в модуле формы пробовал и в Глоб.Модуле
Может длл битый. Но больше найти тоже нигде не могу.


53. zarius 165 14.12.15 18:36 Сейчас в теме
(52) Такое ощущение, что класс не определен в defcls.prm
54. dekom3 14.12.15 19:01 Сейчас в теме
(53)
Если честно - не понимаю что такое defcls.prm.
А нет случайно маленького рабочего примера?
Ну и с самой длл-кой.

У меня задача следующая:
Есть Документ - Заказ-Наряд. Печатная форма разделена на две части вертикально. Справа 3 табличные части в разными количествами строк (Может быть 15,2,4, а может 3,14,3). А слева рисунок примерно на 25 строк. Хочется как-то оптимальненько реализовать.
55. zarius 165 15.12.15 11:09 Сейчас в теме
(54) если внимательно почитать заголовок, то в нем можно увидеть "Класс 1С++"
Как подключать классы 1С++ - необходимо смотреть документацию на 1cpp.ru. Если совсем по простому - статья 1С++ - это просто.

В вашем случае надо создать файл в каталоге ИБ (если его еще нет) defcls.prm и добавить в него определение для класса ИзображенияДляТаблицы:
класс ИзображенияДляТаблицы= Классы\ИзображенияДляТаблицы.ert
{
};

Соотв. в каталоге ИБ в каталог Классы положить обработку с классом из данной публикации.

А вообще данные вопросы уже поднимались в обсуждении - (37) (38).
56. gamletspb77 18.01.16 16:47 Сейчас в теме
а не поможет кто с компонентой bmp_1c.ocx - нигде живую ссылку найти не могу??
а то без нее походу не заводится

email: gamlet77@gmail.com
57. zarius 165 18.01.16 20:21 Сейчас в теме
58. gamletspb77 19.01.16 09:36 Сейчас в теме
(57) спасибо.
Однако не работает: bmp картинку выводит (при этом цвета корявит со страшной силою), все что не bmp не выводит вообще - выдает пустой объект. GFLAx вроде подключен (по крайней мере не ругается на него). В чем может быть проблема?


	Таб = СоздатьОбъект("Таблица");
	Таб.ИсходнаяТаблица("Таблица1");
	
	Таб.Вывести();
	Таб.Показать();
	
	ИТаб = СоздатьОбъект("ИзображенияДляТаблицы");
	ИТаб.ПодключитьТаблицу(Таб);
	
	ИТаб.ДобавитьИзображение(1,2,100,100,"D:\Локальные документы\1С77\Test_SQL - копия\Pic\Koala.bmp",2);
	ИТаб.ДобавитьИзображение(2,5,100,100,"D:\Локальные документы\1С77\Test_SQL - копия\Pic\Koala.jpg",2);
Показать
Прикрепленные файлы:
59. zarius 165 28.01.16 16:21 Сейчас в теме
(58) если не выводит ничего кроме bmp - значит проблемы с GFLAx, ибо именно он перед выводом конвертирует изображение в bmp.
60. OldCadet 17.04.16 19:43 Сейчас в теме
(57)

Добрый день.

И мне скиньте плиз bmp_1c.ocx на

dutoff@rambler.ru
61. zarius 165 18.04.16 15:51 Сейчас в теме
62. Maddy18 44 06.12.16 19:31 Сейчас в теме
Добрый вечер.

Можно и мне bmp_1c.ocx на info@1carhipov.ru ?
63. zarius 165 10.12.16 20:21 Сейчас в теме
64. james404 26 12.09.17 17:43 Сейчас в теме
(63)
Добрый вечер.

Пожалуйста пришлите и мне bmp_1c.ocx на 721505@bk.ru

Заранее спасибо!
65. zarius 165 13.09.17 13:59 Сейчас в теме
66. PNTRL 27.04.18 00:46 Сейчас в теме
Добрый вечер.

Пожалуйста пришлите bmp_1c.ocx на penetralia@rambler.ru

Заранее спасибо!
67. zarius 165 27.04.18 12:23 Сейчас в теме
68. PNTRL 28.04.18 23:38 Сейчас в теме
69. alexrav 09.06.18 00:08 Сейчас в теме
Добрый вечер.

Можно и мне bmp_1c.ocx на alexregis@bk.ru ?


Заранее спасибо!
70. zarius 165 09.06.18 10:04 Сейчас в теме
71. kras_71 26 24.09.18 16:08 Сейчас в теме
Пожалуйста пришлите bmp_1c.ocx на kras_71@mail.ru
72. zarius 165 24.09.18 20:00 Сейчас в теме
73. FAMыч 30.09.18 11:43 Сейчас в теме
Доброго времени суток!

Если не трудно, вышлите bmp_1c.ocx на nk374@mail.ru

Заранее спасибо.
74. zarius 165 01.10.18 10:54 Сейчас в теме
78. sergu1963 09.12.18 16:49 Сейчас в теме
Доброе время суток!
Пожалуйста, вышлите TableDoc.dll и bmp_1c.ocx на sergu1963@yandex.ru.
Заранее благодарю.
79. zarius 165 10.12.18 20:01 Сейчас в теме
80. aleksdbs 18.12.18 19:34 Сейчас в теме
Прошу скинуть bmp_1c.ocx и text_1c.ocx на aleksdbs@gmail.com
81. aleksdbs 18.12.18 19:42 Сейчас в теме
Прошу скинуть bmp_1c.ocx и text_1c.ocx на aleksdbs@gmail.com
Спасибо!
82. zarius 165 19.12.18 11:03 Сейчас в теме
83. Seneka7608 7 24.12.18 12:01 Сейчас в теме
Приветствую!
Я со стандартным в этой теме вопросом, тоже прошу скинуть bmp_1c.ocx и text_1c.ocx на sergenii@mail.ru
Заранее, спасибо!
84. zarius 165 26.12.18 16:12 Сейчас в теме
85. demetrius2003 19 28.03.19 18:34 Сейчас в теме
Если Вас не затруднит - скиньте bmp_1c.ocx и text_1c.ocx на nikservice[собака]rambler.ru. Спасибо!
P.S.: Если не сложно, с примером использования в 1с 77
86. zarius 165 29.03.19 10:36 Сейчас в теме
(85) Выслал. Пример добавления в таблицу подписи с печатью есть в описании публикации.
demetrius2003; +1 Ответить
87. IMS 10.04.19 15:34 Сейчас в теме
Добрый день.
Я с тем же вопросом, прошу скинуть bmp_1c.ocx и text_1c.ocx на igorms1342@gmail.com
Заранее, спасибо!
88. zarius 165 10.04.19 18:46 Сейчас в теме
90. zarius 165 11.04.19 09:39 Сейчас в теме
(87) (89) отправил ссылку через ЛС
89. IMS26 10.04.19 21:48 Сейчас в теме
Прошу скинуть bmp_1c.ocx и text_1c.ocx
Заранее, спасибо!
92. systemaooo2007 16.11.19 10:15 Сейчас в теме
Прошу скинуть bmp_1c.ocx и text_1c.ocx на systemaooo@gmail.com
Спасибо!
94. zarius 165 18.11.19 14:51 Сейчас в теме
93. CheBurator 3404 16.11.19 21:51 Сейчас в теме
проблема не вставить картинку. проблема чтобы прайс с каринками, даже достаточно маленькими не весил по 15-25 Мб в экселе.
95. zarius 165 18.11.19 15:15 Сейчас в теме
(93) ActiveBMP работает только с bmp - отсюда и размер. В моих задачах не было необходимости сохранять итоговые таблицы (только печать), поэтому проблемой размера не озадачивался. Возможно проблема решится архивированием итоговой таблицы?
96. CheBurator 3404 18.11.19 15:56 Сейчас в теме
(95) частично решается. но это костыль.
97. ray1978 24.12.19 15:42 Сейчас в теме
Здравствуйте.

Может кто подскажет по OcvitaBarcode.ocx
Умотался я уже с ней и с 1с 77

Суть в том, что, я хочу в обработке в табличной части (в конфигураторе) добавить ее как объект,
чтобы можно было бы затем в коде передавать на нее данные.
Это аналогично с объектом barcode.ocx
Правда, часто мы просто из типовой копируем этот объект в таблицу нашей обработки и дальше работаем.
Более того, на ИТС дается такой же ответ, что копируйте.

А вот OcvitaBarcode.ocx копировать неоткуда.

Можно добавить через объект лист MicrosoftExcel, куда этот объект вставляется и должен через буфер копироваться в 1с.
Однако, здесь другая засада.
MicrosoftExcel пишет что "Вставка объекта неосуществима" (OcvitaBarcode)
Тоже самое пишет относительно вставки объекта ActiveBarcode.

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

В общем, может кто подскажет, как иначе запихать объект в таблицу в обработке 1с77 в конфигураторе.
Может есть иные программы, куда можно вставить объект OcvitaBarcode, а далее путем копирования вставить в 1с 77.

Кстати, способ копирования из макетов 1с 8.2 в таблицу обработки 1с 77 ничего не получилось: копируется, но на момент вставки, команда вставить не активная.

В общем, нужен действенный совет.
Спасибо
98. zarius 165 25.12.19 12:19 Сейчас в теме
(97) Я возможно не до конца понял что Вы хотите. Если нужен объект OcvitaBarcode в таблице 1С 77 - почему бы не воспользоваться данным классом - сформировать таблицу и методом ДобавитьШК_Оквита добавить данный объект в таблицу. Далее уже делайте с выведенным объектом что угодно в рамках 1С 77 - в т.ч. в конфигураторе. Для примера сформировал данным классом таблицу с объектом OcvitaBarcode и сохранил ее (во вложении). Откройте данный файл у себя, если ActiveX OcvitaBarcode.ocx зарегистрирован в системе - все должно открыться без проблем.
Прикрепленные файлы:
Таблица_с_ОКВИТА.mxl
99. ray1978 25.12.19 14:21 Сейчас в теме
(98)

Спасибо за прикрепленный файл с вставленным объектом.

Суть моего вопроса в том, как это сделать самому.
Я знаю всего лишь пару вариантов, как это делать. Все они - стандартные.

первый: скопировать объект из уже имеющейся таблицы

второй: штатными средствами 1с 77 вставить объект. а, поскольку в списке его нет, то пробую через лист excel. предполагается, что в excel можно (или когда-то это было можно) вставить объект (а он уже там есть в списке). Затем из листа excel этот объект через буфер копируется в таблицу 1с 77.

Засада в том, что на лист excel объект не вставляется. пишет ошибку "вставка объекта неосуществима"

Иных способов я не знаю. Вот хотел узнать как иначе кто-то вставляет.

К сожалению, я не смог для себя уловить решения из того, что Вы мне подсказали
"... почему бы не воспользоваться данным классом - сформировать таблицу и методом ДобавитьШК_Оквита добавить данный объект в таблицу..."

Если Вы могли бы подсказать более детально, был бы вам очень признателен.

Спасибо
100. zarius 165 25.12.19 14:41 Сейчас в теме
(99) Зачем Вам вообще excel если работать надо с таблицами 1С 77?
1. Если хотите просто добавить в таблицу обработки объект OcvitaBarcode - можете воспользоваться таблицей из 97.
2. Если есть задача программно размещать объекты OcvitaBarcode в любой таблице 1С 77 - можете воспользоваться классом из данной публикации. Функционал есть в описании публикации. Как подключать класс к 1С - есть в комментариях выше.
101. ray1978 25.12.19 15:04 Сейчас в теме
(100)

Я хотел знатьУметь как добавить самому объект в таблицу: без всяких копирований, а программно мне не надо.

Вот у меня есть на руках OcvitaBarcode.ocx и 1с77 (таблица в обработке)

Вопрос, как мне все сделать, так сказать с познавательной целью.

Спасибо
102. CheBurator 3404 25.12.19 15:23 Сейчас в теме
(101) ну, по идее "вставить объект" - там есть такое на тулбаре.
103. ray1978 25.12.19 15:25 Сейчас в теме
(102)

В семерке нет в списке объектов нашего OcvitaBarcode.
Так же нет в списке и activeBarcode, что использует сама 1С для штрихкодов в конфиге Торговля и Склад
(1С говорит - копируйте с нашей обработки из типовой конфиги)
104. zarius 165 25.12.19 16:10 Сейчас в теме
(100) Если задача - научится вставлять любой ActiveX в таблицу 1С 7.7 - то тут вариантов не много:
1. Через "Таблица"-"Вставить рисунок"-"Объект". Но тут отображаются далеко не все объекты, зарегистрированные в системе. Поэтому вариант на 90% не рабочий.
2. Через копирование объекта из другого приложения (word, excel, calc и т.д.), где можно на форме разместить данный объект. Как видно из Вашего опыта - срабатывает так же не для всех объектов.
3. Воспользоваться TableDoc.dll и его методом СоздатьЭлементРисования, чтобы программно разместить объект в таблицу. В классе "ИзображенияДляТаблицы" как раз используется данный метод.
4. Через копирование объекта из таблицы 1С 7.7.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 110 000 руб. до 150 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 200 000 руб.
Полный день

Программист 1С
Тольятти
зарплата от 70 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Программист 1С
Воронеж
зарплата от 70 000 руб.
Полный день