cro-logo      
Добро пожаловать, Гость. Пожалуйста, выберите Вход

 
 
  ГлавнаяСправкаПоискВход  
 
Страниц: 1 2 3 4 
Послать Тему Печать
СтатОтчёт и иерархический словарь (Прочитано 3 525 раз)
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #30 - 28.07.2022 :: 17:20:42
 
Пытаюсь найти хоть какую-нибудь информацию по теме "Внешний интерпретатор и LuaCom", но на форуме мне поиск ничего не дал
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #31 - 28.07.2022 :: 23:17:22
 
Представлены были не только наброски, но и готовые решения по формированию и через файл, и через luacom.
По поводу внешнего интерпретатора - скачиваете пакет Lua for windows (LFW). Там все есть. Объединяя два предложенных варианта получаете третий.
Цитата:
Цитата:
4. Создать пустую базу со структурой как и статотчет, заполнять ее значениями и из нее формировать отчет.
и другие варианты.

это тоже очень интересный вариант, но я не понимаю как можно сделать банк по форме моего отчёта
Не банк, а базу с такими же полями, как и в статотчете. Заполнять их программным способом, выводить в статотчет. Потом очищать эту базу.
Среди других вариантов можно упомянуть возможность программного формирования html таблицы, вместо csv или xml, и открывать его (файл с таблицей) автоматом в excel.
Все зависит от Вашего желания, уровня подготовленности, способности к обучению.
Но проще поставить новую программу. Не обязательно 7. Были и 6-е версии, которые не требовали перерегистрации. Ставите и используете. Проверять версии никто не будет.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #32 - 30.07.2022 :: 14:48:45
 
продолжаю попытки сделать Статистический отчёт через Lua

выполняю команду:

Код:
local com = require "COM"
 



в com получаю таблицу вида: [CreateWord]=<function>, [CreateExcel]=<function>, [Connect]=<function> ....  и ещё значения

далее пытаюсь выполнить:

Код:
excel =  com.GetObject("Excel.Application")
if not excel then
    excel =  com.CreateObject("Excel.Application")
end
excel.Visible = true
 



но мне выпадает ошибка: attempt to index global 'excel' (a nil value)

пытаюсь выполнить код:

Код:
local luacom = require "luacom"
 



почему-то в переменной laucom находится нулевое значение True (а пробую сделать то же самое в версии 7 Демо, так там такая же таблица, что и в COM)
и соответственно код:

Код:
luacom = require "luacom"
excel = luacom.GetObject("Excel.Application")
 



выдаёт ошибку: attempt to index global 'luacom' (a boolean value)

пытаюсь выполнить код:

Код:
require "luacom"
 



он выполняется без ошибки

а вот так:

Код:
require "luacom"
excel = luacom.GetObject("Excel.Application")
 



но мне выпадает ошибка: attempt to index global 'luacom' (a nil value)


Через создание временного файла и передачи ему текста я могу создать/запустить Excel, но при таком способе я не понимаю как можно применить форматирование к ячейкам и строкам


Код:
local fn = IO.Path.ChangeExt(IO.Path.GetTempFileName(), "tab")
write file(fn, "некий текст")

excel = ShellExecute("Excel.exe", fn)
 




В чём может быть проблема??? Смущённый Озадачен Плачущий
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #33 - 30.07.2022 :: 16:09:08
 
Скорее всего у Вас excel устанавливался некорректно. Т.е. не был зарегистрирован в системе COM объект excel.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #34 - 30.07.2022 :: 16:19:22
 
а как можно подключить luacom ?

по вашей рекомендации я скачал и установил LfW
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #35 - 30.07.2022 :: 16:32:52
 
Zuluss писал(а) 30.07.2022 :: 16:09:08:
Скорее всего у Вас excel устанавливался некорректно. Т.е. не был зарегистрирован в системе COM объект excel.


я пробовал проектировать форму на сервере - ошибка появляется

пробовал на ПК пользователя из моей сети запустить этот банк и там начать проектировать форму - всё равно та же ошибка

не может же быть, что на разных ПК одна и та же ошибка регистрации COM объекта?
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #36 - 30.07.2022 :: 16:43:04
 
В каталоге docs и Examples есть папки luacom, с документацией, где примеры с excel и  word есть, и, соответственно, с упражнениями. Там, правда  excel и  word нет.
Это можете найти в других местах. Например, поиском vbs CreateObject("Excel.Application")
clickme
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #37 - 30.07.2022 :: 16:53:13
 
Пробуйте на демоверсии 7.1. Там все работает. Если не работает, значит проблема в установке компонентов офиса.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #38 - 30.07.2022 :: 16:54:07
 
Спасибо большое!

У меня главная проблема - это выполнить подключение luacom к Кронос

Вы говорили, что у вас нет варианта Кронос/Базиc с работающим модулем [b]COM[/b] и вы использовали luacom

а как его подключить ?
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #39 - 30.07.2022 :: 16:55:14
 
Zuluss писал(а) 30.07.2022 :: 16:53:13:
Пробуйте на демоверсии 7.1. Там все работает. Если не работает, значит проблема в установке компонентов офиса.


ваш пример из этой темы на Демо-версии работает, но у меня в организации версия 6...
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #40 - 30.07.2022 :: 16:59:22
 
Это я говорил, до появления версии 7.0 и 7.1. Сейчас они есть и там встроен модуль COM он же luacom.
Lua в кроносе не позволяет подключать внешние модули.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #41 - 30.07.2022 :: 17:06:53
 
у меня, к сожалению нет возможности поменять версию Кронос

Zuluss писал(а) 21.07.2018 :: 19:47:06:
К сожалению я не являюсь обладателем версии с работающим COM модулем и "серийником", позволяющим его использовать, и не могу полноценно все проверить.
Была проведена проверка с автономной версией Lua и подключенной библиотекой luacom.
У подключения через ADODB есть проблемы с кодировками в SQL запросах и в выдаче наименований листов.
У непосредственного подключения через luacom.CreateObject("Excel.Application") тоже проблемы с получением кириллицы.
Поэтому можно предложить следующие варианты:
1. переименованием листов в латиницу, используя COM или vbs/vba;
2. Использованием только vbs/vba для извлечения данных. Работает хорошо;
3. Конвертировать листы в XML или HTML и парсить их;
4. Сохранять листы в tab или csv и парсить их;
5. В специально созданном банке типа "Excel" подменять файлы и обращаться к банку.
Варианты этим не исчерпываются.


я об это вашем сообщении говорил

или я его не правильно понял, вы не к Кроносу подключили luacom, а просто в самой среде Lua выполняли код ?
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #42 - 30.07.2022 :: 17:12:53
 
Там же и говорилось
"проверка с автономной версией Lua и подключенной библиотекой luacom"
. Автономная - это и есть LfW.
Наверх
 
 
IP записан
 
Юзер99335588
Опытный пользователь
***
Вне Форума



Сообщений: 92
Re: СтатОтчёт и иерархический словарь
Ответ #43 - 30.07.2022 :: 17:18:20
 
Zuluss писал(а) 27.07.2022 :: 20:19:16:
Цитата:
а как тогда вы можете посоветовать решить мою проблему?...


3. Использовать внешний интерпретатор Lua с модулем luacom. Передавать данные через файл.

4. Создать пустую базу со структурой как и статотчет, заполнять ее значениями и из нее формировать отчет.
и другие варианты.


а можно эти два пункта чуть подробнее объяснить?
Наверх
 
 
IP записан
 
Zuluss
Бета-тестер
Вне Форума


Старинный пользователь
Кронос

Сообщений: 3 033
Санкт-Петербург
Re: СтатОтчёт и иерархический словарь
Ответ #44 - 30.07.2022 :: 17:34:20
 
Готовые решения сделаны, другие варианты показаны, остальное за Вами.
Наверх
 
 
IP записан
 
Страниц: 1 2 3 4 
Послать Тему Печать