ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КУЗБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ФИЛИАЛ В Г. ПРОКОПЬЕВСКЕ
Утверждаю: |
||
_______________ |
||
«____» ________ |
Методические указания
к выполнению лабораторной работы
«Создание запросов на встроенном языке
системы 1С:Предприятие 7.7»
по дисциплине
«Компьютерные технологии финансовых операций»
для студентов специальности
351400 «Прикладная информатика в экономике»
Факультет
Кафедра
Составитель |
||
М.Н. Смирнова |
||
Прокопьевск 2006
1.Цель и задачи работы.
· Изучение конструкций языка запросов;
· Создание обработок на встроенном языке.
2.Работа с Запросами.
С помощью механизма универсального запроса можно извлечь данные почти всех объектов системы 1С:Предприятие: справочников, документов, регистров, бухгалтерских итогов и др.
Последовательность действий при работе с запросом следующая:
1. создать переменную агрегатного типа «Запрос»;
2. в строковой переменной описать текст запроса на языке запросов;
3. выполнить запрос;
4. обработать результаты запроса.
Создайте обработку «Консоль запросов»:
Текст запроса состоит из операторов. Каждый оператор заканчивается точкой с запятой. Операторы могут записываться в любом порядке, однако, чтобы использовать внутреннюю переменную в операторах Группировка, Функция или Условие, ее нужно предварительно описать.
Внутренняя переменная – это переменная, объявленная в тексте описания запроса следующим образом:
<ИмяПеременной> = <ОписаниеПеременной>;
где описание переменной указывает на доступный в языке запросов атрибут документа, справочника, регистра или журнала расчетов. Для получения ссылки на сам объект используется атрибут ТекущийДокумент для документов и ТекущийЭлемент — для элементов. Например, описание
Агент = Справочник.Агенты.ТекущийЭлемент;
означает, что во внутреннюю переменную Агент будут попадать ссылки на элементы справочника агентов. Описание
Агент = Документ.ДоговорЗайма.Агент;
также выбирает ссылки на агентов, но только тех, которые присутствуют в документах ДоговорЗайма.
Одна внутренняя переменная может иметь несколько описаний, разделенных запятыми, например:
Агент = Документ.ДоговорЗайма.Агент, Справочник.Агенты.ТекущийЭлемент;
Типы данных по всем описаниям должны совпадать, иначе произойдет ошибка выполнения запроса. При этом допускается ссылка на документы (справочники) разных видов. В этом случае внутренняя переменная получит тип
"Документ (справочник) неопределенного вида".
Несколько описаний внутренней переменной означает, что при ее использовании в качестве группировки будут выбраны все объекты, встречающиеся хотя бы в одном из описаний.
Группировки запроса устанавливают порядок выбора информации. Группировка описывается следующим образом:
Группировка <ИмяГруппировки>
[Упорядочить по <Порядок>][Без Упорядочивания]
[Без Групп]
[Все [ВошедшиеВЗапрос]];
В качестве имени группировки может быть выбрана одна из внутренних переменных или предопределенная группировка:
Документ
СтрокаДокумента
День
Неделя
Месяц
Квартал
Год
Если в тексте запроса не описана ни одна группировка, то результат запроса будет пустой, при этом запрос выполнится без ошибок.
Выполним запрос:
Для упорядочивания группировок могут также выступать функции запроса. Упорядочивание по группировке можно отключить, добавив ключевое слово
Без Упорядочивания.
Для группировок по элементам с иерархической структурой можно отключить включение в результат запроса групп элементов с помощью ключевого слова
Без Групп.
Если группировка построена на основе внутренней переменной типа "Справочник", то при использовании ключевого слова «Все» в результат запроса будут включены все элементы этого справочника.
Для предопределенных временных группировок при использовании ключевого слова «Все» подразумевается, что в запрос будут включены любые значения данных (в том числе нулевые) в каждый заданный момент времени с даты начала запроса по дату конца запроса (интервал задается оператором запроса «Период С...»).
Группировок в запросе может быть несколько. Каждая последующая группировка детализирует предыдущую, поэтому порядок группировок принципиально важен.
В запросе условия на отбираемые данные можно задать следующими операторами:
Обрабатывать[ПомеченныеНаУдаление | НеПомеченныеНаУдаление|Все];
оператор уточняет, являются ли отбираемые в запросе объекты помеченными на удаление или нет. По умолчанию обрабатываются все объекты;
ОбрабатыватьДокументы [Непроведенные | Проведенные ] Все];
оператор уточняет, являются ли отбираемые в запросе документы проведенными или нет;
По умолчанию в запрос входят только проведенные документы.
[Период] С <Дата>|<ВнешняяПеременная> [ПО <Дата>|<ВнешПеременная>];
оператор уточняет, за какой период будут извлекаться данные документов и объектов, имеющих привязку по оси времени: бухгалтерских операций, регистров, записей журнала расчетов. В качестве даты может указываться дата, внешняя переменная или выражение на встроенном языке, заключенное в круглые скобки. Для документов отбор производится по реквизиту ДатаДок;
Условие (<ЛогическоеВыражение>); — в этом операторе можно задать произвольное условие. Если в тексте запроса есть несколько операторов Условие(), то они объединяются логическим И.
Дополнительно к стандартным логическим операциям, определенным во встроенном языке, в запросе может использоваться проверка вхождения элемента справочника в группу элементов или в список значений — операция "В". При этом если группа задана пустым значением, то условие будет истинным для всех элементов справочника.
Чтобы не заполнять каждый раз одни и те же значения в форме диалога, в панели инструментов Формы есть две кнопки: Открыть настройку и Сохранить настройку. После того как все параметры формы введены (например, в форме отчета "КонсольЗапросов" это реквизит ТекстЗапроса), нажимаем кнопку Сохранить настройку и задаем название настройки. Чтобы вернуться к сохраненным настройкам, нажимаем кнопку Открыть настройку и выбираем интересующую нас настройку.
Внесите в форму КонсольЗапросов изменения:
Результат выполнения запроса по договорам оформления вклада с отбором по клиенту:
Для выполнения вычислений в языке запросов предусмотрен оператор «Функция», имеющий следующий формат:
Функция <ИмяФункции> = <ТипФункции> (<Параметр>) [Когда (<Условие>)];
Тип функции – одна из предопределенных функций:
· Сумма
· Среднее
· Минимум
· Максимум
· СчЁтчик (пишется через букву Ё).
В качестве параметра функции может быть имя внутренней переменной типа «Число», а для функций Сумма, Среднее, Минимум, Максимум может быть арифметическое выражение в терминах встроенного языка 1С:Предприятия.
Составьте запросы для вычисления суммы вкладов по каждому отделению, суммы по всем отделениям, среднего по отделению, количества по каждому отделению и всего, максимального и минимального вклада.
3.Контрольные вопросы.
3.1. Что такое запрос?
3.2. Какие операторы используются в запросе?
3.3. Какой минимальный набор операторов должен использоваться в тексте запроса, чтобы результат был ненулевым?
3.4. В каком порядке должны идти операторы запроса?
3.5. Для чего применяется оператор Без итогов?
4.Список использованных источников.
1. 1С:Предприятие 7.7. Описание встроенного языка.
2. Митичкин С.А. Электронное учебное пособие «Практика программирования в среде 1С:Предприятие».
3. Рязанцев Н., Рязанцев Д. 1С: Предприятие. Секреты программирования.- СПб.: БХВ – Петербург, 2004 – 352 с.
4. Усиков Т.Н. 1С: Предприятие. Эффективное программирование – М.: Новое знание, 2004 – 446 с.
5. Бартеньев О.В. 1С:Предприятие: программирование для всех. Базовые объекты и расчёты на одной дискете – М.:Диалог-МИФИ, 2004. – 464с.
6. Михайлов С.Е. 1С-программирование как дважды два. Самоучитель.-СПб.:Тритон, 2005.-173, с.:ил.
7. www.1C.ru – официальный сайт компании 1С.
8. www.mista.ru – программирование в системе 1С:Предприятие.
9. www.m2bc.ru – консультации по ведению учета и программированию в системе 1С:Предприятие.
10. http://www.vitalikk.ru/html/book/book-1c-000.html - учебник.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.