View previous topic :: View next topic |
Author |
Message |
diana
Joined: 17 May 2007 Posts: 6 Location: Дуброва Диана Валериевна Occupation: ООО "Оптима-Сибирь" Interests: Нижневартовск
|
Posted: 18 May 2007 08:26 Post subject: Переполнение массива при выполнении специальной функции |
|
|
У нас такая проблемка. У нас есть специальная функция - блокировка контрагента (на заблокиованного контрагента нельзя осуществлять отгрузку). Мы блокируем контрагента. Плагин таков:
private cFlz
cFlz:=partner->Flz
aglobvars[11]:={'Признак запрета выписки товара: '}
aglobvars[12]:={'9'}
aglobvars[13]:={cFlz}
aglobvars[14]:=dialog(aglobvars[11],aglobvars[12],aglobvars[13],'Контрагент: '+partner->shortname)
if ((partner->flz!=aglobvars[14][1]).and.lastkey()!=27)
partner->(RECLOCK())
//partner->(AX_rlock())
partner->flz:=aglobvars[14][1]
partner->(F_DBUNLOCK())
//partner->(AX_Unlock())
//sayandwait(str(aglobvars[14][1]))
endif
Далее, когда на заблокированного контрагента пытаются выписать накладную, он не дает это сделать и соответственно удаляет накладную. Это нормально. Но если после этого снова зайти в справочник контрагента и попытаться заблокировать любого контрагента или даже хотя бы вызвать эту спец. функцию выдает ошибку !!! ПЕРЕПОЛНЕНИЕ МАССИВА!!! Значит очищение массива не происходит?
Скажите, в чем проблема? Надо дописать программульку на очищение массива? |
|
Back to top |
|
|
Behemoth
Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
|
Posted: 18 May 2007 08:44 Post subject: |
|
|
Добрый день.
Хотя в тексте не видно ничего предсудительного, попробуйте переписать так. Этим мы исключим массивы и соответственно возможную ошибку при их обработке. По возможности перекомпилируйте под Harbour. Это даст возможность произвести пошаговую отладку.
private cFlz
cFlz:= dialog('Признак запрета выписки товара: ','9',partner->Flz,'Контрагент: '+partner->shortname)
if lastkey()<>27 .and. cFlz<>partner->Flz
partner->(reclock())
partner->Flz:=cFlz
partner->(f_dbunlock())
endif
_________________ С уважением, Новиков Алексей. |
|
Back to top |
|
|
diana
Joined: 17 May 2007 Posts: 6 Location: Дуброва Диана Валериевна Occupation: ООО "Оптима-Сибирь" Interests: Нижневартовск
|
Posted: 18 May 2007 09:14 Post subject: Переполнение массива при выполнении специальной функции |
|
|
Спасибо, переписала. Так нормально работает |
|
Back to top |
|
|
|