View previous topic :: View next topic |
Author |
Message |
Andr_V
Joined: 11 Aug 2007 Posts: 6 Location: Andr_V Occupation: опт Interests: Н.Новгород
|
Posted: 13 Nov 2007 16:33 Post subject: Смена операции движения |
|
|
Добрый день!
В реестре документов расхода на запись подключена программа. Но если по F5 сделать замену операции движения, то прога не отрабатывает. Есть ли надежда на подключение программ, навешанных на события проверка, запись документа к операциям по F5? Или может есть какой способ сделать это сейчас? (Б4+ 12.01 SP32)
Заранее спасибо за ответы. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 13 Nov 2007 16:36 Post subject: |
|
|
Смена операции меняет расчет проводок.
А я всегда говорил что делать проводки на запись не есть гуд |
|
Back to top |
|
|
Andr_V
Joined: 11 Aug 2007 Posts: 6 Location: Andr_V Occupation: опт Interests: Н.Новгород
|
Posted: 13 Nov 2007 16:58 Post subject: |
|
|
Проводки я не трогаю. При смене операции меняется кореспондирующий счет, а это мне и надо обрабатыва |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 13 Nov 2007 17:04 Post subject: |
|
|
Как Вы хотите его обрабатывать ? |
|
Back to top |
|
|
Andr_V
Joined: 11 Aug 2007 Posts: 6 Location: Andr_V Occupation: опт Interests: Н.Новгород
|
Posted: 13 Nov 2007 18:37 Post subject: |
|
|
Есть куча счетов для кучи менеджеров, для каждого меджера три счета (типа 6201,6202,6203, групповой ввод аналитики), проводки делаются на один из счетов от выбранного типа документа (тут все нормально). Т.к. у типовой операции корр/счет один (6201), то при записи программа при необходимости пишет в mdoc->schet_a и mdocm->schet_a счет проводки (иначе по F10 справка неправильная). Вот тут при смене операции по F5 проводки-то делаются нужные, а в schet_a пишется кор/счет. Такой заты |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 13 Nov 2007 19:54 Post subject: |
|
|
Попробуйте в типовую операцию вставить проводку с формулой на харборе. А там задействуйте переменную которая будет семафорить, что сейчас проводка создается не при записи документа. А дальше думаю Вы знаете что и как. Есть еще событие на вход в реестр кстат |
|
Back to top |
|
|
Andr_V
Joined: 11 Aug 2007 Posts: 6 Location: Andr_V Occupation: опт Interests: Н.Новгород
|
Posted: 14 Nov 2007 17:21 Post subject: |
|
|
Программа из проводки будет запускаться сколько строк в документе (при настройке создавать проводки по каждой строке) и как узнать, что было F5? В событии на вход в реестр нажатие F5 отловить не получилось.
И еще про F5: изменение документа никак не регистрируется в журнале, а изменения могут быть серьезными. В частности при проверке документа перед записью у нас отслеживается чтобы отпускная цена со всеми скидками не была ниже некоторой определенной, иначе сохранить документ не получится. А если по F5 выбрать замену отпускных цен то никакая проверка естественно не отрабатывает и никаких данных о совершившем это не сохраняется. Очень хотелось бы чтоб действия по F5 записывались в журна |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 13:56 Post subject: |
|
|
Объясняю
Andr_V wrote: | Программа из проводки будет запускаться сколько строк в документе (при настройке создавать проводки по каждой строке) и как узнать, что было F5? |
Можно узнать что она создавалась не из документа.
И сделать это можно следующим образом.
При входе в документ объявить переменную логическую скажем в
.T. а при событии запись возвращать ее в .f.
Тогда проводка будет видеть либо .f. либо вообще не видеть переменную в случае когда создавалась вне документа.
Quote: | В событии на вход в реестр нажатие F5 отловить не получилось. |
А здесь тоже надо по-другому мыслить.
Вам ведь надо что ? Вам надо отловить факт замены операции.
А стало быть в некую переменную кладете значение код документа+номердокумента а во вторую код операции
И если в результате у вас при выполнении события код и номер документа не сменился то сравниваем код операции. Если он сменился стало быть это она и есть F5.
А Вы как отловить пытались ?
И еще про F5: изменение документа никак не регистрируется в журнале, а изменения могут быть серьезными. В частности при проверке документа перед записью у нас отслеживается чтобы отпускная цена со всеми скидками не была ниже некоторой определенной, иначе сохранить документ не получится. А если по F5 выбрать замену отпускных цен то никакая проверка естественно не отрабатывает и никаких данных о совершившем это не сохраняется. Очень хотелось бы чтоб действия по F5 записывались в журнал.[/quote] |
|
Back to top |
|
|
Andr_V
Joined: 11 Aug 2007 Posts: 6 Location: Andr_V Occupation: опт Interests: Н.Новгород
|
Posted: 15 Nov 2007 17:23 Post subject: |
|
|
Отловить пытался известно как:
Code: | i:=lastkey()
do case
case i=K_F5
...
|
И если отметить несколько документов, то событие на вход в реестр возникнет один раз и при этом данные из mdoc будут считаны в соответствии с активной строкой на экране (которая может быть вообще не отмеченной). Способ не пройдет. С контролем отпускных цен вообще беда. Нет ли какого хитрого способа отключить в F5 пункт про цены? Вот если б при F5 обрабатывались события этих проблем не было бы. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 17:40 Post subject: |
|
|
Andr_V wrote: | Отловить пытался известно как:
Code: | i:=lastkey()
do case
case i=K_F5
...
|
|
Вы были бы правы если бы последней клавишей ENTER не нажимали
Quote: | И если отметить несколько документов, то событие на вход в реестр возникнет один раз |
Оно будет возникать при каждом нажатии INS. А значит в массив можно положить строки которые надо проверить.
Других способов н |
|
Back to top |
|
|
|