Страница 1 из 1

Пакетная замена цен в пересортице

Добавлено: 28 окт 2013, 12:03
solkalin
Здравствуйте!
Подскажите пожалуйста почему возвращает ошибку "Операция запрещена. Таблица №1110"

Решила через печатную форму Акта на пересортицу "Реестр актов на пересортицу со спецификациями" менять цену ТМЦ к оприходованию пакетно.

Внутри родного кода прописала

Код: Выделить всё

.Begin
if ( bal_t2.GetFirst SpSopr2 = 0 )
 c2 := True;
else
 c2 := False;
End.
.{While (c2)
 Ш@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @@@@@ @@@@@@@@@@@@@@@ &&&&&&&&&&&&& &&&&&&&&&&.&& &'&&&&&&&&&&&.&& @@@ &&&&&&&&&&.&& &'&&&&&&&&&&&.&& Ш
.Begin
if ( bal_t2.GetNext SpSopr2 = 0 )
 c2 := True;
else
 c2 := False;

[b] if bal_t2.SpSopr.Price<>bal_t2.SpSopr2.Price then { bal_t2.SpSopr2.Price:=bal_t2.SpSopr.Price;  bal_t2.update Current SpSopr2; }[/b]
End.
.}  
Но программа выдает ошибку.

Re: Пакетная замена цен в пересортице

Добавлено: 28 окт 2013, 14:21
edward_K
Для начала попробуйте IF c getnext переставить в конец программного блока. А так получается, что вы спозиционировались на следующую запись, первую вообще никогда не правит, а на последней получаете свою ошибку(вы уже ушли из доступных). logstrtofile вам поможет

Re: Пакетная замена цен в пересортице

Добавлено: 30 окт 2013, 11:33
solkalin
Попробовала разные способы.

Если менять значение в spsopr с nrec-ом для записи к оприходованию, то в таблице физической значение меняется, а в интерфейсе нет.

Если менять в spsopr2, то продолжает выдавать предыдущую ошибку. : (

Re: Пакетная замена цен в пересортице

Добавлено: 30 окт 2013, 11:58
m0p3e
Ваш код поправленный:

Код: Выделить всё

.Begin
 с2 := (bal_t2.GetFirst SpSopr2 = tsOk);
End.
.{While (c2)
 Ш@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @@@@@ @@@@@@@@@@@@@@@ &&&&&&&&&&&&& &&&&&&&&&&.&& &'&&&&&&&&&&&.&& @@@ &&&&&&&&&&.&& &'&&&&&&&&&&&.&& Ш
.Begin
 if bal_t2.SpSopr.Price<>bal_t2.SpSopr2.Price then { bal_t2.SpSopr2.Price:=bal_t2.SpSopr.Price;  bal_t2.update Current SpSopr2; }
 c2 := (bal_t2.GetNext SpSopr2 = tsOk);
End.
.} 
1. Скорее всего изменять нужно не только SpSopr.Price. Например rPrice. А еще и валюта может быть...
2. Если после печати, не перерисовывается интерфейс, то и значения сами не изменятся.

Re: Пакетная замена цен в пересортице

Добавлено: 30 окт 2013, 12:04
Den
Человек, походу, хочет просто формой запущенной менять данные текущего browse-формата...

Re: Пакетная замена цен в пересортице

Добавлено: 30 окт 2013, 16:09
Алексей
это можно перерисовки после закрытия формы не будет.
выйти из документа и зайти - появится. либо нажать "стрелки" обновить.

Re: Пакетная замена цен в пересортице

Добавлено: 30 окт 2013, 17:29
m0p3e
Алексей писал(а):это можно перерисовки после закрытия формы не будет.
выйти из документа и зайти - появится. либо нажать "стрелки" обновить.
Это понятно, но без этих действий и при отсутствии в конце процедуры печати редрава/рерида - не будет. :)

Re: Пакетная замена цен в пересортице

Добавлено: 31 окт 2013, 12:03
solkalin
Спасибо, m0p3e !

Код работает. Утром повел себя так же как у меня до этого. В журнализацию попадала запись о том, что произошли изменения полей в spsopr. А в интерфейсе изменения не происходили.

Зашла в таблицу SpSopr. Нажала кнопку на панели "обновить". И с тех пор все нормально (я уж думала каждый раз придется обновлять вручную, может наша тестовая база глючила просто).

Еще раз спасибо за помощь!