Функция RereadRecord
Модераторы: m0p3e, edward_K, Модераторы
Функция RereadRecord
Доброго дня. столкнулся с такой ситуацией, что не могу обновить интерфейс счета фактуры. раньше, когда работал с Vip файлами использовал процедуру RereadRecord(#Basedoc), однако при использовании его в frm файле, пишет, что нет такой функции поля или метода. Подскажите пожалуйста как эту процедуру использовать в FRM, или может есть какие альтернативы? спасибо.
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
-
- Местный житель
- Сообщения: 1846
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Функция RereadRecord
Разумеется, данный метод нельзя использовать в FCOM
Re: Функция RereadRecord
а есть альтернатива?)Den писал(а):Разумеется, данный метод нельзя использовать в FCOM
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
Довольно странный вопрос... Какова цель?
Re: Функция RereadRecord
в счет фактуру импортирую данные в спецификацию. данные заполняются нормально, но отображаются изменения только после того как перезайду в сам счет. так вот я и думал, мб есть возможность обновления интерфейса, что бы изменения отображались сразу?RAJAH писал(а):Довольно странный вопрос... Какова цель?
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
Через докомпиляцию интерфейса можно попробовать.
Код: Выделить всё
HandleEvent
cmPrintDoc :
{
If inherited::HandleEvent(cmPrintDoc)<>heAbort
RescanPanel(..);
}
End;
Re: Функция RereadRecord
я ещё не совсем разобрался с декомпиляцией) я так понимаю, это в свойство формы счета записывается, мол при выполнении функции печати обновляется интерфейс.m0p3e писал(а):Через докомпиляцию интерфейса можно попробовать.Код: Выделить всё
HandleEvent cmPrintDoc : { If inherited::HandleEvent(cmPrintDoc)<>heAbort RescanPanel(..); } End;
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
Код: Выделить всё
alter interface <interfacename>;
HandleEvent
cmPrintDoc :
{
If inherited::HandleEvent(cmPrintDoc)<>heAbort
RescanPanel(..);
}
End;
End.
Re: Функция RereadRecord
что-то мне кажется, что проще код заполнения спецификации перенести в vip, создать кнопку "Заполнить" и использовать там RereadRecord)m0p3e писал(а):После успешного вызова события cmPrintDoc будет выполнен RescanPanel. Нужно смотреть конкретный интерфейс на предмет своих заморочек, но общая идея такая.Код: Выделить всё
alter interface <interfacename>; HandleEvent cmPrintDoc : { If inherited::HandleEvent(cmPrintDoc)<>heAbort RescanPanel(..); } End; End.
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
у меня только вопросик ещё возник, при переносе кода) я использую create view но т.к. я их писал под прототип PRBDOC, я мог использовать системные переменные basedocnrec и PosNrec, для обращения к таблице basedoc и spstep соответственно. подскажите пожалуйста, как тут присвоить эти данные переменным, которые я сам создал)
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
Насчет проще сомнительно, т.к. код в frm-ке уже написан и работает, но то что правильнее - однозначно.Espada писал(а):что-то мне кажется, что проще код заполнения спецификации перенести в vip, создать кнопку "Заполнить" и использовать там RereadRecord)
В какой интерфейс/окно встраиваемся (GetIfcCurrentFieldName)?
Re: Функция RereadRecord
выстраиваемся в интерфейс Счет, ДО на продажу: window wvschetm0p3e писал(а):Насчет проще сомнительно, т.к. код в frm-ке уже написан и работает, но то что правильнее - однозначно.Espada писал(а):что-то мне кажется, что проще код заполнения спецификации перенести в vip, создать кнопку "Заполнить" и использовать там RereadRecord)
В какой интерфейс/окно встраиваемся (GetIfcCurrentFieldName)?
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Re: Функция RereadRecord
Код: Выделить всё
#component "L_BaseDoc"
alter interface VSchet_Release;
Create View as select SpStep AddSpStep; //На всякий случай используем свой синоним
window wVSchetZ;
HandleEvent
cmValue50 :
{
If UpdateTable
{
StartNewVisual ( vtRotateVisual,vfTimer,'Title',0 );
ClearBuffer(#AddSpStep);
AddSpStep.cStepDoc := StepDoc.nrec;
..............................................
If Insert Current AddSpStep <> tsOk
Message('Ошибка добавления спецификации!',Error);
StopVisual( '',0 );
RescanPanel($pStep); //или ReReadRecord(#SpStep);
};
};
end;
end;
end.
Если нужен цикл по спецификации, то
Код: Выделить всё
cmValue50 :
{
If UpdateTable
{
PushPos(#SpSTep);
StartNewVisual ( vtRotateVisual,vfTimer,'Title',0 );
_loop SpStep
{
ClearBuffer(#AddSpStep);
AddSpStep.cStepDoc := StepDoc.nrec;
..............................................
If Insert Current AddSpStep <> tsOk
Message('Ошибка добавления спецификации!',Error);
StopVisual( '',0 );
PopPos(#SpStep);
};
RescanPanel(#$pStep); //или ReReadRecord(#SpStep);
};
};
Re: Функция RereadRecord
спасибо большое, разобрался. всё работает)m0p3e писал(а):Добавляем кнопку с вызовом cmValue50 (не используется в фейсе (по крайней мере в версии имеющихся у меня сырцов).Код: Выделить всё
#component "L_BaseDoc" alter interface VSchet_Release; Create View as select SpStep AddSpStep; //На всякий случай используем свой синоним window wVSchetZ; HandleEvent cmValue50 : { If UpdateTable { StartNewVisual ( vtRotateVisual,vfTimer,'Title',0 ); ClearBuffer(#AddSpStep); AddSpStep.cStepDoc := StepDoc.nrec; .............................................. If Insert Current AddSpStep <> tsOk Message('Ошибка добавления спецификации!',Error); StopVisual( '',0 ); RescanPanel($pStep); //или ReReadRecord(#SpStep); }; }; end; end; end.
Если нужен цикл по спецификации, тоКод: Выделить всё
cmValue50 : { If UpdateTable { PushPos(#SpSTep); StartNewVisual ( vtRotateVisual,vfTimer,'Title',0 ); _loop SpStep { ClearBuffer(#AddSpStep); AddSpStep.cStepDoc := StepDoc.nrec; .............................................. If Insert Current AddSpStep <> tsOk Message('Ошибка добавления спецификации!',Error); StopVisual( '',0 ); PopPos(#SpStep); }; RescanPanel(#$pStep); //или ReReadRecord(#SpStep); }; };
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!