Номенкл.
|
Номер1
|
Ручка
|
1
|
Карандаш
|
2
|
Вилка
|
3
|
Таблица 2
ЕдИзм
|
Номер2
|
Шт
|
1
|
Гр
|
3
|
Кг
|
4
|
Банка
|
1
|
Пусть условием связи будет:
Таблица1.Номер1=Таблица2.Номер2
В качестве полей запроса определим две колонки: «Номенкл.» из первой таблицы и «ЕдИзм» из второй таблицы.
В соответствии с условием можно выделить записи, для которых условие выполняется:
Записи, неудовлетворяющие условию соединения:
Теперь рассмотрим варианты соединения:
Внутреннее соединение: в результат выполнения запроса войдут только данные записей из обеих таблиц, для которых выполняется условие соединения т.е.
Ручка
|
Шт.
|
Ручка
|
банка
|
Вилка
|
Гр.
|
Левое внешнее соединение: в результат выполнения запроса войдут данные из записей, для которых выполняется условие соединения и «не вошедшие» из Таблицы №1.
Ручка
|
Шт.
|
Ручка
|
банка
|
Вилка
|
Гр.
|
Карандаш
|
Null
|
Правое внешнее соединение обратно левому.
Ручка
|
Шт.
|
Ручка
|
банка
|
Вилка
|
Гр.
|
Null
|
Кг.
|
Полное внешнее соединение. В результат запроса войдут как записи, для которых выполнялось условие соединения, так и записи, полученные из «не вошедших» данных из обеих таблиц.
Ручка
|
Шт.
|
Ручка
|
банка
|
Вилка
|
Гр.
|
Карандаш
|
Null
|
Null
|
Кг.
|
В любом случае, даже в результате использования полного внешнего соединения не получается полная комбинация значений. (В случае полного соединения добавляются записи, не удовлетворяющие условию, а не все возможные их комбинации).
// Показать курсы всех валют, которые хранятся в регистре сведений КурсыВалют.
// Возможно, что для некоторой валюты не будет найдено соответствующей записи в регистре
// сведений, но она также должна попасть в отчет.
| ВЫБРАТЬ Спр.Наименование, Рег.Курс
| ИЗ Справочник.Валюты КАК Спр
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.КурсыВалют.СрезПоследних() КАК Рег
| ПО Спр.Ссылка = Рег.Валюта
// Или то же самое можно сделать так:
| ВЫБРАТЬ Спр.Наименование, Рег.Курс
| ИЗ РегистрСведений.КурсыВалют.СрезПоследних() КАК Рег
| ПРАВОЕ СОЕДИНЕНИЕ
| Справочник.Валюты КАК Спр
| ПО Спр.Ссылка = Рег.Валюта
4.6. Упорядочивание
Часто требуется представить результат выполнения запроса упорядоченным по какому-то полю или группе полей. Для этого используется оператор
УПОРЯДОЧИТЬ ПО СписокПолей
Для каждого поля из списка можно указать порядок сортировки: ВОЗР, УБЫВ, ИЕРАРХИЯ. Если порядок не указан то сортировка происходит по возрастанию.
Последний порядок (ИЕРАРХИЯ) работает только для таблиц с иерархией, например таблиц иерархических справочников. Упорядочивание происходит сначала по первому полю списка, затем в рамках уже существующей сортировки упорядочивание по второму полю и т.д.
| ВЫБРАТЬ Наименование КАК Товар
| ИЗ Справочник.Номенклатура
| УПОРЯДОЧИТЬ ПО Товар ИЕРАРХИЯ");
Ключевое слово ПЕРВЫЕ ограничивает выборку несколькими первыми записями. Часто это слово используется в комбинации с упорядочиванием.
// Найти 3 самых дорогих товара
| ВЫБРАТЬ ПЕРВЫЕ 3 Наименование КАК Товар, ЦенаПродажи КАК Цена
| ИЗ Справочник.Номенклатура
| УПОРЯДОЧИТЬ ПО Цена УБЫВ");
4.7. Группировка и итоги
Часто при анализе данных необходимо получать суммирующую информацию для нескольких полей и всего отчета в целом или просто объединять записи в группы по какому-то признаку. Для этого используется механизм группировки и применяется оператор
СГРУППИРОВАТЬ ПО СписокПолей
Порядок следования полей в списке определяет и порядок вложенности (иерархию) групп. Для получения обобщенных данных по группам применяются агрегатные функции СУММА, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, КОЛИЧЕСТВО. Эти функции можно использовать и в операторе ВЫБРАТЬ, но при этом в список полей группировки нужно добавлять все поля из ВЫБРАТЬ, не охваченные агрегатными функциями. Ключевое слово АВТОУПОРЯДОЧИВАНИЕ позволяет включить режим автоматического формирования полей для упорядочивания результата запроса.
В группировке можно указывать дополнительные условия отбора по полям группировки и агрегатным функциям. Для этого используется оператор ИМЕЮЩИЕ. Он применяется только с группировками. Он существенно замедляет работу сервера по выполнению запроса.
// Выбрать товары, которых продали не менее 100 штук
| ВЫБРАТЬ Номенклатура,
| СУММА(Количество) КАК Продано
| ИЗ Документ.ПродажаТоваров.Товары
| СГРУППИРОВАТЬ ПО Номенклатура
| ИМЕЮЩИЕ Сумма(Количество) >= 100
Логическим завершением группировки является получение общих итогов по полям запроса. Для этого применяется оператор
ИТОГИ СписокПолейСАгрегатнымиФункциями ПО СписокПолей
В списке полей можно использовать оператор ОБЩИЕ.
// Итоги по группировкам
// Объем продаж по каждой комбинации контрагента и номенклатуры
| ВЫБРАТЬ Контрагент, Номенклатура, Сумма
| ИЗ РегистрНакопления.Продажи
| ИТОГИ СУММА(Сумма)
| ПО Контрагент, Номенклатура
| АВТОУПОРЯДОЧИВАНИЕ
4.8. Параметры
Для включения в текст запроса переменных значений непосредственно перед выполнением используется механизм параметров. Параметр – это аналог переменной любого языка программирования в языке запроса. Каждый параметр в тексте запроса обозначается знаком &, например &Параметр1. Параметры могут использоваться в операторе ГДЕ для сравнения с полями запроса. Заполнение значений параметров выполняется средствами встроенного языка перед выполнением запроса.
// Использование параметров и ключевого слова МЕЖДУ
З = Новый Запрос ("
| ВЫБРАТЬ Наименование КАК Товар,
| ЦенаПокупки
| ИЗ Справочник.Номенклатура
| ГДЕ ЦенаПокупки МЕЖДУ &МинЦена И &МаксЦена");
З.УстановитьПараметр("МинЦена", 100);
З.УстановитьПараметр("МаксЦена", 1000);
РЗ = З.Выполнить();
Заключение
Фирма «1С» занимает первое место в программном секторе российской компьютерной индустрии. Из разработок фирмы «1С» наиболее известны программы системы «1С: Предприятие», которые фактически стали стандартом экономического программного обеспечения как стране, так и в Пензенском регионе.
Основным ресурсом развития информационных технологий являются квалифицированные специалисты. Фирмы-партнеры «1С» постоянно испытывают нехватку высококвалифицированных кадров.
Существенно повышает статус выпускников на рынке труда наличие у них сертификатов известных фирм-производителей программного обеспечения. Для достижения этих целей фирма «1С» ввела в практику корпоративную систему сертификации. Первая ступень «1С: Профессионал» - тестирование, подтверждающее квалификацию профессионального пользователя программ «1С». Данный курс лекций как раз и ориентирован на подготовку к сдаче экзамена «1С: Профессионал» по направлению «Основные механизмы платформы «1С: Предприятие».
Пензенский государственный университет имеет с фирмой «1С» «Договор о сотрудничеств с высшими и средними образовательными учреждениями» и «Соглашение о сертификации учащихся высших и средних учебных заведениях по программе «1С: Профессионал». Следует отметить, что ПГУ является единственным ВУЗом Пензы, имеющим такое соглашение.
Для более углубленной подготовки к сдаче экзамена «1С: Профессионал» Центр повышения квалификации и дополнительного образования ПГУ проводит курсы повышения квалификации. Всем успешно закончившим обучение выдаётся удостоверение о повышении квалификации. По окончании обучения желающие могут сдать экзамен на получение сертификата «1С: Профессионал». Для записи на курсы следует обращаться в Центр повышения квалификации и дополнительного образования ПГУ (г. Пенза, ул. Красная, 40, ПГУ, учебный корпус №3, аудитория 3-103 телефон: (841-2) 36-84-73).
Литература
Хохлов А. Е. Разработка приложений в системе «1С: Предприятие 8»: Учебно-методическое пособие. – Пенза: Изд-во ПГУ, 2012. – 80 с.
Радченко М. Г., Хрусталева Е. Ю. 1С: Предприятие 8. Практическое пособие разработчика. Примеры и типовые приемы. – М.: ООО «1С-Паблишинг», 2013. –874 с.
Интернет-ресурсы
Информационно-технологическое сопровождения пользователей «1С: Предприятия» [Электронный ресурс]. URL:http://its.1c.ru .
Хохлов А. Е. Методические материалы по МДК.01.03. Программирование в среде "1С: Предприятие". [Электронный ресурс]. Режим доступа: http://dep_ivs.pnzgu.ru/bibl .
Конспект лекций разработан в соответствии с требованиями ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах, утвержденного приказом Министерства образования и науки РФ № 804 от 28 июля 2014 г. с учетом рекомендаций ПрООП.
Конспект лекций разработал:
Хохлов А.Е., доцент каф. «ИВС»
Конспект лекций одобрен кафедрой «Информационно-вычислительные системы», ответственной за проектирование и реализацию ППССЗ.
Протокол заседания кафедры № ___ от _______________.
Заведующий кафедрой Ю.Н. Косников
Конспект лекций одобрен Учебно-методическим советом Многопрофильного колледжа
Протокол № ___ от «____» ______________ 20__ года
Председатель Учебно-методического совета Многопрофильного колледжа
_______________________ Феоктистов В. А.
Достарыңызбен бөлісу: |