Форум компании Кронос-Информ | |
http://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi
Конференции для пользователей >> CronosPRO: формулы >> СтатОтчёт и иерархический словарь http://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi?num=1658310232 Сообщение написано Юзер99335588 в 20.07.2022 :: 13:43:52 |
Заголовок: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 20.07.2022 :: 13:43:52
Добрый день!
Есть такая проблема: база -> в ней есть словарное поле (иерархический словарь) -> я делаю запрос по образцу (ищу записи у которых есть значения это словаря, отбираю по родительскому значению) -> далее хочу сформировать статОтчёт вида: родительское значение 1 ребенок 1 ребенок 1 ребенок 2 ребенок 3 ребенок 4 родительское значение 2 ребенок 4 ребенок 4 ребенок 7 ребенок 8 ребенок 9 а у меня получается такой вид: родительское значение 1 родительское значение 1 родительское значение 1 родительское значение 1 родительское значение 1 ребенок 1 ребенок 1 ребенок 2 ребенок 3 ребенок 4 родительское значение 2 родительское значение 2 родительское значение 2 родительское значение 2 родительское значение 2 ребенок 4 ребенок 4 ребенок 7 ребенок 8 ребенок 9 т.е. сначала записи родительской позиции, а затем идет потомки как сделать так, чтобы родительские значения были только один раз? Спасибо! а ещё было бы здорово делать подытог записей вида: родительское значение 2 ребенок 4 ребенок 4 ребенок 7 ребенок 8 ребенок 9 итого: 5 |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 20.07.2022 :: 13:58:04
Поле множественное или нет?
Если множественное, то там присутствует вся иерархия или только одно более "глубокое" значение? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 20.07.2022 :: 14:01:46
да, словарное поле множественное
Там есть старшее значение и потомок я специально так делал, чтобы было удобно искать - или по родителю всё или конкретного потомка и в поле оба значения |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 20.07.2022 :: 14:10:01
Получается, что Вы хотите сортировать значения в этом словарном поле?
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 20.07.2022 :: 14:28:09
нет
я делаю следующее: в таблице БД n-полей, я отбираю данные по временному интервалу(поле типа Дата и чтобы записи попадали в нужный мне интервал времени) -> получил допустим 100 записей -> хочу создать статОтчёт на основании отобранных записей -> проектирую отчёт: индикатор делаю "на строки", задаю условие на одну строку - условие поиска по словарю и выбираю одно родительское значение (родительское значение 1), распределение делаю допустим по полям, ставлю галочку "не группировать", задаю поля ячеек этой строки, у словарных ставлю "декодировать по словарю" и в итоге получается такая картина: родительское значение 1 родительское значение 1 родительское значение 1 родительское значение 1 родительское значение 1 ребенок 1 ребенок 1 ребенок 2 ребенок 3 ребенок 4 сначала выводятся родительские значения равные числу отобранных записей, а затем выводятся уже потомки и всё это повторяю строки по числу моих родительских значений словаря |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 20.07.2022 :: 17:51:03
Предположим имеем две организации и словарное множественное поле с видом деятельности:
ООО "Рога и копыта" 20000000 - ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ 20500000 - Добыча угля 20501000 - Добыча и обогащение угля и антрацита 20501100 - Добыча и обогащение угля и антрацита 20501101 - Добыча угля и антрацита 10000000 - СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО 10101000 - Растениеводство и животноводство, охота и предоставление соответствующих услуг в этих областях 10101010 - Выращивание однолетних культур 10101011 - Выращивание зерновых (кроме риса), зернобобовых культур и семян масличных культур ООО "Уши и хвосты" 10000000 - СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО 10101000 - Растениеводство и животноводство, охота и предоставление соответствующих услуг в этих областях 10101010 - Выращивание однолетних культур 10101011 - Выращивание зерновых (кроме риса), зернобобовых культур и семян масличных культур 20000000 - ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ 20500000 - Добыча угля 20501000 - Добыча и обогащение угля и антрацита 20501100 - Добыча и обогащение угля и антрацита 20501101 - Добыча угля и антрацита Как должен выглядеть статотчет? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 20.07.2022 :: 21:19:22
наверное я не совсем правильно объяснил мои данные
у меня нет фирм, у меня есть только словарь и он такой: 20000000 - ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ 20500000 - Добыча угля 20501000 - Добыча и обогащение угля и антрацита 20501101 - Добыча угля и антрацита 10000000 - СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО 10101000 - Растениеводство и животноводство, охота и предоставление соответствующих услуг в этих областях 10101010 - Выращивание однолетних культур 10101011 - Выращивание зерновых (кроме риса), зернобобовых культур и семян масличных культур а таблица имеет типа такой вид: id некое поле_1 некое поле_2 некое поле_3 некое поле_4 словарь (множественное поле, обязательно родитель и потомок) дата у меня единица информации будет такая: 45345 "текст" "текст-2" "текст-3" "текст-42" ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ;Добыча угля 12.04.2010 45346 "текст-34534" "текст-5643" "текст-354" "текст-454" ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ;Добыча угля и антрацита 13.04.2010 45347 "текст-12" "текст-212" "текст-34" "текст-40" СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО;Выращивание однолетних культур 14.04.2010 45348 "текст-9898" "текст-22" "текст-0" "текст-42" ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ;Добыча угля 12.04.2010 45349 "текст-12" "текст-212" "текст-34" "текст-40" СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО;Выращивание однолетних культур 12.04.2010 я делаю запрос по дате (в некотором интервале допустим за 12.04.2010), потом хочу сделать статОчёт по отобраным значениям, группируя их по значению словаря ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ 1. Добыча угля "текст" 1. Добыча угля "текст-9898" итого: 2 СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО 1. Выращивание однолетних культур "текст-12" итого: 1 а у меня сейчас получается: ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ Добыча угля "текст" Добыча угля "текст-9898" итого СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО Выращивание однолетних культур "текст-12" сначала повторяются родительские значения словаря (сколько записей отобралось), а затем уже потомки а хочется чтобы предки/родители были один раз и была сумма потомков каждого родителя |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 20.07.2022 :: 22:10:58
Организации были приведены для примера. Не может же быть у Вас только словарь и текст. Хотя, в принципе, может быть и так, но все равно текст является основным полем описывающим объект базы, а не само словарное поле. Предположим, словарное поле описывает текст и к одному тексту применены несколько понятия словаря. В таком случае у Вас может получаться такое распределение:
45345 "текст" "текст-2" "текст-3" "текст-42" ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ;Добыча угля 12.04.2010 45347 "текст-12" "текст-212" "текст-34" "текст-40" ДОБЫЧА ПОЛЕЗНЫХ ИСКОПАЕМЫХ;Добыча угля 14.04.2010 45345 "текст" "текст-2" "текст-3" "текст-42" СЕЛЬСКОЕ, ЛЕСНОЕ ХОЗЯЙСТВО, ОХОТА, РЫБОЛОВСТВО И РЫБОВОДСТВО;Выращивание однолетних культур 12.04.2010 Для воплощения в жизнь Ваших желаний можно разбить статотчет на разделы, по разделам словаря, наложив ограничения на строки, и внутри разделов сделав распределение. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 11:04:32
Спасибо за ответ!
А можно подсказать куда смотреть надо для этого? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 12:28:29
я тут смоделировал вариант моей БД
может быть это лучше объяснит мои пожелания ![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 12:31:26
вот:
![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 21.07.2022 :: 14:14:29
Попробуйте такой статотчет
![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 14:40:41 Zuluss записан в 21.07.2022 :: 14:14:29:
а он не сильно отличается от моего всё равно создаются строки сначала со значением предка (по числу записей), а потом потомки а как сделать так, чтобы предок был только один раз (или его просто не было, а была строка с жестко записанным текстом) и все найденные потомки? ![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 21.07.2022 :: 16:20:43
А этот скриншот результат работы статочета или то что требуется?
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 17:15:05
да, картинка это то, что я хотел получить
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 17:30:36
мне не очень понятно зачем словарное множественное поле разбивается в отчёте на отдельные строки
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 21.07.2022 :: 17:40:49
Вы же по нему делаете распределение. Все понятия распределяются по отдельности.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 17:45:43
а я пробовал вариант поиска по Предку целиком или по Потомкам отдельно - результат тот же, всё разбивается на отдельные строки
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 21.07.2022 :: 19:02:12
Проще оказалось сделать выдачу через форму ввода.
![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 21.07.2022 :: 19:08:24 Zuluss записан в 21.07.2022 :: 19:02:12:
спасибо большое за вашу отзывчивость, а как это в Excel передать? чтобы не copy/paste, а само открылось в Excel ? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 21.07.2022 :: 19:12:07
Легко.
Но попозже. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 22.07.2022 :: 11:29:07 Zuluss записан в 21.07.2022 :: 19:12:07:
буду ждать вашего сообщения/решения |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 22.07.2022 :: 12:00:17
некоторые возможные варианты в приложенной форме
![]() |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 22.07.2022 :: 12:30:29
Огромное спасибо!!
про вариант COM-объекта я не подумал таким способом можно сделать так, чтобы пользователь на форме просто нажимал кнопку "получить отчёт за неделю" и всё, остально сделается само |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 27.07.2022 :: 17:19:59
а не подскажите почему не могу запустить Excel из Cronos?
Через COM.CreateObject версия 6.4.300.31 |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 27.07.2022 :: 18:27:37
Официально COM появилась в версии 7. В более ранних версиях может и не быть.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 27.07.2022 :: 18:34:32
а как тогда вы можете посоветовать решить мою проблему?
Я создал словарь нужных мне значений и в том виде как мне нужно Теперь мне нужно этот словарь визуализировать, а самому запустить Excel я не могу, хотя он запускается из оболочки когда работаю со СтатОтчётом и передать данные в Excel могу через "Таблицу в буфер обмена для Excel" |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 27.07.2022 :: 20:19:16 Цитировать:
1. Лучше всего перейти на новые версии. 2. Передавать через файл. 3. Использовать внешний интерпретатор Lua с модулем luacom. Передавать данные через файл. 4. Создать пустую базу со структурой как и статотчет, заполнять ее значениями и из нее формировать отчет. и другие варианты. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 27.07.2022 :: 21:08:50
Большое спасибо за ответ
Цитировать:
я бы с большим удовольствием, но такие решения принимаются в очень больших кабинетах большими людьми, а им до низов пофигу Цитировать:
я думал над таким вариантом сохранить в CSV или сделать XML, но это всё равно надо будет потом ручками что-то делать, а мне надо для сотрудников "режим одной кнопки" Цитировать:
с таким я не ни разу не сталкивался Цитировать:
это тоже очень интересный вариант, но я не понимаю как можно сделать банк по форме моего отчёта |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 28.07.2022 :: 12:58:39
Уважаемый Zuluss не затруднит вас какие-нибудь наброски сделать по моему вопросу?
Заранее большое спасибо! |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 28.07.2022 :: 17:20:42
Пытаюсь найти хоть какую-нибудь информацию по теме "Внешний интерпретатор и LuaCom", но на форуме мне поиск ничего не дал
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 28.07.2022 :: 23:17:22
Представлены были не только наброски, но и готовые решения по формированию и через файл, и через luacom.
По поводу внешнего интерпретатора - скачиваете пакет Lua for windows (LFW). Там все есть. Объединяя два предложенных варианта получаете третий. Цитировать:
Среди других вариантов можно упомянуть возможность программного формирования html таблицы, вместо csv или xml, и открывать его (файл с таблицей) автоматом в excel. Все зависит от Вашего желания, уровня подготовленности, способности к обучению. Но проще поставить новую программу. Не обязательно 7. Были и 6-е версии, которые не требовали перерегистрации. Ставите и используете. Проверять версии никто не будет. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 14:48:45
продолжаю попытки сделать Статистический отчёт через Lua
выполняю команду: Code (Lua):
в com получаю таблицу вида: [CreateWord]=<function>, [CreateExcel]=<function>, [Connect]=<function> .... и ещё значения далее пытаюсь выполнить: Code (Lua):
но мне выпадает ошибка: attempt to index global 'excel' (a nil value) пытаюсь выполнить код: Code (Lua):
почему-то в переменной laucom находится нулевое значение True (а пробую сделать то же самое в версии 7 Демо, так там такая же таблица, что и в COM) и соответственно код: Code (Lua):
выдаёт ошибку: attempt to index global 'luacom' (a boolean value) пытаюсь выполнить код: Code (Lua):
он выполняется без ошибки а вот так: Code (Lua):
но мне выпадает ошибка: attempt to index global 'luacom' (a nil value) Через создание временного файла и передачи ему текста я могу создать/запустить Excel, но при таком способе я не понимаю как можно применить форматирование к ячейкам и строкам Code (Lua):
В чём может быть проблема??? :-[ :-? :'( |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 16:09:08
Скорее всего у Вас excel устанавливался некорректно. Т.е. не был зарегистрирован в системе COM объект excel.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 16:19:22
а как можно подключить luacom ?
по вашей рекомендации я скачал и установил LfW |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 16:32:52 Zuluss записан в 30.07.2022 :: 16:09:08:
я пробовал проектировать форму на сервере - ошибка появляется пробовал на ПК пользователя из моей сети запустить этот банк и там начать проектировать форму - всё равно та же ошибка не может же быть, что на разных ПК одна и та же ошибка регистрации COM объекта? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 16:43:04
В каталоге docs и Examples есть папки luacom, с документацией, где примеры с excel и word есть, и, соответственно, с упражнениями. Там, правда excel и word нет.
Это можете найти в других местах. Например, поиском vbs CreateObject("Excel.Application") clickme |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 16:53:13
Пробуйте на демоверсии 7.1. Там все работает. Если не работает, значит проблема в установке компонентов офиса.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 16:54:07
Спасибо большое!
У меня главная проблема - это выполнить подключение luacom к Кронос Вы говорили, что у вас нет варианта Кронос/Базиc с работающим модулем [b]COM[/b] и вы использовали luacom а как его подключить ? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 16:55:14 Zuluss записан в 30.07.2022 :: 16:53:13:
ваш пример из этой темы на Демо-версии работает, но у меня в организации версия 6... |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 16:59:22
Это я говорил, до появления версии 7.0 и 7.1. Сейчас они есть и там встроен модуль COM он же luacom.
Lua в кроносе не позволяет подключать внешние модули. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 17:06:53
у меня, к сожалению нет возможности поменять версию Кронос
Zuluss записан в 21.07.2018 :: 19:47:06:
я об это вашем сообщении говорил или я его не правильно понял, вы не к Кроносу подключили luacom, а просто в самой среде Lua выполняли код ? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 17:12:53
Там же и говорилось "проверка с автономной версией Lua и подключенной библиотекой luacom". Автономная - это и есть LfW.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Юзер99335588 в 30.07.2022 :: 17:18:20 Zuluss записан в 27.07.2022 :: 20:19:16:
а можно эти два пункта чуть подробнее объяснить? |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 30.07.2022 :: 17:34:20
Готовые решения сделаны, другие варианты показаны, остальное за Вами.
|
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Sinilga в 31.07.2022 :: 19:06:32
При желании можно обойтись совсем без модуля COM
Code (] local script = [ Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objBook = objExcel.WorkBooks.Add() objExcel.Cells(1,1).Value = "val 1" objExcel.Cells(1,2).Value = "val 2" objBook.SaveAs "%s" objBook.Close objExcel.Quit Set objExcel = Nothing Set objWorkbook = Nothing ):
Должно работать и шестой версии. |
Заголовок: Re: СтатОтчёт и иерархический словарь Создано Zuluss в 31.07.2022 :: 20:41:28
Да, вариантов масса, и с использованием внешних программ тоже. Странно, что по сообщению:
Цитировать:
Значит библиотека COM присутствует. Конечно, если она официально в той версии не заявлена, то может и не работать. |
Форум компании Кронос-Информ » Powered by YaBB 2.5.2! YaBB © 2000-2009. Все права защищены. Localization by mySOPROMAT.ru |