Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как выполнить внешний отчет через ОЛЕ          
chukhin Подменю пользователя
сообщение 16.03.12, 18:33
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 31
Из: Днепропетровск
Спасибо сказали: 2 раз
Рейтинг: 0

Есть объект ОЛЕ:
ОЛЕ=СоздатьОбъект("V77S.Application");

Объект инициализируется, база открывается.
Как теперь выполнить внешний отчет в этой базе?
В контексте отчету нужно передать НачДата, КонДата и СтрокаНаименование (или ЭлементСправочника).

Как проще всего это сделать? Кто что подскажет?


Signature
1С 7.7 Комплексная конфигурация для Украины

XBrut Подменю пользователя
сообщение 16.03.12, 19:51
Сообщение #2

Статус
**********
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 256 раз
Рейтинг: 0

БазаГуртБух = СоздатьОбъект("V77.Application");
Состояние("Підключення до бази Гурт бух...");
Открыта = БазаГуртБух.Initialize(БазаГуртБух.RMTrade, "/d\\192.168.100.23\buh_gurt /NИмяПользователя    /P777","NO_SPLASH_SHOW");
Если Открыта = 0 Тогда
    Предупреждение("Помилка відкриття інформаційної бази");  
    БазаГуртБух=0;
    Возврат;
КонецЕсли;
Состояние("Розрахунок залишків в бух базі Гурт..");  
сзТам        =БазаГуртБух.CreateObject("СписокЗначений");  
сзТам.Установить("ВыбДата",ВыбДата);      
ИмяФайла    =БазаГуртБух.КаталогИБ()+"Extforms\Обработки\ПолучитьОстаткиБухДляЛюды.ert";
БазаГуртБух.ОткрытьФормуМодально("Отчет",сзТам,ИмяФайла);  
тзТамБух    =сзТам.Получить("тз");

нате кусок рабочего кода ровно по теме

Сообщение отредактировал XBrut - 17.03.12, 3:15

Спасибо сказали: chukhin,

chukhin Подменю пользователя
сообщение 18.03.12, 18:36
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 31
Из: Днепропетровск
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(XBrut @ 16.03.12, 19:51) *
нате кусок рабочего кода ровно по теме


Ну примерно так я и пытался сделать.
Только вот строку так и не получилось передать во внешний отчет.
    Если ЕстьПодключение<>0 Тогда
        Сообщить("База открыта");
        СписокПриемник = СоздатьОбъект("СписокЗначений");
        СписокИсточник = ОЛЕ.CreateObject("СписокЗначений");
        СписокИсточник.Установить("НачДата", НачДата);
        СписокИсточник.Установить("КонДата", КонДата);
        СписокИсточник.Установить("Номер", Строка(СокрЛП(СпрАвто.Код))); //эта строка НЕ передается через ОЛЕ

        Сообщить(СписокИсточник.Получить("НачДата"));
        Сообщить(СписокИсточник.Получить("КонДата"));
        Сообщить(СписокИсточник.Получить("Номер")); //здесь сообщает правильный Номер
        
    Иначе
        Сообщить("Не могу открыть базу " + Путь);
        ОЛЕ = 0;
        Возврат;
    КонецЕсли;


ИмяФайла = ОЛЕ.КаталогИБ()+"ExtForms\История Авто внешний.ert";
ОЛЕ.ОткрытьФормуМодально("Отчет", СписокИсточник, ИмяФайла); //запускается отчет и не находит строку - номер (значение пустое)


Пытался и сокращать пробелы и преобразовывать в строку (как видно из кода) и заключать в двойные кавычки - нифига...


Signature
1С 7.7 Комплексная конфигурация для Украины

XBrut Подменю пользователя
сообщение 18.03.12, 19:59
Сообщение #4

Статус
**********
Группа: Пользователи
Сообщений: 1543
Спасибо сказали: 256 раз
Рейтинг: 0

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

Сообщение отредактировал XBrut - 18.03.12, 20:01

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15.06.25, 16:54
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!