AI-выжимка обсуждения
скоро
Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.
Обзор обсужденияскоро
Разбор ответов скоро
Ключевые ответы обсуждения и их оценка появятся здесь.
Эксперты в тредескоро
Рейтинг участников скоро
Участники с сильными ответами в этой теме появятся здесь.
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
Сортировка
Обсуждаемые
Лучшие
Эксперты
скоро
Все реально. На сколько это критично? Просто, ребята, сейчас я таки пытаюсь насладиться радостями отпуска. В конце июля думаю, может чего новенького покажу.2 oshmianski
А отбор по нескольким формам реализовать реально ?
Это святоеПросто, ребята, сейчас я таки пытаюсь насладиться радостями отпуска. В конце июля думаю, может чего новенького покажу.
НеобходимоНа сколько это критично?
Как работа над проектом? Забыта?
У меня несколько предложений, интересно как вы к ним отнесетесь:
1. Забирать документы из вьюка, при помощи NotesViewNavigator
2. Сделать документы - шаблоны, которые будут определять вид отчета (в основном в экселе)
Вобщем-то, от делать нечего, я реализую второе... единственная проблема... Если у меня поменялась настройка отображения столбца, мне нужно зайти в источник, переоткрыть шаблон столбца для какого-либо столбца, сохранить, открыть отчет, переоткрыть в нем источник, сохранить и только тогда изменения приймут силу... Я просто не стал вносить изменения в структуру работы, решил добавить парочку функций в класс... Поэтому все обновляется в бэкэнде...
Что думаете?
У меня несколько предложений, интересно как вы к ним отнесетесь:
1. Забирать документы из вьюка, при помощи NotesViewNavigator
2. Сделать документы - шаблоны, которые будут определять вид отчета (в основном в экселе)
Вобщем-то, от делать нечего, я реализую второе... единственная проблема... Если у меня поменялась настройка отображения столбца, мне нужно зайти в источник, переоткрыть шаблон столбца для какого-либо столбца, сохранить, открыть отчет, переоткрыть в нем источник, сохранить и только тогда изменения приймут силу... Я просто не стал вносить изменения в структуру работы, решил добавить парочку функций в класс... Поэтому все обновляется в бэкэнде...
Что думаете?
Не забыта, но сейчас нет особо свободного времени.Как работа над проектом? Забыта?
Я так понял, что в качестве источника предлагается использовать вьюху?У меня несколько предложений, интересно как вы к ним отнесетесь:
1. Забирать документы из вьюка, при помощи NotesViewNavigator
Зачем использовать NotesViewNavigator?
Ничего не понял. Как планируется использования шаблона?2. Сделать документы - шаблоны, которые будут определять вид отчета (в основном в экселе)
Вобщем-то, от делать нечего, я реализую второе... единственная проблема... Если у меня поменялась настройка отображения столбца, мне нужно зайти в источник, переоткрыть шаблон столбца для какого-либо столбца, сохранить, открыть отчет, переоткрыть в нем источник, сохранить и только тогда изменения приймут силу... Я просто не стал вносить изменения в структуру работы, решил добавить парочку функций в класс... Поэтому все обновляется в бэкэнде...
Что думаете?
Для: oshmianski
1. Для ориентирования во вьюхе. Можно будет брать несколько категорий первого категоризированного столбца, например.... Также можно будет сделать простой отбор по вьюхе... Будут браться значения не из документов, а из строк вьюхи
2. Я сделал так:
а) Элемент дизайна, который отвечает за отображение столбцов
б) За отображение воркшита.
В целом это документы, которые устанавливают правила оторбажения... а в скрипте, при генерации отчета, происходит их обработка
1. Для ориентирования во вьюхе. Можно будет брать несколько категорий первого категоризированного столбца, например.... Также можно будет сделать простой отбор по вьюхе... Будут браться значения не из документов, а из строк вьюхи
2. Я сделал так:
а) Элемент дизайна, который отвечает за отображение столбцов
б) За отображение воркшита.
В целом это документы, которые устанавливают правила оторбажения... а в скрипте, при генерации отчета, происходит их обработка
Моя версия.... Основное:
- Шблоны распространяются только на отчет Excel
- Все данные грузятся "по нажатии на конпку". Нет автомотического подгруза данных
- Настройки "взаимоподменяемы". Как создается отчет можно наглядно видеть, если задать генерить отчет на 500-600 документов - настройки "накладываются" друг на друга
Вложения
забрал, смотрюМоя версия.... Основное:Пожалуйста все недоработки (там их куча наверняка), ошибки возникающие (в какой строчке... какие данные) пишите.
- Шблоны распространяются только на отчет Excel
- Все данные грузятся "по нажатии на конпку". Нет автомотического подгруза данных
- Настройки "взаимоподменяемы". Как создается отчет можно наглядно видеть, если задать генерить отчет на 500-600 документов - настройки "накладываются" друг на друга
1. в функции SetReportTemplate
у меня в отчете из-за этого не было данных.
Кроме того, если добавлять условия отбора, то подставляются русские значения полей, которых нет в документах (у меня, по крайней мере) + FTSearch вылетает в NSD.
2. Настройки я бы не прошивал жестко в источниках, а делал бы там ссылки на документы настройки. И в момент построения отчета, все параметры отображения брал бы не из самих документов источников, а из настроек для Excel. Это конечно немного затруднительно будет для задания свойств каждого поля в источнике, но таким образом можно избежать статики.
3. функция ChekFields
мне выскакивает (MsgOk "Ошибка: несоответствие полей c нумерами.", "error", "Ошибка") и я, как пользователь, теряюсь в догадках, доверять мне этому отчету, который таки дальше строится.
4. сразу показывать пользователю Excel мне кажется не совсем разумно. Если машина слабая, то операции форматирования могут выполняться достаточно долго. Кроме того, после формирования отчета, пользователь остается в интерфейсе Excel. Потом, скажем, закрыл отчет и вернулся в Notes, а там ему говорят "Отчет посторен", жмем "Ок", и что у нас получится? У меня ошибка, т.к.
Вот вроде и все. Спасибо за продолжение.
Код:
...
i.AppendToTextList(docMapping.GetItemValue("n" & Cstr(j))(0) & "|" & docMapping.GetItemValue("n" & Cstr(j))(0) &_
"~" & docMapping.GetItemValue("[b]не n, а t[/b]" & Cstr(j))(0) & "!" & docMapping.GetItemValue("[b]не n, а f[/b]" & Cstr(j))(0))
...
Кроме того, если добавлять условия отбора, то подставляются русские значения полей, которых нет в документах (у меня, по крайней мере) + FTSearch вылетает в NSD.
2. Настройки я бы не прошивал жестко в источниках, а делал бы там ссылки на документы настройки. И в момент построения отчета, все параметры отображения брал бы не из самих документов источников, а из настроек для Excel. Это конечно немного затруднительно будет для задания свойств каждого поля в источнике, но таким образом можно избежать статики.
3. функция ChekFields
мне выскакивает (MsgOk "Ошибка: несоответствие полей c нумерами.", "error", "Ошибка") и я, как пользователь, теряюсь в догадках, доверять мне этому отчету, который таки дальше строится.
4. сразу показывать пользователю Excel мне кажется не совсем разумно. Если машина слабая, то операции форматирования могут выполняться достаточно долго. Кроме того, после формирования отчета, пользователь остается в интерфейсе Excel. Потом, скажем, закрыл отчет и вернулся в Notes, а там ему говорят "Отчет посторен", жмем "Ок", и что у нас получится? У меня ошибка, т.к.
Код:
MsgOk "Формирование отчета завершено", "Info", "Построение отчета"
xlSheet.Cells.Select
' xlSheet.Cells.EntireColumn.AutoFit
xlSheet.Rows("1:1").Select
.Selection.Font.Bold = True
xlSheet.Range("A1").Select
.Visible=True
Вот вроде и все. Спасибо за продолжение.
1. Да, эту ошибку я заметил давно. Мне почему-то показалось, что её сделал не я, а ты. Я в большинстве случаев копировал код.... Наверно я напудрил...
2. Но ведь у тебя же источник берется не из документа источника, а из документа, из которого строится отчет. Так жить проще...
3. Для отладки
4. Для отладки. Конечно уберем потом
Мне сейчас хочется сделать проверку на корректность заполнения шаблонов... неплохо бы сделать шаблоны по-умолчанию... только как это лучше сделать?...
У меня вопрос... зачем такие конструкции
2. Но ведь у тебя же источник берется не из документа источника, а из документа, из которого строится отчет. Так жить проще...
3. Для отладки
4. Для отладки. Конечно уберем потом
Мне сейчас хочется сделать проверку на корректность заполнения шаблонов... неплохо бы сделать шаблоны по-умолчанию... только как это лучше сделать?...
У меня вопрос... зачем такие конструкции
Set i = doc.ReplaceItemValue...Set i = doc.GetFirstItem("AllVariants")
If i Is Nothing Then
Set i = New Notesitem(doc, "AllVariants", 1)
Else
Set i = New Notesitem(doc, "AllVariants", 1)
Call doc.replaceItemValue("AllVariants", "")
End If
1. хм, не буду утверждать что-то конкретное. главное, что разобрались
2. да, согласен, я жестко прошиваю, но. источик потенциально практически не меняется в отчете, а вот его отображение (форматирование) может. я, например, сразу захотел поэкспериментировать. и получается, что сменил одно значение в шаблоне и нужно перевыбирать источник или формат поля в источнике, а потом источник. согласен так жить программеру проще, но, имхо, шкурка выделки стоит, даже для тебя самого.
а) сделать дефолтовые доки шаблонов, скрыть их от пользователей и использовать по-умолчанию
б) в скрипте забить дефолтовый массив
link removed.
2. да, согласен, я жестко прошиваю, но. источик потенциально практически не меняется в отчете, а вот его отображение (форматирование) может. я, например, сразу захотел поэкспериментировать. и получается, что сменил одно значение в шаблоне и нужно перевыбирать источник или формат поля в источнике, а потом источник. согласен так жить программеру проще, но, имхо, шкурка выделки стоит, даже для тебя самого.
Я вижу два пути:Мне сейчас хочется сделать проверку на корректность заполнения шаблонов... неплохо бы сделать шаблоны по-умолчанию... только как это лучше сделать?...
а) сделать дефолтовые доки шаблонов, скрыть их от пользователей и использовать по-умолчанию
б) в скрипте забить дефолтовый массив
Где-то когда-то на каком-то форуме, на интертрасте что ли, читал сабж по этому поводу и решил, что буду использовать конструкции типа ReplaceItemValue и GetItemValue. Видишь ли, если использовать упрощенные конструкции, то можно запутаться, ибо наименоване полей могут совпадать (или почти совпадать) с различными стандартными методами и свойствами. Кроме того, считаю, что это более грамотным с точки зрения красивости программировани. Но, как и все смертные, часто ленюсьУ меня вопрос... зачем такие конструкции
Set i = doc.ReplaceItemValue...
Где-то когда-то на каком-то форуме, на интертрасте что ли, читал сабж по этому поводу и решил, что буду использовать конструкции типа ReplaceItemValue и GetItemValue. Видишь ли, если использовать эти упрощенные конструкции, то можно запутаться, ибо наименоване полей могут совпадать (или почти совпадать) с различными стандартными методами и свойствами. Кроме того, считаю, что это более грамотным с точки зрения красивости программировани. Но, как и все смертные, часто ленюсьlink removed.
Ничего не понял... Тебе проще и красивее написать
Код:
Set i = doc.GetFirstItem("AllVariants")
If i Is Nothing Then
Set i = New Notesitem(doc, "AllVariants", 1)
Else
Set i = New Notesitem(doc, "AllVariants", 1)
Call doc.replaceItemValue("AllVariants", "")
End If
Код:
Set i = doc.ReplaceItemValue("AllVariants", "")
честно? не помню, почему я так делал. возможно это есть и избыточность. а сравнивал я две конструкции в предыдущем посте: doc.GetItemValue("FieldName")(0) и doc.FieldName(0)Ничего не понял... Тебе проще и красивее написать
чемКод:Set i = doc.GetFirstItem("AllVariants") If i Is Nothing Then Set i = New Notesitem(doc, "AllVariants", 1) Else Set i = New Notesitem(doc, "AllVariants", 1) Call doc.replaceItemValue("AllVariants", "") End IfКод:Set i = doc.ReplaceItemValue("AllVariants", "")
!!!Если в отчете поперемещать показатели вверх-вниз, то в Excel отчете заголовки столбцов путаются!!!
У меня не лучшие впечатления.
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
У меня не лучшие впечатления.
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
У меня не лучшие впечатления.
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
начал работу. завтра (если не случиться ничего сверхъестественного) выскажу основные соображения по этому поводу....
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
...
Для: allex
Для: oshmianski
Я вот думаю, зачем тип столбца? Я бы лучше сделал функцию воздействия на информацию @ функциями... Предположим у нас альт имена... мы на инфу @names([CN];...)... Только как... Evaluate?
Часть исправлена, часть оставленаТеже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Если это то, что я думаю - для отображения в хидереНо зачем было делать алиасы для полей (по ним же отбор не идет)
Мое мнение - unreal. По мне проще сделать отображение по вьюку. Там и форм сколько угодно, и настраивать проще...И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Для: oshmianski
Я вот думаю, зачем тип столбца? Я бы лучше сделал функцию воздействия на информацию @ функциями... Предположим у нас альт имена... мы на инфу @names([CN];...)... Только как... Evaluate?
Не путай тип, который используется для организации отбора, и тип для отображения данных.Для: oshmianski
Я вот думаю, зачем тип столбца? Я бы лучше сделал функцию воздействия на информацию @ функциями... Предположим у нас альт имена... мы на инфу @names([CN];...)... Только как... Evaluate?
Согласен, проект можно развивать дальше на предмет настройки отображения данных в отчетах.
Первая необходимость уже есть - форматирование данных. А еще что-нибудь на ум приходит?
Обновленная версия... Исправил ошибку 1, "ошибку" 3. Небольшие эстетические усовершенствования. Сделал наброски для отбора по представлению (генерацию Excel отчета не трогал).
Проверь плс в этой версии!!!Если в отчете поперемещать показатели вверх-вниз, то в Excel отчете заголовки столбцов путаются!!!
Вложения
Поиск в обсуждении
Ещё по теме
- Статья
- Ответы
- 2
- Просмотры
- 2 тыс.
- Ответы
- 0
- Просмотры
- 703
- Ответы
- 0
- Просмотры
- 678
- Статья
- Ответы
- 0
- Просмотры
- 821
Поделиться: