Автор |
Тема: Подскажите (Прочитано 28461 раз) |
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 874
|
попробуйте F и L задать полно, т.е. укажите F=yc*100+1.01 L=yc*100+1.03 ПРОВЕРИМ: F:^^^^^^^^^F^^^ L:^^^^^^^^^L^^^ REWIND ... ...
|
|
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Этот трюк пробовал, ничего не меняло, в старом году также работало нормально в новом глюк. **ОФ для проверки YC=2013.00 ПРОВЕРИМ: F: 201301.010 L: 201301.030 Вроде нормально выдает Цикл на FOR взял...
|
« Изменён в : 25.01.13 в 16:35:06 пользователем: VLV » |
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Да, все включено
|
« Изменён в : 25.01.13 в 16:16:42 пользователем: VLV » |
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Без fastfact Работает! Но без быстрых фактов жить не очень. Сказал бы...совсем не очень...
|
« Изменён в : 25.01.13 в 16:52:36 пользователем: VLV » |
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Спасибо огромное. Надеюсь сочтут эту ошибку критичной и ждать придется не долго Есть база, где нет возможности ускорить разделение годов. И еще прошу учесть, что и в обычной программе за весь месяц бывает очень долго считает, не разбиралься, но думаю причина эта же. А с НЕ быстрыми фактами тоже очень долго эта форма считает, и с ней уже масса не таких зацикленных...вынесет мозг Когда не касалось торговли как-то не сильно это мучало...А вот с розницей вылезло...и наименований то у меня всего тыс. 10-15. С уважением, Владимир.
|
« Изменён в : 25.01.13 в 17:04:27 пользователем: VLV » |
Зарегистрирован |
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 874
|
on 25.01.13 в 17:01:36, VLV wrote:.. И еще прошу учесть, что и в обычной программе за весь месяц бывает очень долго считает, не разбиралься, но думаю причина эта же. .. |
| Ведь есть % !!! С этой штукой грех не "вылизать" алгоритмы. Пользую обычные факты, ведь милая вещь! Быстрыми фактами не пользовался, не пользуюсь и вряд ли придёться. Не помню здесь разбора-решения задачи, где была бы показана сила быстрых фактов. Может потрудитесь, да выложите к разбору?
|
|
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote:Может потрудитесь, да выложите к разбору? |
| Ну сила, брат, в скорости Раз есть механизм фактов, то и их быстрота будет востребована. Если серьезно, то нет особо мудреных подходов. А у полубухов всегда проблемы со временем на дополнительное «вылизывание» алгоритмов. По-этому что вырастает то вырастает. На данный момент у бухов по участкам прижились формы со списком приходных и расходных документов по подразделению, по заказчикам, по поставщикам. Построено на фактах. Подход такой, например, для формы «Заказчики»: ******* * ОФ ******* Начало Подключить переходы по энтер и функциональным клавишам к документам в различных форматах (CLW(для Dos-качества), KLFF(для Win-качества)) Почесть в sed-массив ленту фактов отгрузок Свернуть ленту в массиве по номеру документа Прочесть в sed-массив ленту фактов поступления оплат Сортировать sed-массив по дате Вывести содержимое sed-массива на экран(далее печатные формы через функциональные клавиши). Конец. ******* По-моему подобный подход напрашивается прям из спецификации языка ФБП и Америки не открывает. Пользователям понравилось «висеть» в этих формах. C включенными быстрыми фактами разница в скорости почти на порядок (1-2 сек, против 10 сек) особенно заметно, если пределы ставят больше месяца. Если для мест учета ТМЦ помогает принудительный запрет на работу с периодом больше месяца, то для работы с заказчиками этого мало. Кстати тут существует проблема. Не знаю…может у меня и не так что-то сделано, но пока выполняется(обновляется) такая форма другие формы в это время ждут даже если режим «дуал». И те кто работает, например, на участке путевых листов(Рабочее место на KLFF, ввод в реальном времени и нет медленных Оф-скриптов) жалуются на скорость. Причина в том что они ждут очереди перерасчета других форм. Эти жалобы более частые при работе с переходной программой. Как оказывается во многом из-за обнаруженной проблемы с rewind facts. А если форма совсем подвисла минут на 30, пусть и по ошибке оператора, то вообще нет способа кроме перезагрузки сервера FWP ее остановить. Здесь не помешала бы какая нибудь директивка серверу. Или я чот в мануале не дочитал? Еще один момент обсуждался лет несколько назад. Периоды обновления в клиенте (1, 2, 5 сек) желательно бы иметь с шагом поменьше в этом диапазоне. Можно заметно улучшить ситуацию настройкой этих параметров. Ну вот так в общих чертах. С уважением, Владимир.
|
« Изменён в : 28.01.13 в 13:37:23 пользователем: VLV » |
Зарегистрирован |
|
|
|
BBBB
Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 89
|
on 28.01.13 в 09:41:22, VLV wrote:Ну сила, брат, в скорости ... А если форма совсем подвисла минут на 30, пусть и по ошибке оператора, то вообще нет способа кроме перезагрузки сервера FWP ее остановить. Здесь не помешала бы какая нибудь директивка серверу. Или я чот в мануале не дочитал? ... |
| А директива В - не помогает? (Диpектива B позволяет пpеpвать выполнение зациклившейся или долго pаботающей фоpмы. Особенно полезна эта диpектива пpи отладке новых фоpм из Клиента.)
|
|
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote:А директива В - не помогает? |
| Вот, кстати, помогает! Не все дочитал в мануале А еще, кстати, что пока форма висит клиент не регится...так что если пользователь запаниковал и отключился...то снова крестик... А еще...если сервер подвис на ошибке то клиент не загрузить и в журнал с ошибкой не войти....через однопользователя? или Как? Ну ет , канешна, мелочи...вот бы с rewind дело поправить...а то разговоры про многозадачность внутри сервера для выполнения форм...представляю что дело не быстрое...
|
« Изменён в : 28.01.13 в 13:00:43 пользователем: VLV » |
Зарегистрирован |
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 874
|
//BK 20130107 Формы, которые долго выполняются. Часто сталкиваемся с ситуацией, когда кем-либо опрометчиво запускается форма(F_VISIT.RPT), которая выполняется долго, или вдруг зациклилась, опрометчиво, конечно в том плане, что чаще пользователь знает, что эту форму лучше запустить в монополе или просто в обед и т.к.д и т.п., але.. форма "висит" на мнемосхеме и держит запросы от остальных. Пользователь досадно нажимает "Esc" или "крестик", окно закрывается и по логике все ждут отбоя, а форма продолжает "висеть" и никто не может работать. Вызывают админа или сами дают директиву >B F_VISIT и сервер наконец разгружается. Теперь клиент следит за ситуацией и в таких случаях вместе с нажатием "Esc" или "крестик" шлет автоматом ту же директиву >B и всё быстро нормализуется и даже в случае запуска форм по директиве G не очень аккуратным админом или настройщиком клиент также выручит без проблем. Автозакрытие по #CLOSE следом за запущенной формой также обыграно, т.е. запущенную форму выше "отбивать" не будем, т.к. в сценариях с автозакрытием предполагается обязательное ожидание выполнения формы. Рекомендую взять на вооружение всем альтернативным клиентам, конечно, если у Вас, это - ещё не реализовано. ------------------------------- Это по поводу >B Планируется в скором времнени свежий релиз клиента. Если есть вопросы или пожелания, то плз. Постараюсь учесть. По поводу фактов и быстрых, то на ПП было много сказано об однопроходности ленты фактов, вот если у Вас такое в форме выдерживается и Вы все равно идете на быстрые, то мои извинения.
|
« Изменён в : 28.01.13 в 17:39:24 пользователем: Boris, Kiev. » |
Зарегистрирован |
|
|
|
Denis, Dnepropetrovsk
Я люблю этот Форум!
Просмотреть Профиль | E-мэйл
Сообщений: 129
|
on 28.01.13 в 09:41:22, VLV wrote: Ну сила, брат, в скорости Раз есть механизм фактов, то и их быстрота будет востребована. Если серьезно, то нет особо мудреных подходов. А у полубухов всегда проблемы со временем на дополнительное «вылизывание» алгоритмов. По-этому что вырастает то вырастает. На данный момент у бухов по участкам прижились формы со списком приходных и расходных документов по подразделению, по заказчикам, по поставщикам. Построено на фактах. Подход такой, например, для формы «Заказчики»: ******* * ОФ ******* Начало Подключить переходы по энтер и функциональным клавишам к документам в различных форматах (CLW(для Dos-качества), KLFF(для Win-качества)) Почесть в sed-массив ленту фактов отгрузок Свернуть ленту в массиве по номеру документа Прочесть в sed-массив ленту фактов поступления оплат Сортировать sed-массив по дате Вывести содержимое sed-массива на экран(далее печатные формы через функциональные клавиши). Конец. ******* |
| Подобный подход не оптимальный в плане скорости выполнения формы. Вы используете тут самые медленные функции в ФБП.. Попробуйте сначала читая ленту фактов создать в [set %,... [plus %,... массиве сразу все что вам нужно для вывода на экран... Потом подключите переходы по энтер и функциональным клавишам (максимум 10 строк типа N:ENTER:R OBRABOTCHIK ·#1·#2·#3·#4·#5·#6·#7·#8·#9·) Затем выводите все на экран При таком подходе опция быстрые факты не нужна, а скорость выполнения формы вряд ли превысит 0,1 сек. Я думаю, что ускорение выполнения форм на порядок, стоит затрат времени на вылизывание алгоритмов PS. Готов переделать любую Вашу форму по такому подходу, чтобы Вы смогли ее протестировать PSS. По поводу автообновления: Если у Вас все клиенты работают в режиме "автообновление списков: все" советую переключить в режим "автообновление списков: списки". Тогда висящие формы не будут пересчитываться при каждом изменении upti в каталоге обмена, что ощутимо ускорит общую работу
|
« Изменён в : 28.01.13 в 18:04:32 пользователем: Denis, Dnepropetrovsk » |
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote:Подобный подход не оптимальный в плане скорости выполнения формы. Вы используете тут самые медленные функции в ФБП.. Попробуйте сначала читая ленту фактов создать в [set %,... [plus %,... |
| Вся кухня у меня опирается на двумерный массив, запись/чтение(а также ряд операций типа сортировки, форматрования и тп) в который реализовано библиотечными функциями. Перейти к set мне дело быстрое, переименую функции и готово...Изначально по этому пути и шел. Однако... 1) К подходу на sed пришел после обсуждения в разделе "CLW и Первичные документы" от 15.12.05...и далее. 2) Из-за описанных проблем(ссылка в первом пункте) строил на sed работу от документа в учете в розничном магазине (ФБП+КлиентФорм). И если бы несколько мелочей в Сервере и КлиентеФорм, которые не позволили АРМ кассира реализовать, был бы вообще доволен. Вообщем меня направили и я пошел по sed пути. А однообразие в подходах для меня еще и существенная экономия времени...ибо не программист. 3) Никакой подход не избежит использования rewind. Ошибка имеет место быть и, надеюсь, будет устранена. С нормально работающим оператором в моем размерчике все приемлемо работает и на sed. (Разве что оборотку переделаю где в цикл по счетам вложен цикл по ленте, и то если посоветуете как с сортировкой решить...Кажется В.Секретев готовое для этого решение раньше на сайте выкладывал за немножко ФБП денежек И будет ли оно быстрее еще вопрос.)
|
« Изменён в : 29.01.13 в 11:50:05 пользователем: VLV » |
Зарегистрирован |
|
|
|
|
|