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

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

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

Сообщение Александр »

Два вопроса по автоматизации

Как автоматически сформировать полное имя файла получаемого в результате экспорта по шаблону, основываясь на атрибутивной информации объекта (число, номер, исполнитель и т.д. + полный путь)

Как файл полученный(открытый) после экспорта по шаблону и уже имеющий 'нормальное' имя автоматически приложить в документы архива текущего объекта

или

как автоматически создать файл по шаблону, сохранить, приложить его к объекту и только после этого открыть его на редактирование

Поделитесь опытом :roll: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Сообщение Старик Крупский »

Экспорт можно запустить скриптом. Потом этим же скриптом для Ворда в конце выполнить команду сохранения. Произойдет перехват команды и появится окошко импорта. Что делать дальше не знаю, но это уже половина пути...
Соврешенно так же скриптом можно сформировать имя файла из данных отчета и подсунуть его в параметр. Но тогда я не знаю как импортировать файл, если только отдать в скрипте команду save as. Юзеру придется выбирать способ сохранения и объект.
Shurik
Новый участник
Сообщения: 14
Зарегистрирован: 22 май 2006, 15:14
Откуда: Москва
Контактная информация:

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

Сообщение Shurik »

Могу предложить только идею - сам не реализовал из-за отсутствия требуемой сборки.
Отчет запускается из действия. Сразу выполняется скрипт по импорту данных отчета в файл (в котором указывается имя конечного файла - 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
В это время отрывается форма
Наверно не пойдет :roll:
1. Действие запускает отчет
2. Отчет пишет файл
iRc = LsRpt.OleExport ( ...,..., P или S)
открывая его при этом в приложении
3. Импортируем файл в Лоцию

Но...
Файл то уже открыт и человек начинает работать с ним, а не с тем файлом который мы в фоне привязали к объекту.

а вообщето наверно с тем же, что-то тут не то
- создали - открыли (или - открыли -создали) (или - открыли а сохранили потом) тут не ясно
- привязали - отредактировали (но что) - сохранили (но что и куда???) :roll:
Ладно попробуем, потом скажу что получилось.

Софт - 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 и далее своим собственным скриптом объединить полученные три файла в один разбросав их по листам и удалив затем исходные файлы?

Не подскажите как поступить? :roll:

Софт - 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 данными с первого - но ничего не получилось поскольку все ссылки на первый лист настроенные в файле шаблона становятся недействительными в файле экспорта

и как защитить эти ссылки чтобы они не улетали после экспорта - непонятно :? , и как сослаться на сгруппированные ячейки тоже не понятно :?
да и вообще одни проблемы :wink: с этим экспортом :lol: (нервный смех)

Софт - 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 их сам растащит в таблицу?

Софт - 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 - это уже другой вопрос.
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

не хотел, но скажу, :wink:
Лоция использует в файле шаблона *.xls группировку для вывода в нее таблицы т.е. строка в шаблоне одна а строк в отчете много и в результирующем файле тоже получается не строка а таблица
- именно про эту функцию я и говорил, что это делает не сам Excel (как говорит техподдержка)
проверено опытным путем-скрипт создает новый файл на основе шаблона и пишет все данные в сгруппированную строку в результате получаем не таблицу а одну строку с последним значением (и зачем я все это пишу :wink: )

Ладно, Закрываем тему, все понятно, скрипты так скрипты.

PS Просто зачем писать свои функции, когда логичнее было бы воспользоваться готовыми?

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Сообщение Старик Крупский »

Ничего не понимаю... Как одну строку?!! Коллеги, отзовитесь. Получается самая натуральная таблица: сколько строк в отчете, столько и в таблице. Александр, может быть Вы неверно настроили шаблон?
Группировку требует Лоция для вывода, это да. Любой шаблон требует чего-нибудь за что можно зацепиться. А функция всего лишь автоматизирует действия пользователя.
Ответить