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

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
05.10.22 в 19:35:05


Наш сайт | 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
   ФБП для начинающих

   Как вытащить запись из extrd.dat
« Предыдущая Тема | Следующая Тема »
Страниц: 1  Ответить | Уведомлять | Послать Тему | Печатать
   Автор  Тема: Как вытащить запись из extrd.dat  (Прочитано 1699 раз)
BBBB

**



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

   
Просмотреть Профиль |

Сообщений: 89
Как вытащить запись из extrd.dat
« В: 30.08.21 в 16:43:36 »
Цитировать | Править

Вот, возникла ситуация:
хочу почистить extrd.dat от ненужных записей.
И не могу придумать как их вытащить.
Запись формируется так: штамп+'|CO'
 
то есть, я вижу в файле записи, например:
 
EACT-732|CO S=.........
EADT-754|CO S=.........
 
и их у меня много .. как сделать правильно обход и посмотреть на них?
« Изменён в : 30.08.21 в 16:44:13 пользователем: BBBB » Зарегистрирован
mine-R

***



compact & flexible rulezzz

   
Просмотреть Профиль |

Сообщений: 145
Re: Как вытащить запись из extrd.dat
« Ответить #1 В: 30.08.21 в 17:07:59 »
Цитировать | Править

Если в пределах одного года текущего, то можно с помощью if-endif разок присвоить нули, а затем и вовсе убрать sed на конкретные ненужные виды операций.
 
Если же из прошлого тянется, то возможно поможет форма, публиковавшаяся на форуме.
Зарегистрирован
BBBB

**



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

   
Просмотреть Профиль |

Сообщений: 89
Re: Как вытащить запись из extrd.dat
« Ответить #2 В: 31.08.21 в 16:18:33 »
Цитировать | Править

Да, совсем забыл что надо привести extrd.dat в читаемый вид.  
Все получилось, все удалось извлечь и подготовить для обнуления.
 
Но вот что нарисовалось: меня удивил большой размер этого файла, как-бы он не должен был так нарастать, но клиенты работали сами и вот смотрю - великоват.
Когда преобразовал файл в читаемый вид и стал листать - смотрю, а посреди файла есть большой кусок чистых строк. Я когда-то такое наблюдал - когда в результате отключения света файл попортился и раздулся в размере. Причем просто пустота посреди файла. И вот снова. Поспрашивал у клиента - да, было дело, и свет отключался и данные пропадали - а они взяли и по новой их внесли через форму. А что файл раздулся - их и не взволновало.
 
И вот вопрос - могу ли я так сказать создать новый extrd.dat - скопировать видимые строки с начала файла, потом с конца файла. Это противоречит концепции ФБП или можно?
Зарегистрирован
mine-R

***



compact & flexible rulezzz

   
Просмотреть Профиль |

Сообщений: 145
Re: Как вытащить запись из extrd.dat
« Ответить #3 В: 31.08.21 в 22:51:30 »
Цитировать | Править

Проще наверное скопировать весь EXTRD в дубликат, затем уже либо в FAR'е на пустых строчках CTRL+Y либо еще в каком текстовом редакторе. А потом попытаться подгрузить исправленный дубликат в базу на Сервер. Если все аккуратно сделать, то должно получиться.
Зарегистрирован
BBBB

**



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

   
Просмотреть Профиль |

Сообщений: 89
Re: Как вытащить запись из extrd.dat
« Ответить #4 В: 04.09.21 в 14:35:30 »
Цитировать | Править

В общем, результат такой: файл extrd.dat на старте был более 80 Мгб. После преобразования в txt - около 6 Мгб.
Удалять просто строки в FAR, notepad - не решился.  
 
Решил считывать данные из txt и готовить в файл в виде [sed ...]. Потом в пустой базе  (и extrd.dat - нулевой) запустил полученный *.rpt - сформировался новый extrd.dat.  
Вот его взял и вставил в рабочий каталог и запустил на нем сервер и проверил по отчетам как идут данные, та вроде нормально.
Полученный extrd.dat размеров 52 Мгб, то есть почти 30 Мгб 'пустот' было.
Если кто видит что-то не то - лучше скажите сразу Smiley  пока файл не ушел до понедельника к клиенту.
Мой текст:
 
*Новая фоpма, pедактиpуйте ее
s='eee.txt'
loadtxt s
a1=[ged 'lt.N']
*  для строковых
for i=1 to a1
  x=[ged 'lt.'+[intsn i]]
  p1=[ps 'S=',x]
  if p1>0
  k1=[cp x,1,p1-1]; k1=[strip k1]; k2=[cp x,p1+2,[length x]-p1]; k2=[strip k2]
  k3=[cp x,1,2]
  if k3 <> 'lt'
    if k2 <> [ch 32]
  if [type k1]=0 k1=[intsn k1]; endif
  if [type k2]=0 k2=[sn k2,12,2]; endif
  kx='[sed '+[ch 39]+k1+[ch 39]+','+[ch 39]+k2+[ch 39]+']'+ [ch 13]+[ch 10]
  printstr kx to file 'ee2.txt'
    endif
  endif
  endif
*  для числовых
  p2=[ps 'N=',x]
  if p2>0
     h1=[strip[cp x,1,p2-1]]; h2=[cp x,p2+2,[length x]-p2]; h9=[vl h2]
  h3=[cp x,1,2]
  if h3 <> 'lt'
    if h2 <> [ch 32]
  if [type h1]=0 h1=[intsn h1]; endif
  kx='[sed '+[ch 39]+h1+[ch 39]+','+[sn h9,10,3]+']'+ [ch 13]+[ch 10]
  printstr kx to file 'ee2.txt'
    endif
  endif
  endif
endfor
*
for j=1 to a1
 [sed 'lt.'+[intsn j],0]
endfor
 
[sed 'lt.N',0]
Зарегистрирован
mine-R

***



compact & flexible rulezzz

   
Просмотреть Профиль |

Сообщений: 145
Re: Как вытащить запись из extrd.dat
« Ответить #5 В: 04.09.21 в 15:13:19 »
Цитировать | Править

Главное что база у Вас запустилась после этого,
и все данные хранящиеся в EXTRD попадают в нужные отчеты  Smiley
 
Оптимизировать разовые формы особого смысла нет.
 
Я обычно сразу вывожу в файл с расширением RPT чтобы в формах на Клиенте сразу же и пробовать.
 
А все эти lt, lb, ld.. Я их никогда в ручном режиме не обнулял и проблемы ни разу не возникло. Вы просто перестраховаться решили, или были случаи, после которых решили по циклу нули присваивать туда в самом конце?
Зарегистрирован
BBBB

**



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

   
Просмотреть Профиль |

Сообщений: 89
Re: Как вытащить запись из extrd.dat
« Ответить #6 В: 04.09.21 в 15:21:44 »
Цитировать | Править

Да, в моем случае это осталось от проб на полном extrd.dat.  
А потом подумал - та он же может быть и нулевым, база ведь тестовая, и extrd.dat после loadtxt чистить не надо.
Этот фрагмент - лишний.
Зарегистрирован
BBBB

**



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

   
Просмотреть Профиль |

Сообщений: 89
Re: Как вытащить запись из extrd.dat
« Ответить #7 В: 05.09.21 в 10:08:35 »
Цитировать | Править

on 04.09.21 в 15:13:19, mine-R wrote:

...
Я обычно сразу вывожу в файл с расширением RPT чтобы в формах на Клиенте сразу же и пробовать.
...

Да, логично, сразу в *.rpt.
 
Спасибо.
Зарегистрирован
Страниц: 1  Ответить | Уведомлять | Послать Тему | Печатать

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

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