Как сформировать название файла экземпляра отчета по шаблону
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Как сформировать название файла экземпляра отчета по шаблону
Два вопроса по автоматизации
1й Как автоматически сформировать полное имя файла получаемого в результате экспорта по шаблону, основываясь на атрибутивной информации объекта (число, номер, исполнитель и т.д. + полный путь)
2й Как файл полученный(открытый) после экспорта по шаблону и уже имеющий 'нормальное' имя автоматически приложить в документы архива текущего объекта
или
как автоматически создать файл по шаблону, сохранить, приложить его к объекту и только после этого открыть его на редактирование
Поделитесь опытом
1й Как автоматически сформировать полное имя файла получаемого в результате экспорта по шаблону, основываясь на атрибутивной информации объекта (число, номер, исполнитель и т.д. + полный путь)
2й Как файл полученный(открытый) после экспорта по шаблону и уже имеющий 'нормальное' имя автоматически приложить в документы архива текущего объекта
или
как автоматически создать файл по шаблону, сохранить, приложить его к объекту и только после этого открыть его на редактирование
Поделитесь опытом
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Экспорт можно запустить скриптом. Потом этим же скриптом для Ворда в конце выполнить команду сохранения. Произойдет перехват команды и появится окошко импорта. Что делать дальше не знаю, но это уже половина пути...
Соврешенно так же скриптом можно сформировать имя файла из данных отчета и подсунуть его в параметр. Но тогда я не знаю как импортировать файл, если только отдать в скрипте команду save as. Юзеру придется выбирать способ сохранения и объект.
Соврешенно так же скриптом можно сформировать имя файла из данных отчета и подсунуть его в параметр. Но тогда я не знаю как импортировать файл, если только отдать в скрипте команду save as. Юзеру придется выбирать способ сохранения и объект.
-
- Новый участник
- Сообщения: 14
- Зарегистрирован: 22 май 2006, 15:14
- Откуда: Москва
- Контактная информация:
Как сформировать название файла экземпляра отчета по шаблону
Могу предложить только идею - сам не реализовал из-за отсутствия требуемой сборки.
Отчет запускается из действия. Сразу выполняется скрипт по импорту данных отчета в файл (в котором указывается имя конечного файла - FileName). В это время отрывается форма этого же действия с текстом типа "Дождитесь окончания формирования файла. Нажмите Далее". На следующем шаге определяю объект, в который надо импортировать (ObjForImp). Затем функцией DocImport выполняю импорт (предварительно описав остальные параметры).
Примерно так. Повторюсь, на практике это не реализовано. Так что не бейте сильно
Отчет запускается из действия. Сразу выполняется скрипт по импорту данных отчета в файл (в котором указывается имя конечного файла - FileName). В это время отрывается форма этого же действия с текстом типа "Дождитесь окончания формирования файла. Нажмите Далее". На следующем шаге определяю объект, в который надо импортировать (ObjForImp). Затем функцией DocImport выполняю импорт (предварительно описав остальные параметры).
Код: Выделить всё
DocImport ( ObjForImp , FileName , OpisanieDoc , libr , s_Copy , Word , WordDoc )
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
А shurik дело грит
Последний раз редактировалось Старик Крупский 06 мар 2007, 08:36, всего редактировалось 1 раз.
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
to Shurik
1. Действие запускает отчет
2. Отчет пишет файл
iRc = LsRpt.OleExport ( ...,..., P или S)
открывая его при этом в приложении
3. Импортируем файл в Лоцию
Но...
Файл то уже открыт и человек начинает работать с ним, а не с тем файлом который мы в фоне привязали к объекту.
а вообщето наверно с тем же, что-то тут не то
- создали - открыли (или - открыли -создали) (или - открыли а сохранили потом) тут не ясно
- привязали - отредактировали (но что) - сохранили (но что и куда???)
Ладно попробуем, потом скажу что получилось.
Наверно не пойдетВ это время отрывается форма
1. Действие запускает отчет
2. Отчет пишет файл
iRc = LsRpt.OleExport ( ...,..., P или S)
открывая его при этом в приложении
3. Импортируем файл в Лоцию
Но...
Файл то уже открыт и человек начинает работать с ним, а не с тем файлом который мы в фоне привязали к объекту.
а вообщето наверно с тем же, что-то тут не то
- создали - открыли (или - открыли -создали) (или - открыли а сохранили потом) тут не ясно
- привязали - отредактировали (но что) - сохранили (но что и куда???)
Ладно попробуем, потом скажу что получилось.
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Вопрос по ходу дела
Проблема такая:
Нужно из отчета сразу получить трехстраничный документ *.xls, желательно в одном файле. (причем информация на листах на 50% дублируется (исходные данные) и на 50% пересчитывается по формулам Excel для того или иного листа)
(и конечно сразу привязать к объекту ... с этим еще в процессе)
Но шаблон настраивается только для ОДНОГО листа *.xls
Как можно решить данную задачу средствами Лоции?
- создать один шаблон (один файл) с тремя листами и три раза вызвать функцию OleExport для каждого из листов? но тогда файл три раза перепишется и мы увидим только последнюю редакцию с отчетом по третьему листу шаблона (первые два будут пустыми)
- создать три шаблона по одному листу, заполнить их через OleExport и далее своим собственным скриптом объединить полученные три файла в один разбросав их по листам и удалив затем исходные файлы?
Не подскажите как поступить?
Проблема такая:
Нужно из отчета сразу получить трехстраничный документ *.xls, желательно в одном файле. (причем информация на листах на 50% дублируется (исходные данные) и на 50% пересчитывается по формулам Excel для того или иного листа)
(и конечно сразу привязать к объекту ... с этим еще в процессе)
Но шаблон настраивается только для ОДНОГО листа *.xls
Как можно решить данную задачу средствами Лоции?
- создать один шаблон (один файл) с тремя листами и три раза вызвать функцию OleExport для каждого из листов? но тогда файл три раза перепишется и мы увидим только последнюю редакцию с отчетом по третьему листу шаблона (первые два будут пустыми)
- создать три шаблона по одному листу, заполнить их через OleExport и далее своим собственным скриптом объединить полученные три файла в один разбросав их по листам и удалив затем исходные файлы?
Не подскажите как поступить?
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Ну настраивается на листы, а что толку то - когда одновременно можно работать только с одним листом, а мне нужно с тремя?
Вот если бы была связь с любым количеством листов сразу
(один отчет - один шаблон - в результате один файл с данными (в том числе и с группировкой) разбросанными по n листам), или возможность дополнительного экспорта в существующий файл-тогда другое дело, а так....
Хотя в сущности...
мне бы хватило данных на одном листе, а на остальные (листы) я бы наполнял через формулы Excel данными с первого - но ничего не получилось поскольку все ссылки на первый лист настроенные в файле шаблона становятся недействительными в файле экспорта
и как защитить эти ссылки чтобы они не улетали после экспорта - непонятно , и как сослаться на сгруппированные ячейки тоже не понятно
да и вообще одни проблемы с этим экспортом (нервный смех)
Вот если бы была связь с любым количеством листов сразу
(один отчет - один шаблон - в результате один файл с данными (в том числе и с группировкой) разбросанными по n листам), или возможность дополнительного экспорта в существующий файл-тогда другое дело, а так....
Хотя в сущности...
мне бы хватило данных на одном листе, а на остальные (листы) я бы наполнял через формулы Excel данными с первого - но ничего не получилось поскольку все ссылки на первый лист настроенные в файле шаблона становятся недействительными в файле экспорта
и как защитить эти ссылки чтобы они не улетали после экспорта - непонятно , и как сослаться на сгруппированные ячейки тоже не понятно
да и вообще одни проблемы с этим экспортом (нервный смех)
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Делайте все скриптом. Экспорт - это простой инструмент для создания экселевских документов, доступный по простоте основной массе. А если делать надо что-то с "выкрутасами", то это решается скриптом. Регистрируете приложение Excel, новый документ, лист и грузите в него все, что надо, вплоть до формул или чего там еще...
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
сразу вопрос...
один...
как скриптом заполнять сгруппированные поля? в смысле нужно ли отслеживать (вносить) табличные данные самому или можно все их бросать по адресу сгруппированной ячейки (как в шаблоне для Лоции) и Excel их сам растащит в таблицу?
один...
как скриптом заполнять сгруппированные поля? в смысле нужно ли отслеживать (вносить) табличные данные самому или можно все их бросать по адресу сгруппированной ячейки (как в шаблоне для Лоции) и Excel их сам растащит в таблицу?
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
полный облом все придется писать на своих скриптах, и что самое неприятное таблицу с данными также придется рисовать скриптами, поскольку данную функцию (вставка таблицы в сгруппированную строку файла шаблона) техподдержка не отдает, говорит что это функция Excel? хотя как ни пробовал с разных сторон все-таки это функция Лоции
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Да ну... Зачем зацикливаться на сгруппированных строках? В цикле по кол-ву строк отчета выбрасывайте построчно весь отчет в Excel.
Интересно, а как Вы себе представяете одновременную запись в три листа книги? Вы хотя бы функцию такую в Excel'е найдите. Все поочередно! И здесь то же самое, это не функции Лоции, "хотелка" под конкретную задачу и, я так понимаю, скрипты для того и сделаны, чтобы не приставали по своим заморочкам. А умеете ли Вы писать скрипты для Excel - это уже другой вопрос.
Интересно, а как Вы себе представяете одновременную запись в три листа книги? Вы хотя бы функцию такую в Excel'е найдите. Все поочередно! И здесь то же самое, это не функции Лоции, "хотелка" под конкретную задачу и, я так понимаю, скрипты для того и сделаны, чтобы не приставали по своим заморочкам. А умеете ли Вы писать скрипты для Excel - это уже другой вопрос.
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
не хотел, но скажу,
Лоция использует в файле шаблона *.xls группировку для вывода в нее таблицы т.е. строка в шаблоне одна а строк в отчете много и в результирующем файле тоже получается не строка а таблица
- именно про эту функцию я и говорил, что это делает не сам Excel (как говорит техподдержка)
проверено опытным путем-скрипт создает новый файл на основе шаблона и пишет все данные в сгруппированную строку в результате получаем не таблицу а одну строку с последним значением (и зачем я все это пишу )
Ладно, Закрываем тему, все понятно, скрипты так скрипты.
PS Просто зачем писать свои функции, когда логичнее было бы воспользоваться готовыми?
Лоция использует в файле шаблона *.xls группировку для вывода в нее таблицы т.е. строка в шаблоне одна а строк в отчете много и в результирующем файле тоже получается не строка а таблица
- именно про эту функцию я и говорил, что это делает не сам Excel (как говорит техподдержка)
проверено опытным путем-скрипт создает новый файл на основе шаблона и пишет все данные в сгруппированную строку в результате получаем не таблицу а одну строку с последним значением (и зачем я все это пишу )
Ладно, Закрываем тему, все понятно, скрипты так скрипты.
PS Просто зачем писать свои функции, когда логичнее было бы воспользоваться готовыми?
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Ничего не понимаю... Как одну строку?!! Коллеги, отзовитесь. Получается самая натуральная таблица: сколько строк в отчете, столько и в таблице. Александр, может быть Вы неверно настроили шаблон?
Группировку требует Лоция для вывода, это да. Любой шаблон требует чего-нибудь за что можно зацепиться. А функция всего лишь автоматизирует действия пользователя.
Группировку требует Лоция для вывода, это да. Любой шаблон требует чего-нибудь за что можно зацепиться. А функция всего лишь автоматизирует действия пользователя.