|
Программно флаг "Макет" в элементе с видом "Поле табличного документа" | ☑ | ||
|---|---|---|---|---|
|
0
spiller26
15.10.26
✎
11:52
|
Как программно указать флаг "Макет" в элементе с видом "Поле табличного документа" при отрытии формы?
|
|||
|
1
Garykom
гуру
15.10.26
✎
11:56
|
Чего?
|
|||
|
2
spiller26
15.10.26
✎
12:04
|
(1) Вот это
|
|||
|
3
Garykom
гуру
15.10.26
✎
12:17
|
Знаешь заранее что в
Элементы.Найти("ИмяЭлементаФормы").ПутьКДанным ? |
|||
|
4
Мультук
гуру
15.10.26
✎
12:22
|
(0)
В 1С (ЕРП, УТ) есть подсистемы "Печать ценников", "Макеты печатных форм", которые разрешают редактировать макеты из ХранилищаЗначений. Имхо (наверное) там решены все ваши вопросы (я сужу по рис). Разве нет ? |
|||
|
5
spiller26
15.10.26
✎
12:30
|
(4) Примерно, да только под хочу сделать для пользователей, что-то типа конструктора печатных форм, чтобы нас не дёргали.
|
|||
|
6
arsik
гуру
15.10.26
✎
12:39
|
(0) Создай пустой шаблон с этим флагом, и лепи новые формы (макеты) из него.
|
|||
|
7
spiller26
15.10.26
✎
13:43
|
Всё прозаичнее оказалось.
ТабДокШаблонМакет.Макет = Истина; осталось понять, как сохранить и восстановить ячейки с заполнениями = Параметр и Шаблон. |
|||
|
8
spiller26
15.10.26
✎
14:18
|
Всё нормально сохраняет и выводит для корректировкиВот код кому может пригодиться.
&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ТекстТекстовкиФормат = ТекущийОбъект.ТекстТекстовки.Получить(); //чтение "ШаблонМакет" с формированием Адреса хранения ДанныеФайлаШаблонМакет = ТекущийОбъект.ШаблонМакет.Получить(); АдресСсылкаНаФайлMXL = ПоместитьВоВременноеХранилище(ДанныеФайлаШаблонМакет, УникальныйИдентификатор); ТабДокШаблонМакет.Макет = Истина; ПоказатьШаблонМакет(); КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ТекстТекстовки = Новый ХранилищеЗначения(ТекстТекстовкиФормат); ТекущийОбъект.КраткоеСодержаниеТекстовки = ОставитьТолькоТекст(ТекстТекстовкиФормат.ПолучитьФорматированнуюСтроку()); ТекущийОбъект.ШаблонМакет = Новый ХранилищеЗначения(ТабДокШаблонМакет) КонецПроцедуры &НаСервере Процедура ПоказатьШаблонМакет() Если ЭтоАдресВременногоХранилища(АдресСсылкаНаФайлMXL) Тогда ТабДокШаблонМакет = ПолучитьМакетНеСервере(); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьМакетНеСервере() ДанныеФайлаШаблонМакет = ПолучитьИзВременногоХранилища(АдресСсылкаНаФайлMXL); Если ДанныеФайлаШаблонМакет = Неопределено Тогда ШаблонМакетТабДок = Новый ТабличныйДокумент; Иначе //запись во временный файл ИмяВремФайл = ПолучитьИмяВременногоФайла("mxl"); ДанныеФайлаШаблонМакет.Записать(ИмяВремФайл); //Чтение в макет ШаблонМакетТабДок = Новый ТабличныйДокумент; ШаблонМакетТабДок.Прочитать(ИмяВремФайл); //удаление временного файла УдалитьФайлы(ИмяВремФайл); КонецЕсли; Возврат ШаблонМакетТабДок; КонецФункции &НаКлиенте Процедура ТабДокШаблонМакетПриИзменении(Элемент) Модифицированность = Истина; КонецПроцедуры |
|||
|
9
spiller26
15.10.26
✎
14:21
|
вот как-то так
|
|||
|
10
mr_K
16.10.26
✎
19:47
|
Есть обработочка на ИС. Печать в шаблон из ворда. Щас не у компа, точно не вспомню как называется.
Платная правда. Но для таких случаев идеально подходит. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |