Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   формирование отчета на скд через внешнее соединение (http://forums.kuban.ru/f1040/formirovanie_otcheta_na_skd_cherez_vneshnee_soedinenie-8119392.html)

mavayka 16.12.2016 11:37

формирование отчета на скд через внешнее соединение
 
платформа 8.3.8.2054

Из одной 1с8 базы вызывается отчет на скд из другой конфигурации. Обе клиент-серверный вариант. Через com-соединение.Все прекрасно работало.
Но в этот отчет пришлось внести нект изменения. А именно : в параметры макета вставили вызов функции общего модуля.В свойствах модуля установлено сервер, внешнее соединение, клиент(обычное приложение). Теперь не формируется отчет через сом. Соединение устанавливается, но выходит ошибка :
Синтаксическая ошибка МойМодуль.МояФункция(). Подскажите, пожалуйста, как решить проблему?

Uho 16.12.2016 11:57

код формирования отчета покажи

mavayka 16.12.2016 12:04

ТабДок = Новый ТабличныйДокумент;

ПараметрыСоединенияБГУ = Константы.ПараметрыСоединенияБух.Получить();
Если ПараметрыСоединенияБГУ.Пустая() Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не заполнены параметры соединения с БГУ (константа ""Параметры соединения БГУ), печать невозможна!";
Сообщение.Сообщить();
Возврат Неопределено;
КонецЕсли;
СтруктураСоединения = ОбменСБГУ.ПолучитьСтруктуруСоединения(ПараметрыСоединенияБГУ);
Если СтруктураСоединения.Соединение = Неопределено Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не удалось подключиться к бухгалтерской базе!";
Сообщение.Сообщить();
Возврат Неопределено;
КонецЕсли;

СоединениеБГУ = СтруктураСоединения.Соединение;
ТабДокБГУ = СоединениеБГУ.Отчеты.МойОтчет.ПолучитьТабДок(Отчет.ФинасовыйГод,Отчет.ДатаФормирования);
ВремФайл = ПолучитьИмяВременногоФайла("mxl");
ТабДокБГУ.Записать(ВремФайл);

ТабДок.Прочитать(ВремФайл);
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.ОтображатьСетку = Ложь;

Возврат ТабДок;

Uho 16.12.2016 12:15

код [b]формирования[/b] отчета покажи

вот это:
СоединениеБГУ.Отчеты.МойОтчет.ПолучитьТабДок()

mavayka 16.12.2016 12:17

Функция ПолучитьТабДок(ФГ,ДФ) Экспорт

ТабДок = Новый ТабличныйДокумент;

СКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СКД.НастройкиПоУмолчанию;
КомпН = Новый КомпоновщикНастроекКомпоновкиДанных;
//Настройки =КомпН.ПользовательскиеНастройки;

ПарамОтчета = Настройки.ПараметрыДанных;

ПараметрФГ = ПарамОтчета.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ФинансовыйГод"));
ПараметрФГ.Использование = Истина;
ПараметрФГ.Значение = ФГ;

ПараметрФГ = ПарамОтчета.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаФормирования"));
ПараметрФГ.Использование = Истина;
ПараметрФГ.Значение = ДФ;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД,Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Возврат ТабДок;
КонецФункции

mavayka 16.12.2016 12:55

ошибка на строке
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных) ;

Uho 16.12.2016 13:27

ПроцессорКомпоновкиДанных.Инициализировать (DataCompositionProcessor.Initialize)
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)
Параметры:

<Макет> (обязательный)

Тип: МакетКомпоновкиДанных.
Макет, для которого будет выполняться компоновка.
<ВнешниеНаборыДанных> (необязательный)

Тип: Структура.
Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных.
<ДанныеРасшифровки> (необязательный)

Тип: ДанныеРасшифровкиКомпоновкиДанных.
Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.
<ВозможностьИспользованияВнешнихФункций> (необязательный)

Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь.
Описание:

Инициализировать объект.

Доступность:

Сервер, толстый клиент, внешнее соединение.

mavayka 16.12.2016 14:11

Спасибо огромное. Все получилось.


Текущее время: 09:22. Часовой пояс GMT +3.