Create view
from spstep, katmc, attrnam, attrval,hdr_ps
where
((
NrecSpStep == spstep.nrec and
spstep.cmcusl == katmc.nrec and
word(1411) == attrnam.wtable (noindex) and
'281474976710823' == attrnam.nrec and
word(1411) == attrval.wtable and
katmc.nrec == attrval.crec and
attrnam.nrec == attrval.cattrnam and
attrval.vcomp == hdr_ps.cizd(noindex)and
word(1) == HDR_PS.ACTIVE(noindex)
));
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Create view
from spstep, katmc, attrnam, attrval,hdr_ps
where
((
NrecSpStep == spstep.nrec and
spstep.cmcusl == katmc.nrec and
281474976710823 == attrval.cattrnam and
coKatMc == attrval.wtable and
katmc.nrec == attrval.crec and
attrval.vcomp == hdr_ps.cizd(noindex)and
word(1) == HDR_PS.ACTIVE(noindex)
));
В hdr_ps есть индекс cTypeIzd + cIzd.cTypeIzd неизвестен?
Послушал мнению людей, и понял что использовать обычный текстовый редактор не очень здорово) поставил Vip. Переписал Create view, избавился от одного из noindex
Create view
from spstep, katmc, attrnam, attrval,hdr_ps
where
((
NrecSpStep == spstep.nrec and
spstep.cmcusl == katmc.nrec and
word(1411) == attrnam.wtable and
'Основная МЦ' == attrnam.name and
word(1411) == attrval.wtable and
katmc.nrec == attrval.crec and
attrnam.nrec == attrval.cattrnam and
attrval.vcomp == hdr_ps.cizd (noindex) and
word(1) == HDR_PS.ACTIVE(noindex)
));
В hdr_ps есть индекс cTypeIzd + cIzd.cTypeIzd неизвестен?
не совсем понял ваш вопрос.
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
Если известно значение поля cTypeIzd (видимо ссылка на тип изделия?), то добавление его в выборку позволит избавиться от второго noIndex.
У меня большое подозрение, что cTypeIzd = cgKau_KatMc = 4.
И word(1411) все-таки замените на coKatMc. Глаз режет.
Возможно не совсем корректно напишу, но надеюсь, что суть будет понятна.
В Support открываете карточку таблицы. Внизу есть закладки: «Поля», «Индексы», «Флаги», «Ссылки». На закладке «Индексы» указан перечень и состав индексов к выбранной таблице, заложенный разработчиками. В соответствии с нужным в конкретном случае индексом происходит работа с таблицей: идет поиск, строятся отчеты, делается экспорт и т. д. Когда Вы пишите view, Вы указываете условия на значения полей нужных таблиц. И вот для каких полей надо наложить условия и какие условия — надо смотреть на перечень доступных индексов и состав их сегментов. В Вашем случае Вам обязательно нужно было условие на МЦ (hdr_ps.cizd). Т.о. Вам надо посмотреть индексы к таблице Hdr_ps, в качестве сегмента у которых используется Cizd, и дополнительные условия надо указывать на ВСЕ поля, которые указаны в качестве сегментов до нужного Вам сегмента. Вам может подойти например индекс HDR_PS05: cTypeIzd + cIzd + Vid. Значит Вы должны указать дополнительно условие на cTypeIzd. Если между 1 сегментом и нужным Вам сегментом есть сегменты, на которые условия не наложить, то можете получить проблему при компиляции. Один из способов решения проблемы — указать на каких-то условиях (Noindex), что повлияет на скорость работы запроса. А вот второй способ решения — указать условия на все сегменты до нужного Вам. Значение cTypeIzd можно было как минимум подсмотреть при просмотре таблицы, запросом, в KauConst.inc. Если бы поле принимало разные значения, то надо было анализировать дополнительно. Например, при работе с Katsopr, если Вам надо работать только с определенными документами (приходные накладные/ расходные накладные/…), то Вы задаете условие на Katsopr.Vidsopr, а нужное значение задаете при дополнительном анализе (например по Ctrl + F4, стоя на нужном документе, или в Katdoc.inc)
P.S. Во view на некоторые таблицы можно и не накладывать условия, а задавать их непосредственно при поиске в такой таблице ( Getfirst, Getlast, ...) - в условии Where ((…)). Подозреваю, что на меня могут наброситься за такое )))
Irina_ писал(а):Я удивилась, прочитав, что проблема связана с русским языком, т. к. сама вводила и работала с такими ВА.
Espada, интересно каким редактором Вы пользуетесь для работы с *.vip? Я уже думала, что все в работе используют Viper, и не только с указанными файлами. Не хочется даже вспоминать время, когда Viper не было ))).
обычный Notepad использую)Да я редко работаю с vip файлами, только пару глобальных функций в программе используем, в основном формы через frm и rtf. что бы не использовать русс. язык я просто через nrec обратился и всё)