Автор |
Тема: Подскажите (Прочитано 25702 раз) |
|
Jhon
Гость
E-мэйл
|
Так получилось что текущее значение остатка складской номенклатуры хранится в поле факта, а в операции первого оператора (одной единственной) обрабатывается групповая операция прихода другого оператора, а в этой групповой операции произошло повторение номенклатурного номера (по другой цене). Так вот в этой одной операции только что созданный факт по повторяющейся номенклатуре по NEWS найден не был и количество прихода первого факта в расчет остатка не взято. О том что NEWS не найдет факт, созданный вот только что, даже как-то не предполагал.
|
|
Зарегистрирован |
|
|
|
lytvyanela

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 5
|
on 11.01.10 в 19:08:04, Vladimir wrote: Описания продуктов хранятся не в EXTRD.DAT а в текстовых файлах, подгружемых ОФ с помощью новых операторов чтения из файла [/url] |
| А что это за новые операторы, это я так понимаю Ваши собственные разработки?
|
|
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Подскажите как выявить ошибку. Возникает нерегулярно, если в прошлом регистрируются операции и устраняется только перезапуском сервера(4.21,4.NY, dual, winxp) Директива W on/off не помогает. Проявляется в том что проводки по указанной операции исчезают. На мой взгляд связано с ошибкой в работе PD=[GET#,'ZPDR',M] Но за хвост не поймать. Дерево:...Выдача з/п подразделению..?P..?M..#70..ПРОВОДКИ:# 50 FileK (P-номер подразделения-строка, M-номер месяца-число) ****** * FileK ****** $=0 OB=[N1#] PD=[GET#,'ZPDR',M] IF PD=P Если подразделение работника соответствует выбранному Z=[OK #,M,M] начислено за текущий месяц IF Z>0.001 $=Z; ENDIF ENDIF ********* С уважением, Владимир.
|
« Изменён в : 31.03.10 в 15:42:04 пользователем: VLV » |
Зарегистрирован |
|
|
|
Svetlana
Moderator
    

Просмотреть Профиль |
Сообщений: 402
|
Обратите внимание - что в конце формы написано, может там есть "Возможно устарело" или "Пересчет не завершен"?
|
|
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
В режиме OLD ошибка воспроизводится. Автообновление вкл "все" Видно что формы обновляются и в оборотах по кассе появляется несписанная выдача денег. Висяк устойчивый, и есть в формах(например баланс) запущенных заново. По F6 проводок операция не показывает...их нет.
|
« Изменён в : 31.03.10 в 16:33:26 пользователем: VLV » |
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Ситуация похожа на ошибку, описанную мной в разделе "Get при пересбивке", там тоже причиной работа функции [get...]
|
|
Зарегистрирован |
|
|
|
Boris, Kiev.
    
 Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 867
|
on 31.03.10 в 09:37:58, VLV wrote:Подскажите как выявить ошибку. Возникает нерегулярно, если в прошлом регистрируются операции и устраняется только перезапуском сервера(4.21,4.NY, dual, winxp) Директива W on/off не помогает. Проявляется в том что проводки по указанной операции исчезают. На мой взгляд связано с ошибкой в работе PD=[GET#,'ZPDR',M] Но за хвост не поймать. Дерево:...Выдача з/п подразделению..?P..?M..#70..ПРОВОДКИ:# 50 FileK (P-номер подразделения-строка, M-номер месяца-число) ****** * FileK ****** $=0 OB=[N1#] PD=[GET#,'ZPDR',M] IF PD=P Если подразделение работника соответствует выбранному Z=[OK #,M,M] начислено за текущий месяц IF Z>0.001 $=Z; ENDIF ENDIF ********* С уважением, Владимир. |
| Читаем руководство: -------------------------------------- функция [get] Синтаксис: [get A, S] При использовании в листьях дерева и в файлах-коэффициентах выдает значение экстрапараметра S счета A к моменту выполнения текущей проводки; в отчетных формах - значение на конец отчетного периода. [get A, S, M] - выдать значение экстрапараметра S счета A на конец месяца M [get A, S, M, D] - выдать значение экстрапараметра S счета A в месяце M на конец дня D ----------------------------- Совет: Пользуйтесь [get..] согласно инструкции.
|
|
Зарегистрирован |
|
|
|
Svetlana
Moderator
    

Просмотреть Профиль |
Сообщений: 402
|
В добавление к сообщению Бoриса: прогоните в однопользовательской версии и отследите "Обращение в будущее".
|
|
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote: Совет: Пользуйтесь [get..] согласно инструкции. |
| Борис, поясните плз, в чем Вы видите несоответствие инструкции использование в файле-коэффициенте вызова PD=[GET#,'ZPDR',M] Он читает значение Экстра-параметра в момент вызова ФК, по состоянию на конец предыдущего месяца. Или нужно использовать для ФК только вызов PD=[GET#,'ZPDR'], и обратиться к значению ЭП в прошлое нельзя? Но фактически это работает при пересчете со старта, и перестает работать при пересчете от момента регистрации(перерегистрации) операции. Как тогда обойти эту проблемму, если нельзя исправить FWP? Ведь меxанизм фактической выдачи ЗП в текущем месяце всегда должен обращаться к данны актуальным в месяце начисления. Такая логика изначально предлагалась разработчиками. В однопользовательской версии все считает правильно, вызовов в будующее не выдает. После регистрации операции в начале года пересчитывает все правильно, а при перерегистрации операции не пересчитывает состояние но обороты счетов выдает верно. В сетевой ошибка устойчиво возникает, как в случае перерегистрации первой операции в январе(в прошлом), так и при регистрации новой операции. И совершенно устойчиво исчезает после "горячей" перезагрузки сервера FWP. Первое обращение к указанному файлу-коэффициенту встречается с февраля или в более поздние месяцы. С уважением, Владимир.
|
« Изменён в : 02.04.10 в 15:46:36 пользователем: VLV » |
Зарегистрирован |
|
|
|
Tupitsin
  
 Я люблю этот Форум!
Просмотреть Профиль | E-мэйл
Сообщений: 191
|
Проверьте, пожалуйста, инициализируется ли переменная M перед вызовом PD=[GET#,'ZPDR',M] ? Дело в том, что переменные в ф/к глобальные. Может быть следующая ситуация (гипотетически): При начальном пересчете переменная M получает нужное значение где-то в январе, а при пересчете с текущего мясяца (скажем, март)- не получает этого значения.
|
|
Зарегистрирован |
|
|
|
Konstantin
  
 Я люблю этот Форум!
Просмотреть Профиль | E-мэйл
Сообщений: 118
|
on 02.04.10 в 10:54:35, VLV wrote:....в чем Вы видите несоответствие инструкции использование в файле-коэффициенте вызова PD=[GET#,'ZPDR',M] Он читает значение Экстра-параметра в момент вызова ФК, по состоянию на конец предыдущего месяца...... |
| Если читает чётко на конец предыдущего месяца, то возможно стоит попытаться уйти от возможных коллизий с переменной M таким образм: PD=[GET#,'ZPDR',mc-1] Уж mc-то чётко самим сервером и инициализируется, и считается.
|
|
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote:Проверьте, пожалуйста, инициализируется ли переменная M перед вызовом PD=[GET#,'ZPDR',M] ? Дело в том, что переменные в ф/к глобальные. Может быть следующая ситуация (гипотетически): При начальном пересчете переменная M получает нужное значение где-то в январе, а при пересчете с текущего мясяца (скажем, март)- не получает этого значения. |
| В общем случае все эти переменные инициализированы несколько лет назад. На этот факт сделана проверка. За работником закреплено подразделение. Закрепление может быть операцией изменено при переводе работника в другое подразделение или вновь введено, если работник принят в к-л месяце. Т.е. операция выдачи ,например, по кассе в феврале читает значение актуальное в январе, которое в самом феврале может быть изменено... Заметил что если пользователи активно не работают, то перерегистрация в прошлом может и не воспроизводить ошибку. Воспроизводится она каждый раз не одинаково.
|
« Изменён в : 02.04.10 в 16:19:34 пользователем: VLV » |
Зарегистрирован |
|
|
|
VLV
  
 Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
Quote:Если читает чётко на конец предыдущего месяца, то возможно стоит попытаться уйти от возможных коллизий с переменной M таким образм: PD=[GET#,'ZPDR',mc-1] Уж mc-то чётко самим сервером и инициализируется, и считается. |
| Читает четко на конец любого предшествующего месяца. Опробую Ваше предложение. Но остается вопрос действительно ли запись [get cnt,'name',m] является "документированной" возможностью FWP для использования в ФК? Тогда и мой вариант должен работать корректно.
|
« Изменён в : 02.04.10 в 16:11:08 пользователем: VLV » |
Зарегистрирован |
|
|
|
Boris, Kiev.
    
 Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 867
|
on 02.04.10 в 10:54:35, VLV wrote: Борис, поясните плз, в чем Вы видите несоответствие инструкции использование в файле-коэффициенте вызова PD=[GET#,'ZPDR',M] Он читает значение Экстра-параметра в момент вызова ФК, по состоянию на конец предыдущего месяца. Или нужно использовать для ФК только вызов PD=[GET#,'ZPDR'], и обратиться к значению ЭП в прошлое нельзя? Но фактически это работает при пересчете со старта, и перестает работать при пересчете от момента регистрации(перерегистрации) операции. Как тогда обойти эту проблемму, если нельзя исправить FWP? Ведь меxанизм фактической выдачи ЗП в текущем месяце всегда должен обращаться к данны актуальным в месяце начисления. Такая логика изначально предлагалась разработчиками. В однопользовательской версии все считает правильно, вызовов в будующее не выдает. После регистрации операции в начале года пересчитывает все правильно, а при перерегистрации операции не пересчитывает состояние но обороты счетов выдает верно. В сетевой ошибка устойчиво возникает, как в случае перерегистрации первой операции в январе(в прошлом), так и при регистрации новой операции. И совершенно устойчиво исчезает после "горячей" перезагрузки сервера FWP. Первое обращение к указанному файлу-коэффициенту встречается с февраля или в более поздние месяцы. С уважением, Владимир. |
| Вы всё правильно поняли, не буду углубляться в своё видение работы экстра и примеры от разработчика, дам простой совет: рожайте индекс эстрапараметра [set #,'ZPDR'+[intsn M],ZN] , а ещё лучше [set #,'ZPDR*'+[intsn YY]+[cp [intsn(100+MM)],2,2],ZN] где YY - ГОД НАЧИСЛЕНИЯ MM- М-Ц к тому же в следующих годах будет легко и просто выдать справки за прошлые.
|
|
Зарегистрирован |
|
|
|
|
|