Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Открыть новую тему     Написать ответ в эту тему

miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
Это целиком и полностью правильно и оправдано. Или вы рекомендуете в случае имзенения формы документа оббегать всех клиентов и каждому новый файлик записать? Особенно, если бух "ушла в банк/налоговую/еще куда" и закрыла свой кабинет, какой-нибудь инженер вечно не на месте, потому что он везде нужен, а еще какой-то менеджер срочно куда-то уехал, вернется поздно, но затем тут же сделает отчет по новой форме, чтобы завтра утречком отчитаться.
 
 Да и обозвать пару килобайт тонной говна, которая забивает сеть - это вы слегка погорячились. Ну и насчет того, что формы документов меняются не так уж часто - тоже, к сожалению.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 16:21 12-07-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa
Просто нужно нормальную обновлялку к своей проге прикрутить.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 16:56 12-07-2012
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa
для этого придумали систему обновлений...которая обновляет файлы тогда когда это надо...а не постоянно..это раз...во вторых даже ваши несколько кб будут ну очень долго вытягиваться если сеть будет занята...и с учетом того что в нормальном проекте пару сотен отчетов...
 
но хозяин-барин...кому как удобней...поэтому я 1с и не взлюбил..так как при ограниченном канале она вытягивает данные с сервера по пол часа

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 16:56 12-07-2012
AnGo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid

Цитата:
.и с учетом того что в нормальном проекте пару сотен отчетов...

И что, они все одновременно тянутся на клиентов?
Мне как-то тоже не по душе, обновлять все эти шаблоны на всех клиентах.  
Это во-первых.
И во-вторых, видимо это сильно зависит от масштаба проекта, на полусотне станций, не замечал тормозов, хотя может было бы и правильным профайлером посмотреть, где, как и что.
В-третьих. 1С не в коем случае нельзя рассматривать как образец реализации. ИМХО, конечно.

Всего записей: 1078 | Зарегистр. 07-07-2002 | Отправлено: 18:07 12-07-2012
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins

Цитата:
Просто нужно нормальную обновлялку к своей проге прикрутить.

«Нормальной обновлялке» позволено держать в базе данных то, что она обновляет? Или для этого годится только smb/ftp/http?
 
mdid

Цитата:
для этого придумали систему обновлений...которая обновляет файлы тогда когда это надо...а не постоянно

См. предыдущий абзац.
 

Цитата:
во вторых даже ваши несколько кб будут ну очень долго вытягиваться если сеть будет занята

Так, просветите, у нас все еще 2012 год и как минимум 100-мегабитные локальные сети повсюду? Если да и у вас медленно тянутся пару килобайт, мой вам совет - найдите сетевого администратора.
 

Цитата:
и с учетом того что в нормальном проекте пару сотен отчетов...  

... которые никогда не нужны клиенту одновременно, то 1000 отчетов размером по 50 килобайт каждый будут передаваться из сервера на клиет целых 0.4 секунды. Да, тормоза дичайшие, куда уж.
 

Цитата:
поэтому я 1с и не взлюбил..так как при ограниченном канале она вытягивает данные с сервера по пол часа

При чем тут вообще 1С? Если кто-то не смог реализовать нормальную работу сетевого приложения, это не значит, что сетевые приложения суть зло.
 
А 1С вообще-то всегда тянет на клиента все данные из всех таблиц, которые упоминаются в запросе, что является одной из причин ее неадекватных требований к железу.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 18:55 12-07-2012
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa
ваше право..фломастеры на вкус разные...я раньше тоже так думал пока не попал на работу в одно предприятие...там передача данных осуществлялась через спутник..и мы были предельно счастливы когда задержка пинга была в 1 секунду..а в среднем 1,5-3...иногда даже таймаута в 30секунд не хватало если много клиентов...и сделано это было исключительно в целях безопастности..так как правилами безопасности категорически было запрещено юзать городские сети...и это при том что у нас 50мбит стоит чуть больше 6 уе....и вот после этого я начал делать максимально оптимизированный код...не надо - не фиг качать...так как проект изначально тоже писался под 100мбит...а жизнь повернулась так что пришлось работать в 256кбит и считать каждый переданный байт....думаю спор бессмыслен так как цели и возможности у всех разные

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 19:25 12-07-2012
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
Полностью с вами согласен и насчет фломастеров и насчет целей с возможностями. Думаю, у нас просто возникло непонимание пары нюансов. Я нигде не говорил и не подразумевал, что отчет надо вытягивать каждый раз с базы данных. Никто не запрещает хранить у себя локальную копию и обновлять ее в случае, если в базе есть более новая версия. Но ведь изначальный вопросс от X11 был не про то, где лучше хранить репорты, а про то, как их записать в базу данных при нужде.  
 
Вот вам и схема работы: ответственный человек нажымает кнопку "Редактировать отчет", делает необходимые правки и - как раз о чем и был изначальный вопросс - сохраняет изменения в базу данных. Клиентское приложение в момент, когда надо использовать соответствующий отчет, сверяет версию (или дату изменения) локальной копии и той, что в базе данных. В случае совпадения версий - использует локальную же копию; в случае если в базе данных версия новее - скачивает ее и сохраняет у себя.
 
P.S. Именно это я и имел в виду, когда спрашивал, позволено ли нормальной обновлялке получать обновления с базы данных, а не из внешних (по отношению к базе данных) источников.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 21:42 12-07-2012 | Исправлено: miwa, 21:43 12-07-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
«Нормальной обновлялке» позволено держать в базе данных то, что она обновляет? Или для этого годится только smb/ftp/http?  

Это уж как напишете. У меня сейчас smb, а на удаленный склад прокинут vpn. В базе я стараюсь ничего тяжелого не хранить, чтобы иметь возможность каждый вечер заливать дампы баз в SVN.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:49 13-07-2012
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=3207&start=1220
я давал ссылки на рабочий код, как хранить шаблоны в базе и использовать их.
если что все в ПМ...

----------
Хочешь всего и сразу, а получаешь ничего и постепенно.

Всего записей: 516 | Зарегистр. 13-10-2004 | Отправлено: 19:00 13-07-2012
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins

Цитата:
Это уж как напишете. У меня сейчас smb, а на удаленный склад прокинут vpn. В базе я стараюсь ничего тяжелого не хранить, чтобы иметь возможность каждый вечер заливать дампы баз в SVN.

У меня гетерогенные среды; есть сети, где винды нет вообще. Поднимать ради такого дела самбу как-то не комильфо
 
Касаемо заливки дампа базы в svn - тут опять же от специфики зависит. При чем как от специфики предметной области, так и от специфики СУБД. Я, например, в SVN храню только метаданные и их объем от наличия данных в базе не зависит. А резервирование - средствами СУБД, без использования SVN.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 19:09 13-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Вывожу итоговую сумму по группе в заголовок группы:
Подробнее...
Целочисленное поле выводится нормально. С запятой выдает ошибку:
GroupHeader1: Ошибка в выражении '2259,87':';' expected
Что не так делаю?

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 12:33 25-07-2012
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Man_Without_Face
скорее всего что у вас неверный формат вывода...гляньте что стоит у компонента который выводит сумму
 

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 12:49 25-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
скорее всего что у вас неверный формат вывода...гляньте что стоит у компонента который выводит сумму  

%2.n
Пробовал вообще форматирование убрать, та же ошибка.
Не отрабатывает именно Get:
Format('%2.n', [Get(FloatToStr(<BDEQuery1."rc_sd_objectnumber">) + 'money')]);
или
Get(FloatToStr(<BDEQuery1."rc_sd_objectnumber">) + 'money');

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 12:55 25-07-2012 | Исправлено: Man_Without_Face, 12:57 25-07-2012
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня так..может поможет...
 

Код:
Set(<frxDBDataset1."GroupRN">, SUM(<frxDBDataset1."AppSum">,MasterData1,1));

 

Код:
  if (Engine.FinalPass) then
    GroupSum.Text :=Format('%2.2n',[Get(<frxDBDataset1."GroupRN">)]);

 
и формат обычный текст

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 12:59 25-07-2012 | Исправлено: mdid, 12:59 25-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
Так то и у меня отрабатывает, но мне нужно выводить три поля, т.е. должно быть три разных переменных
rc_sd_objectnumber + 'cn'
rc_sd_objectnumber + 'litr'
rc_sd_objectnumber + 'money'
 
P.S. Разобрался:
Set(inttostr(<BDEQuery1."rc_sd_objectnumber">) + 'money', SUM(<BDEQuery1."money">, MasterData1));
 
FloatToStr здесь не нужен.
 

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 13:09 25-07-2012 | Исправлено: Man_Without_Face, 13:24 25-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не срабатывает для вышеописанной задачи форматирование для целочисленных значений:
Memo23.Text := Format('%2.n', [Get(IntToStr(<BDEQuery1."rc_sd_objectnumber">) + 'cn')]);
для чисел с запятой все работает:
Memo24.Text := Format('%2.2n', [Get(FloatToStr(<BDEQuery1."rc_sd_objectnumber">) + 'litr')]);
 
Были обнаружены следующие ошибки:
Forman '%2.n' invalid or incompatible with argument

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 17:47 25-07-2012 | Исправлено: Man_Without_Face, 17:49 25-07-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с некоторого времени стала вываливатсья ошибка
Цитата:
Язык '' не найден
перекомпилил - ошибка не исчезла. появляется при загрузке отчета и при закрытии окна sql запроса.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 13:19 26-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возник такой вопрос:
Есть например пять отчетов, мне нужно их вывести в одной вьюхе, возможно ли такое? Subreports не подойдет.

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 16:58 27-07-2012
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Man_Without_Face
хз что вам надо...но наверно надо создать 6-ой отчет который будет содержать данные 5...если вам надо что бы отчеты были отдельные...делайте отдельные вьюхи...сложно что то посоветовать
neznayka3
удалите и установите заново...убедившись что выбранный язык присутствует

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 17:05 27-07-2012 | Исправлено: mdid, 17:06 27-07-2012
Man_Without_Face



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
Будет Dll с отчетами. Каждая функция будет вызывать один отчет.
Но должна быть еще и возможность (функция) загрузить все отчеты сразу для печати с предварительным просмотром, а не печатать/просматривать по одному. Причем отчеты будут выбираться, т.е. не выбранные отчеты не должны отрабатывать.
 
П.С. Вроде нашел в руководстве программиста:
Подробнее...

Всего записей: 381 | Зарегистр. 25-01-2010 | Отправлено: 17:24 27-07-2012 | Исправлено: Man_Without_Face, 17:30 27-07-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru