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

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
28.02.20 в 20:24:40


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

   Подскажите
« Предыдущая Тема | Следующая Тема »
Страниц: 1 ... 8 9 10 11 12  ...  20 Ответить | Уведомлять | Послать Тему | Печатать
   Автор  Тема: Подскажите  (Прочитано 12073 раз)
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #135 В: 15.08.11 в 14:03:02 »
Цитировать | Править

on 15.08.11 в 10:35:48, Tupitsin wrote:

Если придет запрос на регистрацию от 2-х, 3-х... клиентов, то они будут разбираться только между собой, кто раньше, а кто позже. Однако, ВСЕ эти операции лягут ПЕРЕД (ПОСЛЕ) заданной. Не вижу конфликтов.  

Тонкость этого вопроса в том, что пользователь получив возможность зарегистрировать операцию «ЗА ТЕКУЩИМ ШТАМПОМ» по умолчанию считает, что это состояние относительного положения двух операций незыблемо, также как оно незыблемо в первых уже имеющихся трех ранжирах(«в начале дня», «в общем порядке» и «в конце дня»).
Ведь предоставив такую возможность может запросто нарушиться хронология(про простую перебивку операций не говорю) в каждом из ранжиров, а посему эта возможность не аналогична первым трем, потому ей и не место здесь, хотя также долго не мог с этим согласиться, но окончательно успокоился, когда сделал формочку по перестановке двух операций местами(ведь в локале живет и  часто востребована эта встроенная возможность).
Согласен, что если  упротребить «ПОСЛЕ ТЕКУЩЕГО ШТАМПА», то конфликта нет, но тогда зачем это делать, если, пожалуйста, сегодня регистрируй операцию в нужном ранжире и получишь тоже самое, просто представь, что коллеги наплодят(пользуясь этой же возможностью) за выбранным Вами штампом тот же самый массив, который якобы Вам сейчас мешает.
 
Добавлю, что следующий шаг в этом направлении – копирование операций в конец или начало ОП, заставил забыть и не вспоминать об этой просьбе.
Зарегистрирован
Tupitsin

***



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

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

Сообщений: 191
Re: Подскажите
« Ответить #136 В: 16.08.11 в 09:15:35 »
Цитировать | Править

Ввод операций "В общем порядке" меняет последовательность для операций "В конце дня". Ввод "В начале дня" меняет последовательность для операций "В общем порядке" и "В конце дня". Т.о. смена последовательности уже заложена в нынешнем варианте. Ввод "перед штампом" или "после штампа" лишь детализирует эту возможность.  
Кроме того, вовсе не обязательно давать эту возможность оператору напрямую из клиента. А вот дать такую возможность администратору просто необходимо.  
Пример 1: оператор "A E ·счет· BA=число " не может быть использован напрямую из клиента. Только через форму. Представляете себе, заменить вручную начальное значение счета! Это Вам не операции переставить. Однако, такая возможность есть.
Пример 2 В однопользовательской версии определена клавиша:
F9 - переставить две соседние операции одной даты;
(Или уже нет? Давно не пользовался однопользовательской версией)
Это разве не то же, что ввести операцию перед заданной? Последовательное применение этой клавиши перенесет операцию куда угодно. Почему бы не дать такую же возможность в сетевой версии?
« Изменён в : 16.08.11 в 09:17:51 пользователем: Tupitsin » Зарегистрирован
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #137 В: 16.08.11 в 09:43:01 »
Цитировать | Править

on 16.08.11 в 09:15:35, Tupitsin wrote:
Ввод операций "В общем порядке" меняет последовательность для операций "В конце дня". Ввод "В начале дня" меняет последовательность для операций "В общем порядке" и "В конце дня". Т.о. смена последовательности уже заложена в нынешнем варианте.

Похоже Вы не вникаете.
Ещё раз, сегодня есть три ранжира, последовательность операций в каждом из них незыблема, т.е. например введя 10 операций в "начале дня", Вам не удасться изменить эту последовательность, например, введя между 2-ой и 3 -ей, только есть возможность добавлять в хвост каждого ранжира. Да согласен, что сервер вставляя операцию в конец каждого ранжира знает штамп, за которым он внедряет новую операцию, но давать возможность это делать свободно пользователю не целесообразно по вышеизложенным мотивам, а также с учетом не простых вопросов тельных операций многострочников и резервирования пространства для каждой операции( а не для трех ранжиров в дне) в общем случае для быстрого выполнения таких вставок.
 
Зарегистрирован
Tupitsin

***



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

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

Сообщений: 191
Re: Подскажите
« Ответить #138 В: 16.08.11 в 10:27:02 »
Цитировать | Править

Ну нет, так нет. Как всегда, будем ездить из Москвы в Петербург через Владивосток. Нам не привыкать. (Хотя аргументы не убедили).
Зарегистрирован
BBBB

**



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

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

Сообщений: 79
Re: Подскажите
« Ответить #139 В: 22.08.11 в 17:06:46 »
Цитировать | Править

Может, подскажет кто сразу или даст толковую ссылку: нужен управляющий код для лазерного принтера с usb-портом для выталкивания листа в нужный момент (для отчетной формы).
Зарегистрирован
VLV

***



Я люблю Финансы без проблем!

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

Сообщений: 228
Re: Подскажите
« Ответить #140 В: 29.08.11 в 14:06:47 »
Цитировать | Править

Quote:
Почему ККМ не может сразу бомбить в ЖО?  

 
Чтобы ККМ бомбила в ЖО логично сделать РМ ККМ на основе ФБП-Сервер+ФБП-Клиент.  
 
Изначально я реализовал подобную штуку на основе Сервер+КлиентФорм. Но отсутствие у СервераФБП и КлиентаФорм возможности запустить их в в режиме приложения, или хотя бы свернуть в тулбар (я уж не говорю вместо Эксплорера) (плюс еще некоторые недочеты в этих программах) не позволяют их эксплуатировать в реальных условиях.
 
Но и в этом случае для сети магазинов в разных точках расчитывать на надежность связи неверно. Следовательно бомбить сервер со всех удаленных точек не получется в реальном времени, придется, при необходимости собрать продажи в одно место, делать периодически.
 
В итоге РМ товароведа получилось на основе ФБПСервер+КлиентФорм, РМК пришлось приобретать у стороннего производителя. В моем случае им оказался Фонтол.
Фронтол - это софт, опирающийся на ФаерБест, и взаимодействие с ним возможно только в виде получения файла транзакций по запросу со стороны ФБП.  
Такая вот петрушка вышла.
 
Если кто в этой области что делал...поделитесь, плз, хотя бы общими подходами к решению.
 
С уважением, Владимир.
« Изменён в : 29.08.11 в 15:55:58 пользователем: VLV » Зарегистрирован
VLV

***



Я люблю Финансы без проблем!

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

Сообщений: 228
Re: Подскажите
« Ответить #141 В: 22.09.11 в 14:42:31 »
Цитировать | Править

Поясните для общего понимания ПЛЗ!
 
*ОФ
*Отправка директивы DR на сервер посредством
PRINTSTR DR+[CH 13]+[CH 10] TO > FILE F.rq
RENAMEFILE F.rq TO F.in  
Ожидание события появления в каталоге обмена ответа от сервера для последующей обработки
loadtxt F.out
...
 
Дождаться события появления файла не удается.
После таймаута форма заканчивает работу и только после этого появляется в каталоге обмена долгожданный файл...
 
Должно так быть? И по каким соображениям?
 
Понятно что ФК, или многострочный запрос должен выполняться за одну транзакцию, но для ОФ возможноли обойти эту проблемму?
 
Кстати  возникает ситуация когда форма надолго зависает, возможно ли ее выполнение прервать чем нибуть кроме выключения сервера?
 
С уважением, Владимир.
« Изменён в : 22.09.11 в 14:44:29 пользователем: VLV » Зарегистрирован
Denis, Dnepropetrovsk

***



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

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

Сообщений: 129
Re: Подскажите
« Ответить #142 В: 24.09.11 в 12:21:37 »
Цитировать | Править

on 22.09.11 в 14:42:31, VLV wrote:
Поясните для общего понимания ПЛЗ!
 
*ОФ
*Отправка директивы DR на сервер посредством
PRINTSTR DR+[CH 13]+[CH 10] TO > FILE F.rq
RENAMEFILE F.rq TO F.in  
Ожидание события появления в каталоге обмена ответа от сервера для последующей обработки
loadtxt F.out
...
 
Дождаться события появления файла не удается.
После таймаута форма заканчивает работу и только после этого появляется в каталоге обмена долгожданный файл...
 
Должно так быть? И по каким соображениям?
 
Понятно что ФК, или многострочный запрос должен выполняться за одну транзакцию, но для ОФ возможноли обойти эту проблемму?
 
Кстати  возникает ситуация когда форма надолго зависает, возможно ли ее выполнение прервать чем нибуть кроме выключения сервера?
 
С уважением, Владимир.

[b][/b]
 
 
а каким образом организуется "Ожидание события появления в каталоге обмена ответа от сервера для последующей обработки loadtxt F.out"Huh (пока сервер не ответит на эту форму никакие другие формы не обслуживаются, поэтому и нет ответа F.out)
Для Вашего случая в CLW нужно после  
"PRINTSTR DR+[CH 13]+[CH 10] TO > FILE F.rq
RENAMEFILE F.rq TO F.in "
делать что-то вроде  
N:AUTO:R OTVET ·F.out·
N:AUTO:#CLOSE
 
А Форма OTVET должна содержать программу:
F=[is 'Файл ответа','',80]
if [fe F]=-1  это для случая, если сервер первым обработает текущую форму а не F.in
printstr 'N:AUTO:R OTVET ·'+f+'·'+[ch 10]
N:AUTO:#CLOSE
else
***обработка loadtxt F.out
endif
« Изменён в : 24.09.11 в 12:29:34 пользователем: Denis, Dnepropetrovsk » Зарегистрирован
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #143 В: 25.09.11 в 14:26:41 »
Цитировать | Править

on 24.09.11 в 12:21:37, Denis, Dnepropetrovsk wrote:

 
Для Вашего случая в CLW нужно после  
"PRINTSTR DR+[CH 13]+[CH 10] TO > FILE F.rq
RENAMEFILE F.rq TO F.in "
 
делать что-то вроде  
N:AUTO:R OTVET ·F.out·
N:AUTO:#CLOSE
 
А Форма OTVET должна содержать программу:
F=[is 'Файл ответа','',80]
if [fe F]=-1  это для случая, если сервер первым обработает текущую форму а не F.in
printstr 'N:AUTO:R OTVET ·'+f+'·'+[ch 10]
N:AUTO:#CLOSE
else
***обработка loadtxt F.out
endif

 
Ай,я,яй, Денис на Вас это не похоже.
Интересно, Вы предлагаете код, проверяли ли Вы его и на каких версиях?
Раскладывать по полочкам не буду, просто есть желание учредить правило подобных публикаций:

- Предлагаемый код должен отрабатывать решаемую задачу на указанных версиях сервера и клиента.

Зарегистрирован
Denis, Dnepropetrovsk

***



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

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

Сообщений: 129
Re: Подскажите
« Ответить #144 В: 27.09.11 в 12:19:50 »
Цитировать | Править

Код я не проверял (цель поста была не дать рабочий пример, а объяснить почему бессмысленно ожидать ответ от сервера в форме, которая делает запрос в файл). А по поводу кода:
Ну во-первых я же написал что-то вроде Smiley
А во-вторых я очень часто использую подобные конструкции в своих настройках и на 99% уверен что код рабочий для CLW в связке с сервером 4.11 и выше.
Зарегистрирован
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #145 В: 28.09.11 в 07:41:07 »
Цитировать | Править

on 27.09.11 в 12:19:50, Denis, Dnepropetrovsk wrote:
Код я не проверял (цель поста была не дать рабочий пример, а объяснить почему бессмысленно ожидать ответ от сервера в форме, которая делает запрос в файл). А по поводу кода:
Ну во-первых я же написал что-то вроде Smiley
А во-вторых я очень часто использую подобные конструкции в своих настройках и на 99% уверен что код рабочий для CLW в связке с сервером 4.11 и выше.

Объяснений или оправданий не нужно, давайте по сути.
 
Интересно, всё-таки проверили свой код или нет?
Больше «нет», чем «да», иначе про «бессмысленность» не написали бы, а дошли до своего решения, может быть нового для меня.
 
Зарегистрирован
Denis, Dnepropetrovsk

***



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

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

Сообщений: 129
Re: Подскажите
« Ответить #146 В: 28.09.11 в 15:29:32 »
Цитировать | Править

Вот рабочий пример для получения ответа:
Клиент CLW   сервер 4.14 x64

 
3 формы:
testz.rpt     делает запрос "R testo" записью в файл  
testo.rpt    форма для выполнения
testp.rpt    ожидает ответ и выводит то что ответил сервер
Запускаем testz
-------------------------------------
Код testz.rpt:
-------------------------------------
*Тест запроса директивой
*.on
*,off
US='***' имя пользователя
KS='***' пароль пользователя  
call FR
printstr [strip US+'·'+KS]+'··R testo' to file v
call FZ
renamefile v to v1  
****файл ответа
vo=[cp v1,1,[length v1]-2]+'out'
printstr 'N:AUTO:R testp ·'+vo+'·'+[ch 10]
printstr 'N:AUTO:#CLOSE'+[ch 10]
stop
**********
:FR   поиск свободного канала для записи директив
f=[dir 1]  каталог обмена
i=1  
v=f+[intsn i]+'.req'
while ([fe v]<>-1)&(i<1000)
 i=i+1
 v=f+[intsn i]+'.req'
endwhile
if i>1000
 
   Каталог обмена не обслуживается!!!!!
   stop
endif
\>file v
return
**********
:FZ   поиск свободного файла для записи директив
f=[dir 1]  каталог обмена
i=1  
v1=f+[intsn i]+'.in'
v2=f+[intsn i]+'.out'
while ([fe v1]<>-1)&(i<1000)
 i=i+1
 v1=f+[intsn i]+'.in'
 v2=f+[intsn i]+'.out'
endwhile
if [fe v2]<>-1
   deletefile v2
endif
if i>1000
 
   Каталог обмена не обслуживается!!!!!
   stop
endif
return
 
 
-------------------------------------
Код testo.rpt:
-------------------------------------
*Ответ сервера
*.on
*,off
printstr 'Время выполнения: '+[tm]
stop
 
 
 
-------------------------------------
Код testp.rpt:
-------------------------------------
*Ожидаем ответ от сервера
*.on
*,off
F=[is 'Файл ответа','',80]  
if [fe F]=-1  это для случая, если сервер первым обработает текущую форму а не F.in  
printstr 'N:AUTO:R testp ·'+f+'·'+[ch 10]  
else  
***обработка loadtxt F.out  
   Сервер ответил:
   loadtxt F
   LX=[ged 'lt.N']+0.1
   for i=1 to LX
  ST=[ged 'lt.'+[intsn i]]
  if ST<>'' if ST=0 ST=' пустая строка';endif;else ST=' пустая строка';endif
  printstr ST+[ch 10]
   endfor
endif
stop
 
 
Буду рад если кому-нибудь это поможетSmiley)
Зарегистрирован
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #147 В: 29.09.11 в 08:06:25 »
Цитировать | Править

on 28.09.11 в 15:29:32, Denis, Dnepropetrovsk wrote:

F=[is 'Файл ответа','',80]  
if [fe F]=-1  это для случая, если сервер первым обработает текущую форму а не F.in  
printstr 'N:AUTO:R testp ·'+f+'·'+[ch 10]  
else  
***обработка loadtxt F.out  
endif
stop

Суть в этом и она не изменилась. Что будет, если сюда всё-таки состоится заход? Проверьте. Мягко говоря, алгоритм окажется несостоятельным.
 
 
Зарегистрирован
Denis, Dnepropetrovsk

***



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

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

Сообщений: 129
Re: Подскажите
« Ответить #148 В: 29.09.11 в 12:22:21 »
Цитировать | Править

Проверил. За 2 мин. настроил что-бы работало как надоSmiley
 
дописал в testp.rpt пару строчек
---------------
*Ожидаем ответ от сервера
*.on
*,off
F=[is 'Файл ответа','',80]  
F1=[ir '',0,0]
if F1=20  stop;endif

if [fe F]=-1  это для случая, если сервер первым обработает текущую форму а не F.in  
printstr 'N:AUTO:R testp ·'+f+'·'+[intsn F1+1]+'·'+[ch 10]  
printstr 'N:AUTO:#CLOSE'+[ch 10]

else  
***обработка loadtxt F.out  
   Сервер ответил:
   loadtxt F
   LX=[ged 'lt.N']+0.1
   for i=1 to LX
  ST=[ged 'lt.'+[intsn i]]
  if ST<>'' if ST=0 ST=' пустая строка';endif;else ST=' пустая строка';endif
  printstr ST+[ch 10]
   endfor
endif
stop
 
 
и в тестz.rpt  пару символовSmiley
вместо
printstr 'N:AUTO:R testp ·'+vo+'·'+[ch 10]
добавил "1·"
printstr 'N:AUTO:R testp ·'+vo+'·1·'+[ch 10]
Зарегистрирован
Boris, Kiev.
Moderator

*****



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

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

Сообщений: 842
Re: Подскажите
« Ответить #149 В: 29.09.11 в 13:26:42 »
Цитировать | Править

Проверяли "до 20" или нет?
Но задача же не решена, принципиально, даже если организуете бесконечную инверсию параметра, без которой форма "отлетает".
Зарегистрирован
Страниц: 1 ... 8 9 10 11 12  ...  20 Ответить | Уведомлять | Послать Тему | Печатать

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

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