ФИНАНСЫ БЕЗ ПРОБЛЕМ(tm):
ПЕРЕГОВОРНЫЙ ПУНКТ II

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
15.01.25 в 10:32:26


Наш сайт | Cтаpый форум (до 08.2003 года) | Интернет-магазин & Центр загрузок |
Главная | Помощь | Поиск | Участники | Вход | Регистрация
Модифицированный Клиент CLW32:
Из документации ...
На форуме...

Использование Клиента FCM:
1. Отчетный период и журнал операций.
2. Печать.
3. Экспорт.
4. Многострочная операция.
5. Редактирование многострочных операций.
http://www.fwp-client.com

Работа с ФБП через браузер:
Настройка для лечебных учреждений, оказывающих медицинские услуги:
На форуме...
http://vasoft.ru

Технический аудит настройки.
[Читать]

ФИНАНСЫ БЕЗ ПРОБЛЕМ (сетевая) и Opencart:
предлагаем:
1. Выгрузка новых покупателей из интернет-магазина в план счетов и сохранение информации в extrd.dat.
2. Выгрузка данных о заказанном товаре и сохранение в ФБП в журнале операций, номер заказа регистрируем в плане счетов как с.счет.
3. Українська локалізація.






   Финансы без пpоблем: Пеpеговоpный Пункт II
   Пpедложения по усовеpшенствованию, сообщения об ошибках

   printstr BIGSTRING to file NF
« Предыдущая Тема | Следующая Тема »
Страниц: 1 2 3  Ответить | Уведомлять | Послать Тему | Печатать
   Автор  Тема: printstr BIGSTRING to file NF  (Прочитано 4673 раз)
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
printstr BIGSTRING to file NF
« В: 21.05.08 в 10:15:48 »
Цитировать | Править

Всё чаще приходится экспортировать для разных служб предприятий всякого рода отчётов.
При объеме свыше 10тыс. строк время на экспорт отчета в требуемых форматах(html,xml) более 2,3 минут на машинах с raid0-массивами, про менее производительные не говорю.
 
Вариаты вывода
 
 ^^ST>>file NF
 
или
 
printstr ST to file NF
 
мало чем отличаются по производительности.  
 
Кто знает на сегодня методы ускорения этих операторов?
 
Если бы родить безразмерную переменную BIGSTRING, наполнить её на финише написания формы всеми строками требуемого отчета и сказать:
 
printstr BIGSTRING to file NF
 
Интересно на сколько бы печать прошла быстрее. Huh
 
Зарегистрирован
Jhon
Гость

E-мэйл

Re: printstr BIGSTRING to file NF
« Ответить #1 В: 21.05.08 в 12:25:33 »
Цитировать | Править | Удалить

Вывод в файл столько времени не занимает.
Вероятно, задержка связана с подготовкой данных для вывода.
Простая форма, выводящая 20000 длинных строк, выполняется у нас на машине 5 сек.
Зарегистрирован
Denis, Dnepropetrovsk

***



Я люблю этот Форум!

   
Просмотреть Профиль | E-мэйл

Сообщений: 129
Re: printstr BIGSTRING to file NF
« Ответить #2 В: 21.05.08 в 14:23:46 »
Цитировать | Править

У меня тоже была такая проблема  Smiley
Возможно у Вас стоит антивирус, проверяющий открытие закрытие файла....    Попробуйте отключить проверку или выводите отчет в файл с безобидным расширением )).  Например я у себя вывожу отчет в файл *.req  Wink,  а после окончания записи переименовываю его в нужный тип *.xml *.html и т.п.
« Изменён в : 21.05.08 в 14:26:09 пользователем: Denis, Dnepropetrovsk » Зарегистрирован
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #3 В: 21.05.08 в 17:35:34 »
Цитировать | Править

on 21.05.08 в 12:25:33, Jhon wrote:
Вывод в файл столько времени не занимает.
Вероятно, задержка связана с подготовкой данных для вывода.
Простая форма, выводящая 20000 длинных строк, выполняется у нас на машине 5 сек.

 
ФБП-сервер имеет средство контроля за расходом времени по строкам формы, так что читайте руководство. Sad
 
Внимательнее читайте вопрос, речь идет о создании файла в требуемом формате(html)
Например, анализ расчетного счёта за 4 месяца занимает почти 40Мб, если спросите: "кому - это надо?", вопрос не ко мне. Excel такой отчёт загружает на той же машине более 3 минут. Shocked
Зарегистрирован
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #4 В: 21.05.08 в 17:42:48 »
Цитировать | Править

on 21.05.08 в 14:23:46, Denis, Dnepropetrovsk wrote:
У меня тоже была такая проблема  Smiley
Возможно у Вас стоит антивирус, проверяющий открытие закрытие файла....    Попробуйте отключить проверку или выводите отчет в файл с безобидным расширением )).  Например я у себя вывожу отчет в файл *.req  Wink,  а после окончания записи переименовываю его в нужный тип *.xml *.html и т.п.

Да, каждый борется по своему.
Уточню, на машине антивируса нет.
На машинах где стоят антивирусные программы требую у администраторов, чтобы все ФБП-каталоги числились в исключениях.
 
Неужели никто у нас никогда не мечтал о такой перменной(BIGSTRING). Только представьте операцию поиска.... Wink
« Изменён в : 22.05.08 в 06:29:11 пользователем: Boris, Kiev. » Зарегистрирован
Alexander_Kiev

*****





194144279 194144279    
Просмотреть Профиль | E-мэйл

Сообщений: 661
Re: printstr BIGSTRING to file NF
« Ответить #5 В: 21.05.08 в 23:37:38 »
Цитировать | Править

on 21.05.08 в 10:15:48, Boris, Kiev. wrote:
Если бы родить безразмерную переменную BIGSTRING, наполнить её на финише написания формы всеми строками требуемого отчета и сказать:
 
printstr BIGSTRING to file NF
 
Интересно на сколько бы печать прошла быстрее. Huh

Поможет, в случае ежли каждый оператор записи в файл открывает и закрывает его, чего скорей всего нет.
Зарегистрирован

С уважением,
Александр.
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #6 В: 22.05.08 в 06:43:34 »
Цитировать | Править

on 21.05.08 в 23:37:38, Alexander_Kiev wrote:

Поможет, в случае ежли каждый оператор записи в файл открывает и закрывает его, чего скорей всего нет.

 
Друг мой, а это что такое:
 
    >> file FW
    print    '<meta http-equiv="Content-Type" content="text/html; charset=CP866">'
    > file (ending)
 
  Shocked
 
И так каждую строчку...
Зарегистрирован
Arkady
Administrator
*****





472860567 472860567    
Просмотреть Профиль | WWW | E-мэйл

Сообщений: 484
Re: printstr BIGSTRING to file NF
« Ответить #7 В: 22.05.08 в 07:52:01 »
Цитировать | Править

on 21.05.08 в 17:42:48, Boris, Kiev. wrote:

На машинах где стоят антивирусные программы требую у администраторов, чтобы все ФБП-каталоги числились в исключениях.

 
Неизвестно как те исключения обрабатываются. Скорее всего, антивирус получает от системы извещение о каждом открытии файла и решает, принадлежит ли каталог к списку исключенных. A это тоже заметная задержка.  
 
По поводу скорости. Я не могу воспроизвести такую медленную запись. Пишу 10 000 строк по 75 байт за 3с и 100 000 таких же за 20с. Это на ноутбуке Celeron M 1.4 Ггц 512Мб XP  На настольных машинах примерно то же получается.
 
Но тут есть нюанс! 100 000  строк за 20с - это  при добавлении к файлу C:\test.txt. С файлом C:\test\test\test\test\test\test\test.txt получим 35с,  а с 12-ю уровнями вложенности будет уже 50с.  
 
P.S. По поводу "BIGSTRING". Я могу ввести новый оператор для вывода массива в файл - с одним открытием и закрытием файла.  То есть надо будет сначала  присвоить элементам массива строки и затем вызвать этот  printarray ... to file ... .
Зарегистрирован
Denis, Dnepropetrovsk

***



Я люблю этот Форум!

   
Просмотреть Профиль | E-мэйл

Сообщений: 129
Re: printstr BIGSTRING to file NF
« Ответить #8 В: 22.05.08 в 08:51:31 »
Цитировать | Править

on 22.05.08 в 07:52:01, Arkady wrote:

 
 
P.S. По поводу "BIGSTRING". Я могу ввести новый оператор для вывода массива в файл - с одним открытием и закрытием файла.  То есть надо будет сначала  присвоить элементам массива строки и затем вызвать этот  printarray ... to file ... .

 
Это было бы неплохо,  скорее всего так сервер и формирует ответ на запрос  Wink. Уж очень быстро формируется отчетная форма по сравнению с построчным выводом в файл  Smiley.
 
К тому же при плохой сети (у нас одно время свич глючил ) при выводе в файл на сетевой папке (расположенной на другом компе) некоторые строчки пропадают  Sad. Думаю printarray решит такую проблему.
Зарегистрирован
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #9 В: 22.05.08 в 08:58:12 »
Цитировать | Править

on 22.05.08 в 07:52:01, Arkady wrote:

 
Неизвестно как те исключения обрабатываются. Скорее всего, антивирус получает от системы извещение о каждом открытии файла и решает, принадлежит ли каталог к списку исключенных. A это тоже заметная задержка.  
 
По поводу скорости. Я не могу воспроизвести такую медленную запись. Пишу 10 000 строк по 75 байт за 3с и 100 000 таких же за 20с. Это на ноутбуке Celeron M 1.4 Ггц 512Мб XP  На настольных машинах примерно то же получается.
 
Но тут есть нюанс! 100 000  строк за 20с - это  при добавлении к файлу C:\test.txt. С файлом C:\test\test\test\test\test\test\test.txt получим 35с,  а с 12-ю уровнями вложенности будет уже 50с.  
 
P.S. По поводу "BIGSTRING". Я могу ввести новый оператор для вывода массива в файл - с одним открытием и закрытием файла.  То есть надо будет сначала  присвоить элементам массива строки и затем вызвать этот  printarray ... to file ... .

 
Спасибо, будем очень ждать printarray.
Если не затруднит о невозможности открытия в нашем языке большой, а ещё лучше безразмерной переменной.
 
Про нюанс.
Это явление носит общий характер для Windows систем или как?
 
Насчёт антивирусов, надо полагать что как-бы не крутили с расширениями и исключениями, результат один - та же задержка.
Зарегистрирован
Arkady
Administrator
*****





472860567 472860567    
Просмотреть Профиль | WWW | E-мэйл

Сообщений: 484
Re: printstr BIGSTRING to file NF
« Ответить #10 В: 22.05.08 в 10:41:08 »
Цитировать | Править

on 22.05.08 в 08:58:12, Boris, Kiev. wrote:

...
Если не затруднит о невозможности открытия в нашем языке большой, а ещё лучше безразмерной переменной.
 
Про нюанс.
Это явление носит общий характер для Windows систем или как?

 
А разве массивы не выполняют роль таких переменных? Ведь легко опеределить собственные функции и подпрограммы, рассматривающие массив строк как единoe целое и скрывающие детали устройства.
 
Что касается зависимости времени открытия файла от уровня вложенности его имени, то это легко объяснить: каждый уровень - это прыжок от таблицы к таблице. Но пока пробовал только в XP. Вообще-то они могли бы там для таких случаев и кэш какой-нибудь организовать, чтобы ускорить повторные открытия.
Зарегистрирован
Alexander_Kiev

*****





194144279 194144279    
Просмотреть Профиль | E-мэйл

Сообщений: 661
Re: printstr BIGSTRING to file NF
« Ответить #11 В: 22.05.08 в 12:54:33 »
Цитировать | Править

Зная как в принципе устроены "безразмерные" строки, вчерась хотел предложить поиграться с массивом, но потом вовремя одумался, а вдруг там каждый раз открывается и закрывается файл. А оператор вывода массива блоков символов в файл - самое оно.  Smiley
« Изменён в : 22.05.08 в 12:56:08 пользователем: Alexander_Kiev » Зарегистрирован

С уважением,
Александр.
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #12 В: 22.05.08 в 13:58:33 »
Цитировать | Править

on 22.05.08 в 10:41:08, Arkady wrote:

 
А разве массивы не выполняют роль таких переменных? Ведь легко опеределить собственные функции и подпрограммы, рассматривающие массив строк как единoe целое и скрывающие детали устройства.
 

 
Если легко, то может быть несложно сравниться по скорости работы с нашим мостом FWP_WORD.
Задача простая, модифицировать текстовый файл с ограниченной длиной строк с правилом перехода на следующую строку, который содержит метки. Короткие метки должны быть заменены другими контекстами, которые также могут быть очень большими.
 
« Изменён в : 22.05.08 в 22:54:37 пользователем: Boris, Kiev. » Зарегистрирован
Boris, Kiev.

*****



Адепт ФБП  с 1996г.

   
Просмотреть Профиль | E-мэйл

Сообщений: 875
Re: printstr BIGSTRING to file NF
« Ответить #13 В: 23.05.08 в 10:24:27 »
Цитировать | Править

on 22.05.08 в 07:52:01, Arkady wrote:

 
..
P.S. По поводу "BIGSTRING". Я могу ввести новый оператор для вывода массива в файл - с одним открытием и закрытием файла.  То есть надо будет сначала  присвоить элементам массива строки и затем вызвать этот  printarray ... to file ... .

 
Представил объём работы после ввода printarray.
Не мало.
 
Ведь у нас есть:
 
\>file NF
 
для инициализации,
 
 может быть проще ввести типа
 
\\>file NF
 
для закрытия.
 
а все:
 
^^^ST>>file NF
printstr ST to file NF
 
почистить от открытия-закрытия  
 
В случае, если в форме явно не прописано:  
 
\\>file NF
 
,то закрыть принудительно по завершению формы.
 
 
Единственное, чего помню из профисоветов, так это постараться не держать большое кол-во файлов открытыми, но как правило форма будет держать открытыми совсем небольшое кол-во файлов, зато сколько времени у нас сэкономится.
 
Зарегистрирован
Alexander_Kiev

*****





194144279 194144279    
Просмотреть Профиль | E-мэйл

Сообщений: 661
Re: printstr BIGSTRING to file NF
« Ответить #14 В: 23.05.08 в 11:14:16 »
Цитировать | Править

on 23.05.08 в 10:24:27, Boris, Kiev. wrote:

В случае, если в форме явно не прописано:  
 
\\>file NF
 
,то закрыть принудительно по завершению формы.

А как в runtime узнать какие файлы открывались и есть ли что закрывать?
На счет общего кол-ва открытых файлов не беспокойся. 1цэ их сотнями держит в таком состоянии.
« Изменён в : 23.05.08 в 11:35:05 пользователем: Alexander_Kiev » Зарегистрирован

С уважением,
Александр.
Страниц: 1 2 3  Ответить | Уведомлять | Послать Тему | Печатать

« Предыдущая Тема | Следующая Тема »

Powered by YaBB 1 Gold - SP 1.3.2!
Forum software copyright й 2000-2004 Yet another Bulletin Board