1с скопировать табличный документ

Обновлено: 07.07.2024

Необходимо скопировать макет табличного документа, можно ли это сделать без выгрузки в файл, и без использования временного хранилища?

Как бы так объяснить, есть некий бланк, на который надо печатать и соответственно попадать в ячейки, и для этого будет вестись отдельный справочник макет для разных принтеров, люди сами будут настраивать макеты. Так вот есть макет образец, его соответственно надо копировать при создании на его основе нового элемента справочника макетов.

DrShad ты вопроса не понял чтоли или как просто тролишь?

Есть макет , как его скопировать в другую переменную

Что такое "макет"? Табличный документ можно "скопировать", например, так: ТабДокКопия=Новый ТабличныйДокумент; ТабДокКопия.Вывести(ТабДокОригинал); возможно, еще сопосбы есть

Оно ссылку сделает на тот же, а не копию. Хотя что автору нужно, мне тоже нее до конца понятно

+ еще способы: ТабДокКопия=ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(ТабДокОригинал));

Reset через вывести теряются параметры с шаблонами, а через ХЗ я уже пробывал, думал мож покультурней есть вариант

Reset спасибо,придется чтонить или ХЗ или ЗначениеИзСтрокиВнутр

Выведи макет в табличный документ, затем сохрани его как файл и запихни полученный файл в хранилище значения. И "копируй" таким образом сколько угодно

"Выведи макет в табличный документ", и мы сразу теряем параметры и шаблоны, он перестает быть макетом.

И вообще меня бесит что матод Напечатать не работает на Сервере

тогда сразу храни макет в виде двоичных данных, а не как стандартный макет и копируй себе на здоровье

Например, если в реквизитие с типом ХЗ, то вообще без огороженного огорода:

В любом случае программно добавить новый "макет" в каком-нибудь виде к любому объекту конфигурации просто НЕВОЗМОЖНО. и тебе придется сохранять полученный в результате "копирования" макет в хранилище значения.

В общем, я вернулся к тому, что не понимаю проблему автора ;)

Да проблемы то особо нет. Есть макет черновика и оригинала(он без линий и текстов, только параметры и шаблоны с разметкой) бланка. Я сделал макеты по умолчанию оригинала и черновика (чтоб пользователь мог посмотреть как красиво смотрится на черновике , а для печати использовал оригинал). Но так-как принтеры бывают разные возникла необходимость реализации редактирования и хранения различных версий макетов для принтеров. Сейчас у меня сделано так: есть макеты в конфе, они являются макетами по умолчанию; есть справочник, каждый элемент которого хранит одновременно оригинал и черновик. Пользователь редактирует только черновик, а специальная процедура копирует черновик, и из копии делает оригинал убирая все линии и тексты, оставляя форматирование параметры и шаблоны.

А да версии макетов являются ХЗ как реквизиты справочника

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

Особенности работы с методом табличного документа ВставитьОбласть()

Метод табличного документа ВставитьОбласть() предназначен для копирования некоторой области ячеек табличного документа в другой или тот же табличный документ.

Данный метод принимает следующие параметры:

  • Исходная область - данный параметр является обязательным и содержит область, которую необходимо вставить в табличный документ.
  • Область приемник - содержит область, в которую будет вставляться область.

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

Сдвиг - данный параметр указывает, каким образом производить смещение областей.
В случае если данный параметр имеет значение ТипСмещенияТабличногоДокумента.ПоГоризонтали , при вставке прямоугольной области осуществится сдвиг всех ячеек, расположенных в области - приемнике, и ячеек, расположенных праве ее, в тех же строках.
При указании сдвига ТипСмещенияТабличногоДокумента.ПоВертикали осуществится смещение вниз.
Если же сдвиг указан ТипСмещенияТабличногоДокумента.БезСмещения , то смещения ячеек происходить не будет, т.е. содержимое области - приемника будет заменено на содержимое исходной области.
При вставке областей строк и областей колонок типы сдвига ТипСмещенияТабличногоДокумента.ПоГоризонтали и ТипСмещенияТабличногоДокумента.ПоВертикали игнорируются, а сдвиг будет происходить для строк - по вертикали, для колонок - по горизонтали.

Заполнять параметры - необходимость заполнять параметры, которые присутствуют в области - источнике. В случае если данный параметр имеет значение Истина , параметры ячеек будут заменены соответствующими значениями. Если Ложь - никаких действий с параметрами производиться не будет, и область будет скопирована с параметрами.

Читайте также: