Това, което се дозира заявки в системата 1С Предприятие 8

Мисля, че всички ще се съгласите, че темата на заявката в 1С: Enterprise 8 днес наброява от своята актуалност. Ето защо нашата днешната статия решихме да посветим една тема, свързана с асоциация заявка, получавате най-новата от датата на документите в заявките и връзка исканията за 1С. Нека да започнем едни и същи.

Така че, за да се създаде в 1С: Enterprise искане партида за използване на предлаганото настаняване. поискване Партида означава с множество заявки веднага описани като една голяма молба. Всички те се извършват в последователност един след друг. Използването на който и да е от тези искания, те могат да бъдат поставени във вътрешността на временна таблица и след това се прилага към него, като се използва вече какво друго искане. Вероятно повечето от вас ще попитам: Какви са предимствата на този метод?

Ние имаме отговор на този въпрос. Лично аз мисля, че най-голямото предимство на този метод е възможността да се постави на резултатите във вътрешността на така наречената временна таблица. В него могат да се използват няколко пъти. Освен това, което правите с всичко това, няма да се налага да се многократно изпълнява същата подзаявка, всичко, което ще трябва е само трябва само да изберете данни от крайния маса. Някои от вас ще се питам: дали има в тази техника, която е минуси. Разбира се, както във всичко в нашия свят, има някои определени недостатъци на този метод.

Най-значителен е фактът, че по време на работа във временни маси пакет искания, системата може да генерира много реален таблица от база данни. Може би някои ще попитам: какво от това е толкова лошо? От една страна е добре. Но, от друга страна, ще се харчат голяма част от времето си, за да създадете заявки, и след като ги използвате, ще трябва да прекарат известно време още и за да ги премахнете.

Например:
ИЗБЕРЕТЕ
номенклатура,
Размер (пъти) като Количество
Размер (сума) като сума
СЛОЖИ DokPrihod
ОТ
Dokument.PostuplenieTovarovUslug.Tovary
Групирани по номенклатура

В резултат на това, след като използвате тази заявка ще покаже само броя на записите, които са били поставени в таблицата. по този начин резултати се съхраняват в същата таблица. Да направим подобно искане за разходни касови бележки. За да направите това, ние трябва да отделя тези две заявки, като използват символа ";". Това, че той е в състояние да информира потребителя, който започва в края на една молба пакет и от друга страна.

ИЗБЕРЕТЕ
номенклатура,
Размер (пъти) като Количество
Размер (сума) като сума
СЛОЖИ DokPrihod
ОТ
Dokument.PostuplenieTovarovUslug.Tovary
Групирани по номенклатура
;

ИЗБЕРЕТЕ
номенклатура,
Размер (пъти) като Количество
Размер (сума) като сума
СЛОЖИ DokRaskhod
ОТ
Dokument.RealizatsiyaTovarovUslug.Tovary
Групирани по номенклатура

;
ИЗБЕРЕТЕ
*
ОТ
DokPrihod AS DokPrihod
ПЪЛЕН ВРЪЗКА
DokRaskhod AS DokRaskhod
софтуер
DokPrihod.Nomenklatura = DokRaskhod.Nomenklatura

От това можем да видим, че третата заявка комбинира данни от тези две запитвания.

Нека сега да се опитаме да доведе запитване още по-красива гледка. За да направите това, заявката ще се опита да разбере какво количество и количество имахме кредит, както и всички консумативи. За да направите това трябва да бъде малко по-малко, за да промените текста на третото искане.

ИЗБЕРЕТЕ
DokPrihod.Nomenklatura,
DokRaskhod.Nomenklatura,
DokPrihod.Kolichestvo AS KolPrihod,
DokPrihod.Summa AS SumPrihod,
DokRaskhod.Kolichestvo AS KolRaskhod,
DokRaskhod.Summa AS SumRaskhod
ОТ
DokPrihod AS DokPrihod
ПЪЛЕН ВРЪЗКА
DokRaskhod AS DokRaskhod
софтуер
DokPrihod.Nomenklatura = DokRaskhod.Nomenklatura

В резултат на това ние ще се данни за приходите и разходите. Но ние все още имаме проблеми, свързани с начина, по който е било възможно да се съчетаят две колони, "номенклатура" и "Nomenklatura1"? В този случай, ако се вземе стойността на колоната "Range", ние в крайна сметка не се получи стойността на последния ред, но ако се вземе стойността на колона "Nomenklatura1", а след това не се получи в крайна сметка стойността на третия ред. За да направите това, vospolzovatsya функция "ESTNULL".
В резултат на това искане ще има следния вид:

ИЗБЕРЕТЕ
ESTNULL (DokPrihod.Nomenklatura, DokRaskhod.Nomenklatura)
КАК номенклатура,
DokPrihod.Kolichestvo AS KolPrihod,
DokPrihod.Summa AS SumPrihod,
DokRaskhod.Kolichestvo AS KolRaskhod,
DokRaskhod.Summa AS SumRaskhod
ОТ
DokPrihod AS DokPrihod
ПЪЛЕН ВРЪЗКА
DokRaskhod AS DokRaskhod
софтуер
DokPrihod.Nomenklatura = DokRaskhod.Nomenklatura

В този случай, може да е друг проблем с начина, по който може да бъде заменена с цифрова стойност на нула? За да направите това, вие отново трябва да "ESTNULL" vospolzovatsya функция и пишат на запитването:

ИЗБЕРЕТЕ
ESTNULL (DokPrihod.Nomenklatura, DokRaskhod.Nomenklatura)
КАК номенклатура,
ESTNULL (DokPrihod.Kolichestvo, 0), както KolPrihod,
ESTNULL (DokPrihod.Summa, 0), както SumPrihod,
ESTNULL (DokRaskhod.Kolichestvo, 0), както KolRaskhod,
ESTNULL (DokRaskhod.Summa, 0), както SumRaskhod
ОТ
DokPrihod AS DokPrihod
ПЪЛЕН ВРЪЗКА
DokRaskhod AS DokRaskhod
софтуер
DokPrihod.Nomenklatura = DokRaskhod.Nomenklatura