Добрый день!

БЛ 3.0. Создал новую печатную форму Счета, но при работе с рабочей станции её Макет не находится. Выдаётся ошибка: Макет "" не найден.

Может кто подсказать, как передать Макет на Тонкий Клиент?
---
Оказалось, что при переносе в рабочую базу надо не "сравнить и объединить конфигурации", а "загрузить конфигурацию из файла"
---
получить функцией с дерективой &НаСервере
Либо вы что-то принципиально неправильно делаете.
---
я получаю Макет из общего модуля из расширения
---
понятнее не стало, но скорее всего вы что-то принципиально неправильно делаете.
---
Для чего получать макет на "Клиент" ?
На "Клиенте" вызывайте серверный метод формирования "табличного документа", в нем уже зовите "макет"
Назад на Клиент возвращайте заполненный табличный документ и выводите его для печати "УправлениеПечатьюКлиент.ПечатьДокументов()"
---
Пользователи работают не на Сервере, а на своих рабочих местах. Поэтому приходится так корячиться.

Если не сложно, можно пример кода?
---
Пользователи работают не на Сервере, а на своих рабочих местах
Номинант на фраза десятилетия.
---
Здесь есть на любой вкус
https://infostart.ru/1c/tools/1960446/
---
Всем спасибо, но это всё не то. Пользователи заходят в базу не через удалённый стол, а со своего рабочего места. И со своего места "не видят" макет печатной формы.
Из Общего модуля ПечатьТорговыхДокументов получаю макет

 Для Каждого СведенияОДокументе Из СведенияСчетаНаОплату Цикл
                .....
                Макет = СведенияОДокументе.Документ.ПолучитьОбъект().ПолучитьМакет("Расш1_СчетДоговор");
                ....
       КонецЦикла;

Общий модуль тоже в Расширении и обращение к нему через &Вместо
---
изврат какой то.. почему не создать ВПФ ? или БСП Создание макетов печатных форм
---
Пользователям не нужен макет. Им нужна готовая печатная форма, то есть ТабличныйДокумент. От макета им пользы никакой, чтобы заполнить его, все равно придется на сервер идти.
---
а Вы можете подсказать решение проблемы? Или только через удалённый стол проблема решается?
---
причем тут стол? любую печатную форму бери и делай так же. Передается название макета, возвращается заполненный табличный документ, который можно показать пользователю. Если конфигурация с БСП, то там все стандартно делается, коряво, конечно, но это в 1с все так.
---
можно поподробнее? Пример кода?
---
можно поподробнееВы бы, Дмитрий Михайлович, перед тем как код просить, рассказали бы вменяемо, что не работает. Все эти пассажи про рабочий стол, как минимум, странные.
---
я не администрирую ни сеть, ни 1С. Поэтому говорю со слов человека, с которым контактирую. Компания разбросана по стране. Как мне сказали, что-то там мешает админу настроить пользователям удалённый рабочий стол (УРС) и подключение к базе происходит с того места, где сидит пользователь. Если вызвать печать, работая с УРС или зайдя на сервер, вопросов нет, но если эту же печатную форму попытается вызвать пользователь из другого города, возникает сообщение
Макет "" не существует. операция прервана.
---
я не администрирую ни сеть, ни 1С
То есть вы во всех вот этих "я получаю Макет из общего модуля из расширения", "Из Общего модуля ПечатьТорговыхДокументов получаю макет" ничего не понимаете...

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

Что конкретно там натворил этот человек, надо разбираться предметно, а не устраивать здесь испорченный телефон.
---
Вот коды. Это модуль менеджера Счета в расширении

```1c
    &Вместо("Печать")
    Процедура Расш_1_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Расш1_СчетДоговор") Тогда
    ТаблицаСведенийСчетНаОплату = ПолучитьТаблицуСведенийСчетаНаОплату(МассивОбъектов);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Расш1_СчетДоговор", "Счет-Договор",
    ПечатьТорговыхДокументов.ПечататьСчетДоговора(ТаблицаСведенийСчетНаОплату, ОбъектыПечати, ПараметрыПечати),,"Документ.СчетНаОплатуПокупателю.Расш1_СчетДоговор");

    // Установим имя файла приложения к договору по реквизитам самого договора,
    // посколько ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати()
    // устанавливает имя файла по реквизитам объекта печати (счета на оплату).
    УстановитьИмяСохраняемогоФайлаПриложениеКДоговору(ТаблицаСведенийСчетНаОплату, КоллекцияПечатныхФорм);
    КонецЕсли;

    ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов,
    КоллекцияПечатныхФорм,
    ОбъектыПечати,
    ПараметрыВывода);

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

    И ОбщийМодуль ПечатьТорговыхДокументов. Тоже в раширении

    Функция ПечататьСчетДоговора(СведенияСчетаНаОплату, ОбъектыПечати, ПараметрыПечати) Экспорт

    .
    .
    .
    Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.СчетНаОплатуПокупателю.Расш1_СчетДоговор");
    .
    .
    .

    Возврат ТабличныйДокумент;

    КонецФункции
```

И Макет не считывается.
---
15 тыс, сделаю.
---
Вот пост № 1 без поста № 21 просто был ни о чем.
Сделайте внешнюю печатную форму, добавьте команду замены ею "типовой" формы, и будет счастье.
Полный код формирования табличного документа, вероятнее всего, найдёте в "менеджере" документа, его забирайте (во внешнюю печатную) и сколько надо переделывайте под ваш макет
---
нашёл такой код:

```1c
    ЧастиПути = СтрРазделить(ПутьКМакету, ".", Истина);
    ...
    Если ЧастиПути.Количество() <> 2 И ЧастиПути.Количество() <> 3 Тогда
    ВызватьИсключение ТекстОшибки;
    КонецЕсли;
```

у вас три. так что, вероятно, писать надо
документ.счетнаоплату.МАКЕТЫ.счетдоговор
---
Оказалось, что при переносе в рабочую базу надо не "сравнить и объединить конфигурации", а "загрузить конфигурацию из файла"
---
я немного в аху. полном изумлении посижу, никто не против? :)
---
Гениально !!!
---
с сарказмом это или нет, но лично я реально не подозревал, что такой ход сработает. Сделал его просто наобум. При этом совершенно непонятно, когда это нужно делать, когда нет? Всегда делаешь какие-то движения и вдруг однажды оно не срабатывает. Почему? Никто не знает. Или есть знающие люди, которые объяснят, почему в одном случае "сравнить и объединить конфигурации" не вызывает никаких проблем, а в другом нужно обязательно "загрузить конфигурацию из файла"?