Версия для печати темы
Форум программистов _ Lotus - Программирование _ Open Source
Автор: oshmianski 16:06:2006, 16:19
Замучали пользователи.
Ну сделайте мне такую вьюху, а мне такую... Надоело!!!
Вот склепал с горем пополам.
Не претендую на непогрешимость, но, думаю, что-то в этом есть.
Предложения, замечания можно сюда или в oshmianskiСОБАКАmailТОЧКАru
Да простят меня владельцы сайта, если что-то не так сделал 
!!!!!!!!!!!!!!Тем, кто первый раз сюда зашел. Смотрите ниже новые версии!!!!!!!!!!!!!!!!
Автор: DNT 16:06:2006, 21:17
Для: oshmianski
goog job!
Автор: oshmianski 19:06:2006, 10:28
Заранее прошу прощения у всех!!!
Вот список возможностей этой бд:
++отчеты за период
++результаты можно выводить в HTML или Excel
++настраиваются условия отбора документов из источника (до 5-ти условий отбора)
++поиск по неполному совпадению
++любое количество показателей (максимум = количество полей в источнике)
++любая последовательность показателей
++наименование показателей можно править
++предварительный результат поиска = количество найденых документов
++"ручная" правка строки запроса
++высокая скорость работы (при условии нормального функционирования локальной сети)
++при выводе в HTML первый столбец можно сортировать \ не сортировать (быстрее)
Сегодня = пару исправлений + возможность использования формул в значениях условий. Например, @date(@now).
Спасибо Орлову А.Б. за идею с формулами.
Автор: oshmianski 19:06:2006, 12:41
Забыл уточнить LD - 6.5 и LN 6.5. На других ситемах пока не тестировалось. Думаю, на семерке проблем не будет.
Автор: oshmianski 22:06:2006, 15:33
Ребята и девчата!!!
Кто посмотрел этого зверя, пишите сюда результаты.
Ошибки будем исправлять, дельные предложения будем реализовывать по мере сил.
Автор: Max_from_UA 23:06:2006, 06:45
Цитата(oshmianski @ 22:06:2006, 17:33 )

Ребята и девчата!!!
Кто посмотрел этого зверя, пишите сюда результаты.
Ошибки будем исправлять, дельные предложения будем реализовывать по мере сил.
Ваш зверьонок составлен с учётом конкретных особенностей 6.5, а для остальных 6.х постарше подойдет?
Автор: oshmianski 23:06:2006, 07:17
Цитата(Max_from_UA @ 23:06:2006, 08:45 )

Ваш зверьонок составлен с учётом конкретных особенностей 6.5, а для остальных 6.х постарше подойдет?
Про какие имеено особенности Вы говорите?
Писалось и тестировалось в 6.5. Для 5-ки и ниже точно не пойдет, пробовал. Что касается старших из шестой линейки, сегодня протестил в 6.0 - все гут.
Автор: Max_from_UA 23:06:2006, 07:53
Ясно
А НТМЛ какого стандарта формируется?
Автор: oshmianski 23:06:2006, 08:24
Цитата(Max_from_UA @ 23:06:2006, 09:53 )

Ясно
А НТМЛ какого стандарта формируется?
Вообще никакого. HTML формируется как обычный файл, куда ручками пишу HTML строки и просто сохраняю с расширением HTML.
На это "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">" не заостряю внимание. Че там броузер кушает, не знаю. Проверено для IE 6, Opera 7.54 - 9, Mozilla 1.4a - единственная трабла в том, что шрифт иногда криво отображает, если не стоит автоопределение кирилицы.
Честно говоря с этими вещами не заморачивался. Не думаю, что такие вещи будут иметь особое значение для конечного пользователя. Хотя могу и заблуждаться - недостаток образования.
Если это имеет какое-то значение, то просвятите меня, плс.
Автор: Max_from_UA 23:06:2006, 08:45
Цитата(oshmianski @ 23:06:2006, 10:24 )

... единственная трабла в том, что шрифт иногда криво отображает, если не стоит автоопределение кирилицы.
Впринцине, такое не существенно только в том случае если пользователь немного опытен, а если нет,
то придётся решать проблему.
Автор: oshmianski 23:06:2006, 09:13
Цитата(Max_from_UA @ 23:06:2006, 10:45 )

Впринцине, такое не существенно только в том случае если пользователь немного опытен, а если нет,
то придётся решать проблему.
Вот исправление
Sub MakeHTMLHeader(file As Variant)
%REM
/****************************************************/
/****************************************************/
%END REM
On Error Goto errorhandler
Print #file, |<html><title>Отчет | &_
doc.GetItemValue("MappingName_dsp")(0) & | </title><header>|
Print #file, |<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Windows-1251">|
Print #file, |</header><body>|
Print #file, |
<style>
.tablecss {
background-color: #c0c0c0;
border: 0px solid black;
font-family: Tahoma;
font-size: 8pt;
color: #004F8F;
width: 100%;
}
.tablecss th{
text-align : center;
font-size : 10px;
background-color: #ffffff
color : #000000;
}
.tablecss caption{
text-align : center;
font-size : 12px;
background-color: #ffffff
color : #000000;
}
.tablecss td{
text-align : center;
font-size : 10px;
color: #004F8F;
background-color: #ffffff
}
.tablecss tr{
text-align : center;
font-size : 10px;
}
</style>|
Ex:
Exit Sub
errorhandler:
MsgOk Error, "Error", "Ошибка"
Resume Ex
End Sub
Автор: Max_from_UA 23:06:2006, 11:18
Скрипты формирующие Ексель-файл будут со старыми версиями Екселя контактировать?
Автор: oshmianski 23:06:2006, 11:27
Цитата(Max_from_UA @ 23:06:2006, 13:18 )

Скрипты формирующие Ексель-файл будут со старыми версиями Екселя контактировать?
В скриптах используются самые общие мотоды объектной модели Excel.
Тестирование производилось на MS Office 2003 и MS Office 2000. Все гут. Что касается 97 и более древнего, то, имхо, их использование не совсем отвечает современным требования офиса.
Автор: Max_from_UA 23:06:2006, 11:38
Согласен.
Автор: GROMILA 23:06:2006, 11:46
Цитата(oshmianski @ 23:06:2006, 11:13 )

Вот исправление
[
ЗамечаниеЖелательно выкладывать шаблоны для обновления!!!
Автор: Max_from_UA 23:06:2006, 12:06
Господину Громиле и другим.
Цитата
Замечание
Желательно выкладывать шаблоны для обновления!!!
А почему бы и нам самим, с согласия автора идеи, не принять участие в последующих обновлениях.
Напр., пусть кто-то поделится с автором скриптом формирующим отчёт в хмл или ворд.
А может кто-то захочет перенести систему на линейку ЛН и ЛД 4.х и 5.х,
Ведь следует не только критиковать, но и принимать активное участие в модернизации объекта обсуждения.
Автор: oshmianski 23:06:2006, 15:49
Цитата(Max_from_UA @ 23:06:2006, 14:06 )

Господину Громиле и другим.
А почему бы и нам самим, с согласия автора идеи, не принять участие в последующих обновлениях.
Напр., пусть кто-то поделится с автором скриптом формирующим отчёт в хмл или ворд.
А может кто-то захочет перенести систему на линейку ЛН и ЛД 4.х и 5.х,
Ведь следует не только критиковать, но и принимать активное участие в модернизации объекта обсуждения.
для Max_from_UA - спасибо за поддержку!
тема = OpenSource!!! ребята, изменяйте, модернизируйте. то, что выложил - это начало. будет продолжение, буду только рад. для этого (ну, и не только) все мы здесь собрались...
а скрипт выложил, чтобы не нужно было скачивать всю бд и наглядно посмотреть. но с Громилой полностью согласен. если уж обновление, то *.ntf.
Попутный вопрос. Хочу развить бд в сторону выгрузки результатов поиска в XML (по просьбам зрителей, так сказать). Только вот загвоздка - а зачем это нужно? Как xml файл потом использовать, для чего? Поделитесь!
Автор: nor 24:06:2006, 18:13
для экспорта-импорта данных между: субд, платформами, различными релизами программ, OC, etc.
Автор: allex 26:06:2006, 06:03
Еще однин момент по експорту в Excel.
А с другой стороны может и не стоит в Excel выгружать, в html гораздо красивше.
И еще момент такого плана, чтобы данные можно забирать из нескольких форм, а не из одной
Автор: oshmianski 26:06:2006, 06:37
Цитата(allex @ 26:06:2006, 07:03 )

Еще однин момент по експорту в Excel.
А с другой стороны может и не стоит в Excel выгружать, в html гораздо красивше.
И еще момент такого плана, чтобы данные можно забирать из нескольких форм, а не из одной
Конечно можно и из HTML перегнать все в Excel, но это лишние телодвижения. А для неискушенного пользователя - это почти неподъемно. Excel нужен для использования различных сортировок, автофильтров и т.д., что затруднительно сделать в html.
Забирать из нескольких форм, говорите... Попробуем.
Что касается автоформатирония в Excel (преобразования величин в даты), то и тут попробуем что-нить придумать в скором времени.
Вот последние обновления:
++Исправлено отображение шрифтов в HTML
++Можно использовать кеш кнопки "Поиск". Т.е. "Поиск" ищет, а "... отчет" уже использует ее результаты.
++Показываем пользователю сколько нашли записей и спрашиваем, будем ли строить. На тот случай, если уж очень много записей в отчет случайно попадет.
Автор: oshmianski 26:06:2006, 08:16
По поводу кривоты отображения данных в Excel отчетах.
Господа, поделитесь кто как решал такие грабли!!!
Вот мои предложения:
1. в свойстве всех ячеек поставить их формат как текстовый, т.е.
...
xlSheet.Cells.Select
[b].Selection.NumberFormat = "@"[/b]
xlSheet.Cells.EntireColumn.AutoFit
xlSheet.Rows("1:1").Select
.Selection.Font.Bold = True
xlSheet.Range("A1").Select
.Visible=True
...
Здесь была таки замечена грабля с датой. Excel (Office 2003) ее переколбашивал в числовое значение.
2. перед вставкой значения в ячейку добавлять к нему спереди апостроф ('). Excel тогда железно воспринимает значение как текст и ничего не пытается с ним сделать. Для пользователя не заметно, но тогда Excel (Office 2003) сортирует числовые столбцы как текст.
Автор: allex 26:06:2006, 10:18
Цитата(oshmianski @ 26:06:2006, 09:37 )

Вот последние обновления:
++Исправлено отображение шрифтов в HTML
++Можно использовать кеш кнопки "Поиск". Т.е. "Поиск" ищет, а "... отчет" уже использует ее результаты.
++Показываем пользователю сколько нашли записей и спрашиваем, будем ли строить. На тот случай, если уж очень много записей в отчет случайно попадет.
Вылетает с ошибкой. В ходе эксперементов,выяснилось что в запросе дата должна быть без времени
Автор: oshmianski 26:06:2006, 10:49
Цитата(allex @ 26:06:2006, 11:18 )

Вылетает с ошибкой. В ходе эксперементов,выяснилось что в запросе дата должна быть без времени
Да, есть такая фигня (была с самого начала). Я оставлял это на откуп FTSearch.
Автор: allex 26:06:2006, 11:21
Цитата(oshmianski @ 26:06:2006, 13:49 )

Да, есть такая фигня (была с самого начала). Я оставлял это на откуп FTSearch.
А если сделать проверку на тип поля. И если это дата то отсекать пробел и время
Автор: oshmianski 26:06:2006, 15:47
Уважаемые, подскажите, плс, как правильно формировать XML файлик, дайте ссылку.
Никогда этим не занимался. Нашел книжку, почитал.
Что у меня получается. В IE 6, Opera 8,5 - 9, Mozilla 1.4a на валидность проходит. В Ms Access 2003 ипортируется как отдельные несвязанные таблицы.
Вот примерное содержание файлика на выходе:
Цитата
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xmlreport [
<!ELEMENT document (unid+, field+)>
<!ELEMENT field (name+, value+)>
]>
<xmlreport>
<document>
<unid>DFE404EB1508B2EFC2256BE400425D0F</unid>
<field>
<name>Subject</name>
<value>PLAN01</value>
</field>
<field>
<name>CreatorFullName</name>
<value>Винцелович Сергей Иванович</value>
</field>
<field>
<name>Vozvrat</name>
<value>4</value>
</field>
...
</document>
...
</xmlreport>
Чего не хватает, что лишнее?
Если чего не так, пишите!
Автор: Max_from_UA 27:06:2006, 09:02
Я и сам никогда в хмл не формировал, так что толкового ,к сожалению, не посоветую, но могу предложить спросить на форуме ИнтерТраста ]]>http://forum.codeby.net/go.php?http://www.inttrust.ru/site3/forum.nsf/start?OpenPage]]> . Тут в основном не скупятся на ответы.
Или посетите форум ]]>http://forum.codeby.net/go.php?http://forum.sysadmins.ru/]]> .
Может и там повезти с ответом.
Автор: osmor 27:06:2006, 09:19
Спасибо ув. oshmianski за такое полезное начинание.
Очень я вдохновился посмотрев его базу, и решил внести свою маленький вклад.
Вашему вниманию предлагается базка для импотра данных из Excel в Lotus.
Прошу сильно не бить, в Lotus пограммировании я новичок.
Часть кода уперта из базы "отчетов", еще раз спасибо oshmianski :-)
С брагодарностью приму ЛЮБЫЕ замечания, в том числе и по стилю программирования (на до же учиться делать правильно)
Автор: Lexa-xa 27:06:2006, 09:29
Ув. oshmianski.
При выборе источника, указывается путь начиная с левого пробела, видимо все что справа отбрасывается.
Т.е. если источник находится по адресу "My Bases\Templates.nsf",
то заносится значение "Bases\Templates.nsf".
Все равно Молодец.
Автор: oshmianski 27:06:2006, 09:45
Цитата(Lexa-xa @ 27:06:2006, 10:29 )

Ув. oshmianski.
При выборе источника, указывается путь начиная с левого пробела, видимо все что справа отбрасывается.
Т.е. если источник находится по адресу "My Bases\Templates.nsf",
то заносится значение "Bases\Templates.nsf".
Все равно Молодец.
Спасибо, давно хотел переписать. Теперь не откручусь
Автор: allex 27:06:2006, 10:32
Цитата(osmor @ 27:06:2006, 12:19 )

Вашему вниманию предлагается базка для импотра данных из Excel в Lotus.
А что за причина если у меня во вкладке "Соответствие полей" таблицы не видно ни чего
Автор: allex 27:06:2006, 10:52
Все разобрался
Дополнение к импорту. Производить импорт выбранного листа в одну форму. И назначить соответствие каждой ячейки для каждого поля
Автор: osmor 27:06:2006, 11:06
Цитата(allex @ 27:06:2006, 13:52 )

Все разобрался
Дополнение к импорту. Производить импорт выбранного листа в одну форму. И назначить соответствие каждой ячейки для каждого поля
т.е. в весь лист в один документ?
Автор: oshmianski 27:06:2006, 11:38
Изменения:
++если тип значения условия "дата", то значение усекается только до даты (событие Exiting поля). если значение = формула, преобразование проопускается.
++XML отчет (пробная версия). пытается открыться в броузере по-умолчанию.
++при построении Excel отчета учитывается тип данных в колонке: чило преобразуется к формату 0,00; все остальные типы - к тексту (есть закомментаренный код для преобразования к формату дата в зависимоти от локализации MS. но у меня все равно иногда кривота, потому как дата бывает 01.2001, а бывает 01.01.2001. если есть соображения, пишите).
++ProgressBar при обработке коллекции документов. Подпись на англицком, потому как русский шрифт криво отображает (если кто знает как побороть, пишите). По завершению выдаем сообщение пользователю.
Автор: allex 28:06:2006, 04:43
Так если формула и тип "дата" то все равно же будет со временем показываться
Автор: oshmianski 28:06:2006, 06:37
Цитата(allex @ 28:06:2006, 05:43 )

Так если формула и тип "дата" то все равно же будет со временем показываться
Да, формулы вычисляются в момент формирования строки запроса. Если только еще и в этот момент делать "обрезание"... А можно поинтересоваться, что мешает сделать примерно вот так @date(@Now)? Вот Вам дата и без времени.
Изменения:
++ProgressBar русифицирован. Огромное спасибо Osmor!!!
++Добавлено на форму ReportTemplate поле RealAuthor, авторское. Были замечены проблемы с доступом. Я всех пользователей в бд пускаю как авторов.
++Удалены неиспользующиеся (думал пригодится, ан нет) виды и форма конфигурации.
++Переписан механизм (на LS) выбора бд в источнике. Спасибо Lexa-xa!!!
Автор: Max_from_UA 30:06:2006, 09:06
Планируется ли добавить в Ваш проект графическое отображение данных (диаграммы, графики, гистокраммы, круговые диаграммы) для отчётов?
Автор: oshmianski 30:06:2006, 09:20
Цитата(Max_from_UA @ 30:06:2006, 10:06 )

Планируется ли добавить в Ваш проект графическое отображение данных (диаграммы, графики, гистокраммы, круговые диаграммы) для отчётов?
что касается Excel, то не вопрос, можно. могут только вопросы возникнуть с разными версиями MS Office.
на выходных запробуем чего-нить нарисовать
Автор: Hedg 30:06:2006, 14:38
Насчёт портирования в MS Word, нарыл когда-то примерчик с использованием шаблонов, единственный минус для каждого типа документа нужно создавать свой шаблон. Нашёл где-то тут ]]>http://forum.codeby.net/go.php?http://www-10.lotus.com/ldd/sandbox.nsf]]>
Автор: oshmianski 30:06:2006, 19:22
Цитата(Hedg @ 30:06:2006, 15:38 )

Насчёт портирования в MS Word, нарыл когда-то примерчик с использованием шаблонов, единственный минус для каждого типа документа нужно создавать свой шаблон. Нашёл где-то тут ]]>http://forum.codeby.net/go.php?http://www-10.lotus.com/ldd/sandbox.nsf]]>
Спасибо за примерчик. Я вот что думаю... Если таки использовать выгрузку в Excel. Т.е. выгружаем в Excel, потом загружаем Word, копируем в Excel табличку, вставляем Word, закрываем Excel и открываем Word. Плюсы в том, что механизм выгрузки в Excel уже написан. Минусы - съедаем оперативку, механизм миграции таблицы Excel вWord неконтролируем.
Какие соображения будут у почтенной публики?
Автор: nor 1:07:2006, 16:58
а зачем ворд вообще нужен?
Автор: allex 3:07:2006, 05:17
2 oshmianski
А отбор по нескольким формам реализовать реально ?
Автор: oshmianski 3:07:2006, 09:24
Цитата(allex @ 3:07:2006, 06:17 )

2 oshmianski
А отбор по нескольким формам реализовать реально ?
Все реально. На сколько это критично? Просто, ребята, сейчас я таки пытаюсь насладиться радостями отпуска. В конце июля думаю, может чего новенького покажу.
Автор: allex 3:07:2006, 12:18
Цитата(oshmianski @ 3:07:2006, 12:24 )

Просто, ребята, сейчас я таки пытаюсь насладиться радостями отпуска. В конце июля думаю, может чего новенького покажу.
Это святое
Цитата(oshmianski @ 3:07:2006, 12:24 )

На сколько это критично?
Необходимо
Автор: fedotxxl 16:08:2006, 09:24
Как работа над проектом? Забыта?
У меня несколько предложений, интересно как вы к ним отнесетесь:
1. Забирать документы из вьюка, при помощи NotesViewNavigator
2. Сделать документы - шаблоны, которые будут определять вид отчета (в основном в экселе)
Вобщем-то, от делать нечего, я реализую второе... единственная проблема... Если у меня поменялась настройка отображения столбца, мне нужно зайти в источник, переоткрыть шаблон столбца для какого-либо столбца, сохранить, открыть отчет, переоткрыть в нем источник, сохранить и только тогда изменения приймут силу... Я просто не стал вносить изменения в структуру работы, решил добавить парочку функций в класс... Поэтому все обновляется в бэкэнде...
Что думаете?
Автор: oshmianski 17:08:2006, 09:44
Цитата(fedotxxl @ 16:08:2006, 11:24 )

Как работа над проектом? Забыта?
Не забыта, но сейчас нет особо свободного времени.
Цитата(fedotxxl @ 16:08:2006, 11:24 )

У меня несколько предложений, интересно как вы к ним отнесетесь:
1. Забирать документы из вьюка, при помощи NotesViewNavigator
Я так понял, что в качестве источника предлагается использовать вьюху?
Зачем использовать NotesViewNavigator?
Цитата(fedotxxl @ 16:08:2006, 11:24 )

2. Сделать документы - шаблоны, которые будут определять вид отчета (в основном в экселе)
Вобщем-то, от делать нечего, я реализую второе... единственная проблема... Если у меня поменялась настройка отображения столбца, мне нужно зайти в источник, переоткрыть шаблон столбца для какого-либо столбца, сохранить, открыть отчет, переоткрыть в нем источник, сохранить и только тогда изменения приймут силу... Я просто не стал вносить изменения в структуру работы, решил добавить парочку функций в класс... Поэтому все обновляется в бэкэнде...
Что думаете?
Ничего не понял. Как планируется использования шаблона?
Автор: fedotxxl 18:08:2006, 14:45
Для: oshmianski
1. Для ориентирования во вьюхе. Можно будет брать несколько категорий первого категоризированного столбца, например.... Также можно будет сделать простой отбор по вьюхе... Будут браться значения не из документов, а из строк вьюхи
2. Я сделал так:
а) Элемент дизайна, который отвечает за отображение столбцов
б) За отображение воркшита.
В целом это документы, которые устанавливают правила оторбажения... а в скрипте, при генерации отчета, происходит их обработка
Автор: fedotxxl 24:08:2006, 11:11
Моя версия.... Основное:
- Шблоны распространяются только на отчет Excel
- Все данные грузятся "по нажатии на конпку". Нет автомотического подгруза данных
- Настройки "взаимоподменяемы". Как создается отчет можно наглядно видеть, если задать генерить отчет на 500-600 документов - настройки "накладываются" друг на друга
Пожалуйста все недоработки (там их куча наверняка), ошибки возникающие (в какой строчке... какие данные) пишите.
Автор: oshmianski 25:08:2006, 07:56
Цитата(fedotxxl @ 24:08:2006, 13:11 )

Моя версия.... Основное:
- Шблоны распространяются только на отчет Excel
- Все данные грузятся "по нажатии на конпку". Нет автомотического подгруза данных
- Настройки "взаимоподменяемы". Как создается отчет можно наглядно видеть, если задать генерить отчет на 500-600 документов - настройки "накладываются" друг на друга
Пожалуйста все недоработки (там их куча наверняка), ошибки возникающие (в какой строчке... какие данные) пишите.
забрал, смотрю
Автор: oshmianski 25:08:2006, 09:46
1. в функции SetReportTemplate
...
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
Вот вроде и все. Спасибо за продолжение.
Автор: fedotxxl 25:08:2006, 11:09
1. Да, эту ошибку я заметил давно. Мне почему-то показалось, что её сделал не я, а ты. Я в большинстве случаев копировал код.... Наверно я напудрил...
2. Но ведь у тебя же источник берется не из документа источника, а из документа, из которого строится отчет. Так жить проще...
3. Для отладки
4. Для отладки. Конечно уберем потом
Мне сейчас хочется сделать проверку на корректность заполнения шаблонов... неплохо бы сделать шаблоны по-умолчанию... только как это лучше сделать?...
У меня вопрос... зачем такие конструкции
Цитата
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...
Автор: oshmianski 25:08:2006, 11:38
1. хм, не буду утверждать что-то конкретное. главное, что разобрались
2. да, согласен, я жестко прошиваю, но. источик потенциально практически не меняется в отчете, а вот его отображение (форматирование) может. я, например, сразу захотел поэкспериментировать. и получается, что сменил одно значение в шаблоне и нужно перевыбирать источник или формат поля в источнике, а потом источник. согласен так жить программеру проще, но, имхо, шкурка выделки стоит, даже для тебя самого.
Цитата(fedotxxl @ 25:08:2006, 13:09 )

Мне сейчас хочется сделать проверку на корректность заполнения шаблонов... неплохо бы сделать шаблоны по-умолчанию... только как это лучше сделать?...
Я вижу два пути:
а) сделать дефолтовые доки шаблонов, скрыть их от пользователей и использовать по-умолчанию
б) в скрипте забить дефолтовый массив
Цитата(fedotxxl @ 25:08:2006, 13:09 )

У меня вопрос... зачем такие конструкции
Set i = doc.ReplaceItemValue...
Где-то когда-то на каком-то форуме, на интертрасте что ли, читал сабж по этому поводу и решил, что буду использовать конструкции типа ReplaceItemValue и GetItemValue. Видишь ли, если использовать упрощенные конструкции, то можно запутаться, ибо наименоване полей могут совпадать (или почти совпадать) с различными стандартными методами и свойствами. Кроме того, считаю, что это более грамотным с точки зрения красивости программировани. Но, как и все смертные, часто ленюсь
]]>http://forum.codeby.net/go.php?http://forum.codeby.net/style_images/1/folder_post_icons/icon1.gif
]]>.
Автор: fedotxxl 25:08:2006, 12:12
Цитата
Где-то когда-то на каком-то форуме, на интертрасте что ли, читал сабж по этому поводу и решил, что буду использовать конструкции типа ReplaceItemValue и GetItemValue. Видишь ли, если использовать эти упрощенные конструкции, то можно запутаться, ибо наименоване полей могут совпадать (или почти совпадать) с различными стандартными методами и свойствами. Кроме того, считаю, что это более грамотным с точки зрения красивости программировани. Но, как и все смертные, часто ленюсь ]]>http://forum.codeby.net/go.php?http://forum.codeby.net/style_images/1/fol...icons/icon1.gif]]>.
Ничего не понял... Тебе проще и красивее написать
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", "")
Автор: oshmianski 25:08:2006, 12:38
Цитата(fedotxxl @ 25:08:2006, 14:12 )

Ничего не понял... Тебе проще и красивее написать
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)
Автор: oshmianski 25:08:2006, 14:28
!!!Если в отчете поперемещать показатели вверх-вниз, то в Excel отчете заголовки столбцов путаются!!!
Автор: fedotxxl 28:08:2006, 06:58
Для: oshmianski
У меня все ок
Автор: allex 28:08:2006, 08:39
У меня не лучшие впечатления.
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
У меня не лучшие впечатления.
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Идея сама по себе хорошая. Но зачем было делать алиасы для полей (по ним же отбор не идет)
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Я думаю,что сначала нужно сделать скелет а потом бантики прикручивать (это не моя критика, просто считаю так было бы лучше).
Автор: oshmianski 28:08:2006, 08:52
Цитата(allex @ 28:08:2006, 10:39 )

...
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
...
начал работу. завтра (если не случиться ничего сверхъестественного) выскажу основные соображения по этому поводу.
Автор: fedotxxl 28:08:2006, 08:54
Для: allex
Цитата
Теже ошибки что перечислил ув. oshmianski 25:08:2006, 12:46
Часть исправлена, часть оставлена
Цитата
Но зачем было делать алиасы для полей (по ним же отбор не идет)
Если это то, что я думаю - для отображения в хидере
Цитата
И все же хотелось бы увидеть в данном проекте отбор по нескольким формам.
Мое мнение - unreal. По мне проще сделать отображение по вьюку. Там и форм сколько угодно, и настраивать проще...
Для:
oshmianskiЯ вот думаю, зачем тип столбца? Я бы лучше сделал функцию воздействия на информацию @ функциями... Предположим у нас альт имена... мы на инфу @names([CN];...)... Только как... Evaluate?
Автор: oshmianski 28:08:2006, 09:20
Цитата(fedotxxl @ 28:08:2006, 10:54 )

Для: oshmianski
Я вот думаю, зачем тип столбца? Я бы лучше сделал функцию воздействия на информацию @ функциями... Предположим у нас альт имена... мы на инфу @names([CN];...)... Только как... Evaluate?
Не путай тип, который используется для организации отбора, и тип для отображения данных.
Согласен, проект можно развивать дальше на предмет настройки отображения данных в отчетах.
Первая необходимость уже есть - форматирование данных. А еще что-нибудь на ум приходит?
Автор: fedotxxl 28:08:2006, 09:59
Обновленная версия... Исправил ошибку 1, "ошибку" 3. Небольшие эстетические усовершенствования. Сделал наброски для отбора по представлению (генерацию Excel отчета не трогал).
Цитата
!!!Если в отчете поперемещать показатели вверх-вниз, то в Excel отчете заголовки столбцов путаются!!!
Проверь плс в этой версии
Автор: oshmianski 29:08:2006, 09:52
вот тестовый вариант бд, в которой можно выбрать до 3-х форм.
пока не добавлены доработки fedotxxl.
особенности:
1. пока реализован сброс данных только в Excel
2. для того, чтобы все источники попали в строку запроса, они должны присутствовать в Условии отбора (можно даже без полей).
жду пожеланий
Автор: fedotxxl 29:08:2006, 10:13
Для: oshmianski
Если все источники должны находится на одном серевере и в одной базе, то, мне кажется, основоной смысл отчетов по нескольким источникам теряется...
Автор: oshmianski 29:08:2006, 10:35
Цитата(fedotxxl @ 29:08:2006, 12:13 )

Для: oshmianski
Если все источники должны находится на одном серевере и в одной базе, то, мне кажется, основоной смысл отчетов по нескольким источникам теряется...
в данном случае под разными источниками понимается разные формы из одной бд.
ребята, я ни на чем не настаиваю. просто предлагаю такой вариант. дело в том, что проект расчитан на неопытного пользователя, и не особо хочется его усложнять. я видел похожие проекты, в которых сам еле разбирался (может даже не на все 100%), или просто отбрасывал, как слишком сложные.
это предоложение эмулирует (ну или почти) стандартную лотусовую вьюху в дизайнере. все источники должны находится в одной бд, т.к. FTSearch идет по одной бд. FTSearch = Form Formula. вот, в принципе такая идея.
зы: проект вообще задумывался как эмулятор дизайнера вьюхи для пользователя с возможностью выгрузки в сторонние приложения, как то IE, Excel, XML.
Автор: fedotxxl 29:08:2006, 13:08
Думаю нужно вот что сделать твердо, а дальше натягивать дизайн
Цитата
1. Возможность отбора данных в ячейку по полю и по формуле
2. Возможность отображения на один документ нескольких строк
3. Отбор документов из нескольких баз
4. Прием извне DocCollection (например из какого-нить вьюка UnprocessedDocuments), соотв. проверка и обработка
Я что-то не смог придумать ситуацию, когда нужно использовать отбор документов когда поле содержит что-то, что вычисляется по формуле...
Автор: allex 1:07:2008, 07:56
Цитата(fedotxxl @ 29:08:2006, 16:08 )

Я что-то не смог придумать ситуацию, когда нужно использовать отбор документов когда поле содержит что-то
Ну например, мы имеем документооборот--->
срок исполнения и
фактическую дату исполнения.
Как отобрать документы в которых
фактическая дата исполнения пустая.
Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)