Добрый день!
С недавнего времени бухгалтерия заметила, что в ДО на закупку при нажатии кнопки "Сопроводительные документы" в списке, который выскакивает(интерфейс L_BaseDoc::SeeNakl) отображаются не только приходные накладные к ДО, но и складские акты на списание, которые вроде по ссылкам, которые я знаю, никак не должны вязаться к ДО. Как такое может быть? куда можно глянуть, чтоб определить почему они подвязываются. Причем у одного из актов в этом интерфейсе светится не вся спецификация, а только первые две строки...
Акты на списание и ДО
Модераторы: m0p3e, edward_K, Модераторы
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Акты на списание и ДО
Заполнение идет так
Код: Выделить всё
_LOOP SpStep where (( p1 == SpStep.cStepDoc ))
_LOOP SpSoprA where (( SpStep.nRec == SpSoprA.cSpStep ))
case SpSoprA.VidSopr of
102, 203:
if ( GetFirst KatSoprA where (( SpSoprA.cSopr == KatSoprA.NRec )) = tsOk )
if ( KatSoprA.cStepDoc = 0 )
{
if (GetFirst KatSoprMem where ((SpSoprA.cSopr == KatSoprMem.cRec)) <> tsOk)
{
ClearBuffer(#KatSoprMem);
KatSoprMem.cRec := KatSoprA.NRec;
KatSoprMem.VidSopr := KatSoprA.VidSopr;
KatSoprMem.dSopr := KatSoprA.dSopr;
KatSoprMem.dOpr := KatSoprA.dOpr;
KatSoprMem.NSopr := KatSoprA.NSopr;
KatSoprMem.Descr := KatSoprA.Descr;
KatSoprMem.cVal := KatSoprA.cVal;
KatSoprMem.Status := KatSoprA.Status;
KatSoprMem.cSchFact := KatSoprA.cSchFact;
KatSoprMem.cNote := KatSoprA.cNote;
KatSoprMem.cOrgBase := KatSoprA.cOrgBase;
KatSoprMem.Summa := KatSoprA.Summa;
KatSoprMem.SumVal := KatSoprA.SumVal;
KatSoprMem.bRozn := FALSE;
KatSoprMem.cStepDoc := KatSoprA.cStepDoc;
if ( Insert current KatSoprMem <> tsOk )
continue;
}
if (GetFirst SpSoprMem where ((SpSoprA.NRec == SpSoprMem.cRec)) = tsOk)
Continue;
ClearBuffer(#SpSoprMem);
SpSoprMem.cSopr := KatSoprMem.NRec;
SpSoprMem.NPP := SpSoprA.NPP;
SpSoprMem.cRec := SpSoprA.NRec;
SpSoprMem.prMC := if (SpSoprA.prMC <> 0, SpSoprA.prMC, 1);
SpSoprMem.KolFact := SpSoprA.KolFact;
SpSoprMem.cMCUSL := SpSoprA.cMCUSL;
SpSoprMem.cPArty := SpSoprA.cParty;
SpSoprMem.cOtpEd := if (SpSoprA.prMC <= 2, SpSoprA.cOtpEd, 0);
SpSoprMem.Price := SpSoprA.Price;
SpSoprMem.rPrice := SpSoprA.rPrice;
SpSoprMem.VPrice := SpSoprA.VPrice;
SpSoprMem.rVPrice := SpSoprA.rVPrice;
if ( Insert current SpSoprMem <> tsOk ){}
}
end;
Re: Акты на списание и ДО
Спасибо! Попробую вручную пробежаться по коду. Как раз и хотел посмотреть как собирается эта katsoprmem.edward_K писал(а):Заполнение идет такКод: Выделить всё
_LOOP SpStep where (( p1 == SpStep.cStepDoc )) _LOOP SpSoprA where (( SpStep.nRec == SpSoprA.cSpStep )) case SpSoprA.VidSopr of 102, 203: if ( GetFirst KatSoprA where (( SpSoprA.cSopr == KatSoprA.NRec )) = tsOk ) if ( KatSoprA.cStepDoc = 0 ) { if (GetFirst KatSoprMem where ((SpSoprA.cSopr == KatSoprMem.cRec)) <> tsOk) { ClearBuffer(#KatSoprMem); KatSoprMem.cRec := KatSoprA.NRec; KatSoprMem.VidSopr := KatSoprA.VidSopr; KatSoprMem.dSopr := KatSoprA.dSopr; KatSoprMem.dOpr := KatSoprA.dOpr; KatSoprMem.NSopr := KatSoprA.NSopr; KatSoprMem.Descr := KatSoprA.Descr; KatSoprMem.cVal := KatSoprA.cVal; KatSoprMem.Status := KatSoprA.Status; KatSoprMem.cSchFact := KatSoprA.cSchFact; KatSoprMem.cNote := KatSoprA.cNote; KatSoprMem.cOrgBase := KatSoprA.cOrgBase; KatSoprMem.Summa := KatSoprA.Summa; KatSoprMem.SumVal := KatSoprA.SumVal; KatSoprMem.bRozn := FALSE; KatSoprMem.cStepDoc := KatSoprA.cStepDoc; if ( Insert current KatSoprMem <> tsOk ) continue; } if (GetFirst SpSoprMem where ((SpSoprA.NRec == SpSoprMem.cRec)) = tsOk) Continue; ClearBuffer(#SpSoprMem); SpSoprMem.cSopr := KatSoprMem.NRec; SpSoprMem.NPP := SpSoprA.NPP; SpSoprMem.cRec := SpSoprA.NRec; SpSoprMem.prMC := if (SpSoprA.prMC <> 0, SpSoprA.prMC, 1); SpSoprMem.KolFact := SpSoprA.KolFact; SpSoprMem.cMCUSL := SpSoprA.cMCUSL; SpSoprMem.cPArty := SpSoprA.cParty; SpSoprMem.cOtpEd := if (SpSoprA.prMC <= 2, SpSoprA.cOtpEd, 0); SpSoprMem.Price := SpSoprA.Price; SpSoprMem.rPrice := SpSoprA.rPrice; SpSoprMem.VPrice := SpSoprA.VPrice; SpSoprMem.rVPrice := SpSoprA.rVPrice; if ( Insert current SpSoprMem <> tsOk ){} } end;
Re: Акты на списание и ДО
а SPSOPRA это что, временная таблица? А как она заполняется? Что-то по этому коду не получается проследить как получается такая ерунда... =(edward_K писал(а):Заполнение идет такКод: Выделить всё
_LOOP SpStep where (( p1 == SpStep.cStepDoc )) _LOOP SpSoprA where (( SpStep.nRec == SpSoprA.cSpStep )) case SpSoprA.VidSopr of 102, 203: if ( GetFirst KatSoprA where (( SpSoprA.cSopr == KatSoprA.NRec )) = tsOk ) if ( KatSoprA.cStepDoc = 0 ) { if (GetFirst KatSoprMem where ((SpSoprA.cSopr == KatSoprMem.cRec)) <> tsOk) { ClearBuffer(#KatSoprMem); KatSoprMem.cRec := KatSoprA.NRec; KatSoprMem.VidSopr := KatSoprA.VidSopr; KatSoprMem.dSopr := KatSoprA.dSopr; KatSoprMem.dOpr := KatSoprA.dOpr; KatSoprMem.NSopr := KatSoprA.NSopr; KatSoprMem.Descr := KatSoprA.Descr; KatSoprMem.cVal := KatSoprA.cVal; KatSoprMem.Status := KatSoprA.Status; KatSoprMem.cSchFact := KatSoprA.cSchFact; KatSoprMem.cNote := KatSoprA.cNote; KatSoprMem.cOrgBase := KatSoprA.cOrgBase; KatSoprMem.Summa := KatSoprA.Summa; KatSoprMem.SumVal := KatSoprA.SumVal; KatSoprMem.bRozn := FALSE; KatSoprMem.cStepDoc := KatSoprA.cStepDoc; if ( Insert current KatSoprMem <> tsOk ) continue; } if (GetFirst SpSoprMem where ((SpSoprA.NRec == SpSoprMem.cRec)) = tsOk) Continue; ClearBuffer(#SpSoprMem); SpSoprMem.cSopr := KatSoprMem.NRec; SpSoprMem.NPP := SpSoprA.NPP; SpSoprMem.cRec := SpSoprA.NRec; SpSoprMem.prMC := if (SpSoprA.prMC <> 0, SpSoprA.prMC, 1); SpSoprMem.KolFact := SpSoprA.KolFact; SpSoprMem.cMCUSL := SpSoprA.cMCUSL; SpSoprMem.cPArty := SpSoprA.cParty; SpSoprMem.cOtpEd := if (SpSoprA.prMC <= 2, SpSoprA.cOtpEd, 0); SpSoprMem.Price := SpSoprA.Price; SpSoprMem.rPrice := SpSoprA.rPrice; SpSoprMem.VPrice := SpSoprA.VPrice; SpSoprMem.rVPrice := SpSoprA.rVPrice; if ( Insert current SpSoprMem <> tsOk ){} } end;
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Акты на списание и ДО
там все синонимы. Раз нет в словаре значит либо времянка, либо синоним. Эта к spsopr