Имя: Пароль:
1C
1С v8
&НаСервере
,
0 Powerfool
 
15.07.14
08:54
В общем модуле с галками "Сервер", "Клиент(обычное приложение)", "ВЫзов сервера" пишу код
&НаКлиенте
Функция ПолучитьМакетСчетФактуры(СчетФактура) Экспорт
    
    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить(СчетФактура);
    ОбъектыПечати = Новый СписокЗначений;
    
    ТабДокумент = Новый ТабличныйДокумент;
    ЗаполнитьТабДокумент(ТабДокумент, МассивОбъектов, ОбъектыПечати);
    Возврат ТабДокумент;     
    
КонецФункции

&НаСервере
Процедура ЗаполнитьТабДокумент(ТабДокумент, МассивОбъектов, ОбъектыПечати)
    ТабДокумент = Документы.СчетФактураВыданный.ПечатьСчетаФактуры(МассивОбъектов, ОбъектыПечати);
КонецПроцедуры

Вызываю функцию "ПолучитьМакетСчетФактуры" в модуле документа СчетФактураВыданный. При вызове получаю ошибку "Процедура или функция с указанным именем не определена (ЗаполнитьТабДокумент)
    <<?>>ЗаполнитьТабДокумент(ТабДокумент, МассивОбъектов, ОбъектыПечати);".

Что я делаю не так?
1 Armando
 
15.07.14
08:55
ПолучитьМакетСчетФактуры или ЗаполнитьТабДокумент?
2 Powerfool
 
15.07.14
08:56
(1) ПолучитьМакетСчетФактуры
3 Wobland
 
15.07.14
08:57
не экспортируешь не так
4 Wobland
 
15.07.14
08:57
(3) ээ.. не в туда посмотрел
5 Powerfool
 
15.07.14
08:57
(3) а?
6 Jokero
 
15.07.14
08:57
Попробуй имя модуля перед ЗаполнитьТабДокумент
7 Defender aka LINN
 
15.07.14
09:05
(0) И давно &НаКлиенте в общих модулях работать начало, не подскажешь?
8 Powerfool
 
15.07.14
09:35
(6) Не помогло
Разнести процедуры на разные модули не помогло
9 Powerfool
 
15.07.14
09:37
Опишу ситуацию сначала, может так найду друзей по несчастью. Мне надо получить заполненный макет счет-фактуры, но беда в том, что печать счетов фактур происходит в модуле менеджера на сервере.

Вопрос иной: Как получить заполненный макет счет-фактуры?
10 Defender aka LINN
 
15.07.14
09:46
(9) Вызвать функцию печати с сервера, вернуть на клиента. А как, по-твоему, оно работает вообще?
11 Powerfool
 
15.07.14
09:51
(10) Все было так просто если бы печать была функцией. Но печать это процедура из которой нихрена не вернешь. Да и вернуть с сервера Табличный документ неполучается, ругается на передачу мутабельного значения
12 НеБорис Нуралиев
 
15.07.14
09:56
Если ты в обычном приложении это все делаешь, то зачем тебе разносить это на сервер и на клиент? Оно все на клиенте работать будет. Убирай директивы перед процедурами.
13 Powerfool
 
15.07.14
10:08
(12) Ага, только вот в типовом коде есть строка
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка);
А "УправлениеПечатью" - это общий серверный модуль не видимый на клиенте.

Не придумал ничего умней чем сделать УправлениеПечатью видимым на клиенте