Лабораториялық жұмыс № 25 (1 сағат)
Тақырып: Сұраныс құру
Жұмыс мақсаты: қарапайым және күрделі сұраныстарды құру, олармен жұмыс істеу дағдыларын меңгеру.
Тапсырма:
Қарапайым сұраныс құру
Қиылысқан сұраныстарды құру және есеп берулерді қалыптастыруда пайдалану
Әдістемелік нұсқаулар
Қандай-да бір есептемелерді құру үшін ақпараттарды құжаттардан іздеу керек. Құжаттардағы деректер нақты түрде агрегатталады және топталады. Осылай ақырғы есептеме нәтижесi үшiн мәлiметтер пайда болады. 1С:Предприятие ортасында құжаттардан ақпараттарды тез алу құралдарының бірі сұраныстар құру болып табылады.
1С:Предприятие жүйесінде арнайы агрегаттық мәліметтер типі –Сұраныс бар. Сұраныстар арнайы сұраныс тілдері арқылы құрастырылады. Сұраныстар мәтінінде келесі секциялар болады:
сұраныстың айнымалыларын жариялау (атрибуттар немесе объектінің реквизиттеріне сілтемелер), мысалы,
Количество = Документ.ПоступлениеМатериалов.Количество
немесе
Поставщик = Документ.ПоступлениеМатериалов.Поставщик
агрегаттау функциясын суреттеу, сұраныс айнымалылары негізінде мәнін анықтау, мысалы,
Функция Сумма1 = Сумма(Количество)
сұраныстың топтамасын суреттеу (қандай айнымалылар арқылы деректерді топтау керек және оларды калай ретке келтіру керек), мысалы,
Группировка Поставщик упорядочить по Поставщик.Наименование
Сұраныстың мәтінін жолдық айнымалыда сақтаған ыңғайлы. Сұраныс мәтінін құрастырғаннан кейін оны орындау міндетті. Ол үшін агрегаттық мәліметтер типі Запрос объектісін құру керек (мысалы, МойЗапрос) және оған Выполнить(ТекстЗапроса) әдісін шақырту керек. Бұл функция 0 қайтарады, егер сұраныста қателер болса, кері жағдайда 1 қайтарылады.
Сайып келгенде, барлық Сформировать() процедурасы келесі түрде беріледі:
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
ТекстЗапроса ="//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Поставщик = Документ.ПоступлениеМатериалов.Поставщик;
|Материал = Документ.ПоступлениеМатериалов.Материал;
|Количество = Документ.ПоступлениеМатериалов.Количество;
|Сумма = Документ.ПоступлениеМатериалов.Сумма;
|Функция Сумма1 = Сумма(Количество);
|Функция Сумма2 = Сумма(Сумма);
|Группировка Поставщик
упорядочить по Поставщик.Наименование;
|Группировка Материал
упорядочить по Материал.Наименование;
|";//}}ЗАПРОС
Запрос=СоздатьОбъект("Запрос");
// если запрос не выполнится, например,
// из-за ошибки в запросе
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Таб.ВывестиСекцию("Заголовок");
Пока Запрос.Группировка(1) = 1 Цикл
Таб.ВывестиСекцию("поставщик");
Пока Запрос.Группировка(2) = 1 Цикл
Таб.ВывестиСекцию("материал");
КонецЦикла;
КонецЦикла;
Таб.ВывестиСекцию("Итого");
Таб.ТолькоПросмотр(1);
Таб.Показать();
КонецПроцедуры
|
№25 лабораториялық жұмысқа тапсырмалар
1. «МойЗапрос» сұранысың құрыңыз.
2. «Оборотно – сальдовая ведомость» есебің баспа формасының шаблоны құрыңыз.
Достарыңызбен бөлісу: |