FCOM - вложенные циклы по лог.табле
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
FCOM - вложенные циклы по лог.табле
хочу вывести номера накладных в счёт-фактуре
.Create view SchNakl as select * from
StepDoc (ReadOnly) ,KatSopr (ReadOnly)
where
((
BaseDocNrec /== StepDoc.cbasedoc
and StepDoc.nRec /== KatSopr.cstepdoc
));
.fields
SchNakl.KatSopr.nsopr
.endfields
//так печатается токо одна накладная
.{ table ‘SchNakl.StepDoc’ by StepDoc.nrec;
.{ table ‘SchNakl.KatsOpr’ by KatSopr.nrec;
^
.}
.}
//а так вообще куча пустых строк и в конце номер последней накладной
.{ table ‘SchNakl’ by StepDoc.nrec;
.{by KatSopr.nrec;
^
.}
.}
как правильно ?
.Create view SchNakl as select * from
StepDoc (ReadOnly) ,KatSopr (ReadOnly)
where
((
BaseDocNrec /== StepDoc.cbasedoc
and StepDoc.nRec /== KatSopr.cstepdoc
));
.fields
SchNakl.KatSopr.nsopr
.endfields
//так печатается токо одна накладная
.{ table ‘SchNakl.StepDoc’ by StepDoc.nrec;
.{ table ‘SchNakl.KatsOpr’ by KatSopr.nrec;
^
.}
.}
//а так вообще куча пустых строк и в конце номер последней накладной
.{ table ‘SchNakl’ by StepDoc.nrec;
.{by KatSopr.nrec;
^
.}
.}
как правильно ?
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
А правильно так:
.Create view SchNakl
As select
*
From
Basedoc,
StepDoc,
KatSopr
Where
((
BaseDocNrec == BaseDoc.NRec And //фиксим ДО
BasedOC.NRec == StepDoc.cBaseDoc And // связь с этапом (пока 1 к 1)
StepDoc.NRec == KatSopr.cStepDoc // связь ДО и накладной (1 к N)
));
.fields
SchNakl.BaseDoc.NoDoc
SchNakl.KatSopr.nsopr
.endfields
Номер ДО Номер накладной
.{table ‘SchNakl.BaseDoc’;
.{table ‘SchNakl.StepDoc’;
.{table ‘SchNakl.KatSopr’;
@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@
.}
.}
.}
.Create view SchNakl
As select
*
From
Basedoc,
StepDoc,
KatSopr
Where
((
BaseDocNrec == BaseDoc.NRec And //фиксим ДО
BasedOC.NRec == StepDoc.cBaseDoc And // связь с этапом (пока 1 к 1)
StepDoc.NRec == KatSopr.cStepDoc // связь ДО и накладной (1 к N)
));
.fields
SchNakl.BaseDoc.NoDoc
SchNakl.KatSopr.nsopr
.endfields
Номер ДО Номер накладной
.{table ‘SchNakl.BaseDoc’;
.{table ‘SchNakl.StepDoc’;
.{table ‘SchNakl.KatSopr’;
@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@
.}
.}
.}
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
да... еще...важно !!!
.Create view SchNakl
Var
BaseDocNRec : comp;
As select
Описание переменно нуна сделать ИМЕННО тут, иначе компилер будет жутко ругаться что не знает такой переменной. )))
.Create view SchNakl
Var
BaseDocNRec : comp;
As select
Описание переменно нуна сделать ИМЕННО тут, иначе компилер будет жутко ругаться что не знает такой переменной. )))
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
вопервых зачем лишний цикл по basedoc ?
во вторых линк форма прекрасно знает, что такое BaseDocNRec и тут компилер не ругается, ну и в третьих - это почти мой первый вариант (токо без базедока), и он к сожалению не пашет
да и еще - первый вариант вынесенный в ARD прекрасно пашет (есс-но в место BaseDocNRec я конкретный номер вставил), а вот в линке не хочет
во вторых линк форма прекрасно знает, что такое BaseDocNRec и тут компилер не ругается, ну и в третьих - это почти мой первый вариант (токо без базедока), и он к сожалению не пашет
да и еще - первый вариант вынесенный в ARD прекрасно пашет (есс-но в место BaseDocNRec я конкретный номер вставил), а вот в линке не хочет
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
проблема именно во вложенной табле -
такая конструкция работает
.fields
SchNakl.StepDoc.summa
.endfields
.{ table ‘SchNakl.StepDoc’ by StepDoc.nrec;
^
.}
а вот как правильно заглянуть в KatSopr уже вопрос
такая конструкция работает
.fields
SchNakl.StepDoc.summa
.endfields
.{ table ‘SchNakl.StepDoc’ by StepDoc.nrec;
^
.}
а вот как правильно заглянуть в KatSopr уже вопрос
[url=http://blog.gtalex.ru]Блог GTAlex[/url]
-
- На пенсии
- Сообщения: 797
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г. Тюмень
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
А ты вынес, как Maverick предлагал BaseDocNRec в логическую таблу?
и еще убери все BY в циклах по таблице
и еще достаточно странное пржположение значение BaseDocNRec точно определено в цикле?
и еще убери все BY в циклах по таблице
и еще достаточно странное пржположение значение BaseDocNRec точно определено в цикле?
Жду выхода Вселенная 2.12!
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
Ну во-первых цикл по stepDoc не лишний ибо
а) это только ПОКА реализовано что на 1 ДО формируется 1 этап ДО. У тебя есть гарантия что в следующем же патче не будет реализована схема, по которой 1 ДО будет соответствовать несколько этапов?
б) во-вторых именно ТАКАЯ связка КОРРЕКТНО связывает ДО с сопролводительным документом, а именно BaseDoc-StepDoc-KatSopr-SpSopr- и т.д. (можно вполть до налогов по спецификации спуститься) )
в) как сказал Максим - опиши все таки переменную )))
а) это только ПОКА реализовано что на 1 ДО формируется 1 этап ДО. У тебя есть гарантия что в следующем же патче не будет реализована схема, по которой 1 ДО будет соответствовать несколько этапов?
б) во-вторых именно ТАКАЯ связка КОРРЕКТНО связывает ДО с сопролводительным документом, а именно BaseDoc-StepDoc-KatSopr-SpSopr- и т.д. (можно вполть до налогов по спецификации спуститься) )
в) как сказал Максим - опиши все таки переменную )))
-
- Местный житель
- Сообщения: 517
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск Новосибирск
- Контактная информация:
Re: FCOM - вложенные циклы по лог.табле
в общем дело было не в бобине
вытянул в отдельный линк то что нужно - всё пашет - ниже текст если кому нибудь еще интересно, просто пытался сразу в rtf встроить и чё то с ним не то, разберусь позже, а на счёт вышесказанного -
а) - почему то уверенность, что на 1 ДО будет 1 этап ДО у меня есть
б) про эту связку я вкурсе, просто именно в данном случае basedoc я считаю не нужен (см.п. а)
в) если переменную описать вообще работать перестаёт, видимо при описании старое значение гасится или ещё что, кому интересно можете сами компильнуть и убедиться
.linkform 'TABLES' prototype is 'PRBDOC'
.NameInList 'Эксперименты с табличками'
.group 'Продажа'
.Create view SchNakl
as select * From StepDoc, KatSopr
Where
((
BaseDocNrec == StepDoc.cBaseDoc
and StepDoc.NRec == KatSopr.cStepDoc
));
.{
.{CheckEnter ISEXCLASS
.}
.{CheckEnter ISGROUP
.}
.{
.}
.fields
SchNakl.KatSopr.nsopr
.endfields
.{table 'SchNakl.StepDoc';
.{table 'SchNakl.KatSopr';
Номер накладной ^
.}
.}
.if DELIMITER
.else
.end
.}
.endform
вытянул в отдельный линк то что нужно - всё пашет - ниже текст если кому нибудь еще интересно, просто пытался сразу в rtf встроить и чё то с ним не то, разберусь позже, а на счёт вышесказанного -
а) - почему то уверенность, что на 1 ДО будет 1 этап ДО у меня есть
б) про эту связку я вкурсе, просто именно в данном случае basedoc я считаю не нужен (см.п. а)
в) если переменную описать вообще работать перестаёт, видимо при описании старое значение гасится или ещё что, кому интересно можете сами компильнуть и убедиться
.linkform 'TABLES' prototype is 'PRBDOC'
.NameInList 'Эксперименты с табличками'
.group 'Продажа'
.Create view SchNakl
as select * From StepDoc, KatSopr
Where
((
BaseDocNrec == StepDoc.cBaseDoc
and StepDoc.NRec == KatSopr.cStepDoc
));
.{
.{CheckEnter ISEXCLASS
.}
.{CheckEnter ISGROUP
.}
.{
.}
.fields
SchNakl.KatSopr.nsopr
.endfields
.{table 'SchNakl.StepDoc';
.{table 'SchNakl.KatSopr';
Номер накладной ^
.}
.}
.if DELIMITER
.else
.end
.}
.endform
[url=http://blog.gtalex.ru]Блог GTAlex[/url]