Ответ
 
Опции темы
Старый 15.12.2011, 14:30    | »»» |  #1
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию Внешний модуль отчетов (COM-соединение)

Здравствуйте! Пытаюсь получить для отчетов в 1С данные из Автографа. С свойствами самого Автографа, описанными в документе "Описание COM-сервера АвтоГРАФ", проблем никаких нет.
Хотелось бы еще получить данные по обработанной площади для каждого заданного поля и ТС. Есть следующие модули - AGReports и Agricalc. Подскажите, пожалуйста, как с ними работать и есть ли хоть какая-нибудь документация? В особенности хотелось бы вызвать по COM второй модуль, я думаю, что это возможно.
kzz1C вне форума   Ответить с цитированием
Старый 15.12.2011, 15:00    | »»» |  #2
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,974
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Существует ряд функций для расчета площадей с последующей выгрузкой в списки данных. Обновите свою версию описания COM (OLE) - она идет в комплекте с программой. Можно через интернет-инсталлятор.
С модулями Вы никак не работаете. Они сами получают данные от основной программы по OLE.

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 16.12.2011, 06:39    | »»» |  #3
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

Сообщение от SK Посмотреть сообщение
Существует ряд функций для расчета площадей с последующей выгрузкой в списки данных. Обновите свою версию описания COM (OLE) - она идет в комплекте с программой. Можно через интернет-инсталлятор.
С модулями Вы никак не работаете. Они сами получают данные от основной программы по OLE.
Да, замечательно, действительно, там есть эти функции. Может быть, вы мне еще подскажете, как называются свойства COM-объекта, в которые записываются результаты вычислений? В описании не хватает этих данных. Заранее большое спасибо.
kzz1C вне форума   Ответить с цитированием
Старый 16.12.2011, 09:02    | »»» |  #4
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

Вот смотрите, есть код -
Код:
    
ДатаДляАвтографаНачПериода = Формат(НачПериода,"ДФ='dd.MM.yy H:mm:ss'");
ДатаДляАвтографаКонПериода = Формат(КонецДня(КонПериода),"ДФ='dd.MM.yy H:mm:ss");
    Для каждого СтрокаТранспортноеСредство ИЗ ДанныеТС Цикл
        Автограф.SetGroupIndexByFileName(СтрокаТранспортноеСредство.грФайл);
        Автограф.SetCarIndexByDevice    (СтрокаТранспортноеСредство.СерийныйНомер);
        Автограф.WaitForComputing        (СтрокаТранспортноеСредство.грФайл,СтрокаТранспортноеСредство.СерийныйНомер,ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",1);
        Автограф.WaitForFieldsComputing    (СтрокаТранспортноеСредство.грФайл,СтрокаТранспортноеСредство.СерийныйНомер,ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",8000,0);
        Временный = ПолучитьИмяВременногоФайла()+".txt";
        Автограф.ExportListToFile(Временный,"trips","",1,1);
        Автограф.ExportListToFile(Временный,"fields","",1,1);
        ЗапуститьПриложение("notepad "+Временный);
    КонецЦикла;
Процедура Автограф.ExportListToFile(Временны й,"trips","",1,1) отрабатывает как надо, данные экспортируются в файл txt. Если поставить тип выгрузки fields, то возникает "неизвестная ошибка" без каких-либо еще комментариев. Что я делаю не так?
kzz1C вне форума   Ответить с цитированием
Старый 16.12.2011, 11:37    | »»» |  #5
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,974
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Код:
 
ДатаДляАвтографаНачПериода = Формат(НачПериода,"ДФ='dd.MM.yy H:mm:ss'");
ДатаДляАвтографаКонПериода = Формат(КонецДня(КонПериода),"ДФ='dd.MM.yy H:mm:ss");
    Для каждого СтрокаТранспортноеСредство ИЗ ДанныеТС Цикл
        ШиринаОргана = 8; // 8000 метров - это сильно круто...
        Автограф.WaitForFieldsComputing    (СтрокаТранспортноеСредство.грФайл,СтрокаТранспортноеСредство.СерийныйНомер,ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",ШиринаОргана,0);
        Автограф.TripIndex = 1; //Это важно (!!!), хотя, признаю, что и не прописано в документации... сам получил ошибку без этой строчки и воспользовался помощью главного программера...
        Временный = ПолучитьИмяВременногоФайла()+".dbf"; //экспорт ведется в файлы DBF !!!
        Автограф.ExportListToFile(Временный,"fields","",1,1);
        ЗапуститьПриложение("excel "+Временный);
    КонецЦикла;

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 16.12.2011, 11:52    | »»» |  #6
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

Сообщение от SK Посмотреть сообщение
// 8000 метров - это сильно круто...
хм. вроде мелькала единица измерения "мм" для этой величины. впрочем, ладно. огромное спасибо, буду пробовать.
kzz1C вне форума   Ответить с цитированием
Старый 16.12.2011, 11:58    | »»» |  #7
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,974
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Сообщение от kzz1C Посмотреть сообщение
Сообщение от SK Посмотреть сообщение
// 8000 метров - это сильно круто...
хм. вроде мелькала единица измерения "мм" для этой величины. впрочем, ладно. огромное спасибо, буду пробовать.
Ну там не только в этом было дело...
Код полностью рабочий - я проверил.

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 16.12.2011, 13:13    | »»» |  #8
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

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

Код:
    Для каждого СтрокаТранспортноеСредство ИЗ ДанныеТС Цикл
        //Автограф.SetGroupIndexByFileName(СтрокаТранспортноеСредство.грФайл);
        //Автограф.SetCarIndexByDevice    (СтрокаТранспортноеСредство.СерийныйНомер);
//с раскомментированными этими двумя строками то же самое
        Ширина = 8;
        Автограф.WaitForFieldsComputing    (СтрокаТранспортноеСредство.грФайл,СтрокаТранспортноеСредство.СерийныйНомер,ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",Ширина,0);
        Если Автограф.TripsNum < 1 Тогда Продолжить; КонецЕсли; //продолжить - это аналог continue; 
        Автограф.TripIndex = 1;
        Временный = "D:\aut.dbf"; //на тот мистический случай, если программа не имеет прав писать во временный файл
        Автограф.ExportListToFile(Временный,"fields","",1,1);
        ЗапуститьПриложение("excel "+Временный);
    КонецЦикла;
Конечно, для чистоты эксперимента надо попробовать то же самое в какой-нибудь другой среде, но 1с8 вроде всегда корректно работала с внешними приложениями.

Заранее спасибо за внимание.
kzz1C вне форума   Ответить с цитированием
Старый 16.12.2011, 14:16    | »»» |  #9
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,974
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

1. Версия ПО какая ???
2. Другие варианты выгрузки по полям - не предусмотрены, да и не нужны в общем-то. Кому хочется текста - модуль отчетов сохранит хоть в тексте, хоть в картинках, хоть в куче других форматов. А в чем собственно проблема ? Для 1С-ки DBF - это родной формат.
3. На какой строке ошибка-то возникает ? У меня вышеприведенный мной код - работает совершенно нормально.
4. В меню ПО, где обработка полей - поля-то есть в списке, помеченные галочками ?
5. Мож у Вас ошибка на операторе ЗапуститьПриложение ???

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 16.12.2011, 14:29    | »»» |  #10
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

1. В вашем обновляторе 2.21, в окне "О программе" - 3.4.10 (сборка 1932)
2. Может, проще было бы отлаживать, если бы было больше информации. Не в формате дело.
3, 5 - ошибка на строке
Автограф.ExportListToFile(Временны й,"fields","",1,1); (проверяю дебаггером, ошибки быть не может).

4. Есть.

В любом случае спасибо за помощь. Будем искать дальше.
kzz1C вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:59. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot