|
1 |
|
«Подготовка специалистов по
системе 1С:Предприятие 8.2». Начало. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1 |
|
ЗАДАНИЕ№
ЗАДАНИЕ Базовый курс
"Программирование в 1С 8.2. Занятие 1. О курсе О системе 1С:Предприятие Варианты функционирования системы Файловый вариант Клиент-серверный вариант Создание
информационной базы Синтаксис
системы Сообщения и предупреждения Занятие 2. Константы. Создание формы констант. Стандартные команды. Чтение
константы, установка заголовка окна. Клиент-серверная
архитектура. Вызов функции общего модуля. Справочники. Типы справочников: Обычные.
Иерархические. Подчиненные. Создание
справочников. Значения заполнения. Проверка заполнения. Перечисления. Занятие 3. Документы. Реквизитный состав документов. Создание документов Зависимость
реквизитов «Связи параметров выбора». Обработка проверки заполнения Расчет суммы
документа. Ввод на основании. Клиент-серверная архитектура форм Занятие 4. Регистры. Теория
Регистры сведений Курсы
валют Форма со срезом последних Регистры
накопления Остатки товаров Формирование движений Форма с остатками Продажи Формирование движений Интерфейс Создаем интерфейс без подсистем Рабочий стол Подсистемы Продажи Рабочий стол Функциональные опции Складской
учет Валютный учет Занятие 5. Отчеты Отчеты объектной моделью Работа с макетом Запросы Использование консоли запросов для
просмотра результата Формирование
отчетов при помощи запросов Обращение
к данным при помощи запросов Отчет Анализ
продаж Использование системы компоновки
данных |
ЗАДАНИЕ№ 01. Примитивные типы и коллекции. ЗАДАНИЕ№ 04. ПередНачаломРаботыСистемы. ЗАДАНИЕ№ 05. УстановитьЗаголовокПриложения. ЗАДАНИЕ№ 06. Справочники. Структура. ЗАДАНИЕ№ 07. Работа с документами. ЗАДАНИЕ№ 1. Серверные механизмы. (Общие
–Общие модули). ЗАДАНИЕ№ 2.
Формы. Прих.накл. Процедура на клиенте. Процедура РасчетСуммы(). ЗАДАНИЕ№ 3.
КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ. ЗАДАНИЕ№ 4.
Изменение. КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ для докПродажи.Авто ввод цены
и суммы. ЗАДАНИЕ№ 5.
Модуль формы докПродажи.Изолированная серверная
процедура.Изменение.Авто ввод цены из спрНоменклатура и расчет суммы. Формирование отчетов на основе
документов.Регистры накопления.РегистрСведений. ЗАДАНИЕ 11. Видеть актуальные курсы валют.
Форма списка РеСве. РегистрСведений.КурсыВалют.СрезПоследних. На рабочем
столе. ЗАДАНИЕ 12.
РеНак с остатками товаров.Док ПоступлениеТоваров.Движения по РеНак
Вручную.Прочее.Обратиться к объекту. ЗАДАНИЕ 13.
РеНак с остатками товаров.Док ПродажаТоваров.Движения по РеНак Авто.Прочее. ЗАДАНИЕ 14.
Специализированная форма РегНак Остатков. ЗАДАНИЕ 15.
РегНак оборотов.Продажи.Движения документа по 2 регистрам. Объединить. ЗАДАНИЕ 16.
Динамичесикие списки на основе запроса. РегНак Продажи. Форма списка.
ФормаХитаПродаж. ЗАДАНИЕ 17. Интерфейсы. Добавить видимость
регистров.Предопределенная настройка. ЗАДАНИЕ 18. Обновление интерфейса. ЗАДАНИЕ 20. Объектные модели.Запросы.СКД.
Сформировать отчет, который отображает всех сотрудников у которых день
рождения в феврале (текущем месяце). В форме отчета добавить команду.Создание
формы для вывода.2 условия.Вывод данных с использованием Макет. ЗАДАНИЕ 20-1.Отчет1.Модель объекта.
Справочники. Сотрудники.Выбрать(). ЗАДАНИЕ 20-2.Отчет2.Модель Заросов.Вывод
отчета, только изменяя текст запроса. ЗАДАНИЕ 21.Оптимизация выборки.Док
ПродажаТоваров.Надо через запрос в форме документа прочитать ЦенуПродажи. ЗАДАНИЕ 22.Оптимизация выборки.На
основании.ПоступлениеТоваров. Обработка заполнения. Надо получить список товаров, которые
содержат Количество и Номенклатуру по 1-му конкретному документу. Читаем не полные данные из БД, а только
нужные. ЗАДАНИЕ 23.Отчеты.Анализ продаж.Механизм
виртуальных таблиц. ЗАДАНИЕ 23-2.Отчеты.Анализ продаж.Механизм
виртуальных таблиц.Добавление вручную Проц. Сервера с формированием
запроса.Настройка периода. ЗАДАНИЕ 24.Отчеты. СКД.Анализ
продаж.Декларативное описание отчета. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2 |
|
ЗАДАНИЕ№
01. Примитивные
типы и коллекции. |
// Это комментарий easyedu.ru
// 1 Область объявления переменных модуля
Перем МояНоваяПеременная; //
Неопределено
// 2 Описанеи проц и функций
Процедура ИмяПроцедуры() КонецПроцедуры
ИмяПроцедуры();
Процедура Просуммировать(парам1,Знач парам2)Экспорт Парам1=0; Возврат; КонецПроцедуры //
Просуммировать(парам1,парам2)()
Просуммировать(10,20);
Функция Разность (Парам1, Знач Парам2, Парам3=Неопределено)
Экспорт Возврат Парам1-Парам2-Парам3; Если
Парам3= Неопределено Тогда Возврат 0; КонецЕсли; ОтгрузкаРазрешена=Истина; Если ОтгрузкаРазрешена Тогда Иначе КонецЕсли; Если 10=9
Тогда ИначеЕсли 5=8 Тогда ИначеЕсли 3=8 Тогда Иначе КонецЕсли; КонецФункции
Результат= Разность(10,20,30);
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3 |
|
ЗАДАНИЕ№
02. Примитивные
типы и коллекции. |
Процедура
Циклы() A=0; // Цикл с условием Пока А<>10 Цикл A=А+2; КонецЦикла; // Цикл со счетчиком Для B=0 По 10 Цикл КонецЦикла; // Цикл обхода коллекци Массив= Новый Массив(5); Массив[0]=10; Массив[1]=Истина; Массив[2]=Неопределено; Массив[3]=ТекущаяДата(); Массив[4]="Строка"; Для каждого
ВотЭтоПеременнаяКотораяПриметОчереднойЭлементКоллекции Из Массив
Цикл
А=ВотЭтоПеременнаяКотораяПриметОчереднойЭлементКоллекции; Сообщить
(ВотЭтоПеременнаяКотораяПриметОчереднойЭлементКоллекции); КонецЦикла;
КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4 |
|
ЗАДАНИЕ№
03. Примитивные
типы и коллекции. |
// 3 Область инициалиации переменных
// Булево
A=Истина;
Б=Ложь;
B=10>
48= 45 ИЛИ 5 -3 И B<15;
// Число
A=-10.45;
// %
A=10%3;
//Строки
А="Cтрока";
А="с1"+"с2";
А="Строка1
| Cтрока2";
//Дата
Сегодня= '20100101081500' ;
Сегодня= '2010-01-01 08:15:00' ;
Завтра= Сегодня+86400; // кол секунд
ПустаяДата='00010101 000000';
ДатаКомп= ТекущаДата();
//Null
A=NULL;
// Коллекция
//Массив
А=Новый Массив(3);
А[0]=10;
А[1]=Истина;
А[2]="Строка";
В=А[2];
// Структура = таблица = ключ
+ значение
Параметры= Новый Структура;
Параметры.Вставить("ДатаНачала", '20010101');
Параметры.Вставить("ДатаОкончания", '20011231');
А=Параметры.ДатаНачала; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
5 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
6 |
|
ЗАДАНИЕ№ 04. ПередНачаломРаботыСистемы |
Процедура
ПередНачаломРаботыСистемы(Отказ) Предупреждение("Доб пож
133",10); Сообщить("Сегодня" +
ТекущаяДата()); КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
7 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
8 |
|
ЗАДАНИЕ№ 05. УстановитьЗаголовокПриложения |
1.1 Процедура
ПередНачаломРаботыСистемы(Отказ) //Предупреждение("Доб пож
133",10); //Сообщить("Сегодня" +
ТекущаяДата()); УстановитьЗаголовокПриложения(СерверныеМеханизмы.ПолучитьНазваниеОрганизации()); КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
9 |
|
|
1.2 Функция
ПолучитьНазваниеОрганизации() Экспорт Возврат
Константы.НазваниеОрганизации.Получить(); КонецФункции
// ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
10 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
11 |
|
ЗАДАНИЕ№
06. Справочники.
Структура. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
12 |
|
|
Ссылка
Код Наименование ПометкаУдаления Предопределенный Родитель ЭтоГруппа Владелец
ДопРеквизит1 ДопРеквизит2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
13 |
|
|
Одноуровневые, Многоуровненвые
(родитель), Подчиненные
(владелец) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
14 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
15 |
|
ЗАДАНИЕ№ 07.
Работа
с документами. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
16 |
|
|
Ссылка,
Номер, Дата, ПметкаУдаления, Проведен |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
17 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
18 |
|
ЗАДАНИЕ№
1. Серверные
механизмы (Общие
–Оббщие модули). |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
19 |
|
|
Функция
ПолучитьНазваниеОрганизации() Экспорт Возврат Константы.НазваниеОрганизации.Получить(); КонецФункции
// () |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
20 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
21 |
|
ЗАДАНИЕ№
2. Формы.
Прих.накл. Процедура
на клиенте. Процедура
РасчетСуммы() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
22 |
|
|
&НаКлиенте Процедура
СписокТоваровКоличествоПриИзменении(Элемент) РасчетСуммы(); КонецПроцедуры &НаКлиенте Процедура
СписокТоваровЦенаПриИзменении(Элемент) РасчетСуммы(); КонецПроцедуры &НаКлиенте Процедура
РасчетСуммы() Стр=Элементы.СписокТоваров.ТекущиеДанные; Стр.Сумма=Стр.Количество*Стр.Цена; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
23 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
24 |
|
ЗАДАНИЕ№
3. КОНСТРУКТОР_ВВОД_НА_ |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
25 |
|
|
Процедура
ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки Основание =
ДанныеЗаполнения.Ссылка; Для Каждого
ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл НоваяСтрока
= СписокТоваров.Добавить(); НоваяСтрока.Количество
= ТекСтрокаСписокТоваров.Количество; НоваяСтрока.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; КонецЦикла; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
26 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
27 |
|
ЗАДАНИЕ№
4. Изменение для
докПродажи. Авто
ввод цены и суммы. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
28 |
|
|
Процедура
ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки Основание =
ДанныеЗаполнения.Ссылка; Для Каждого
ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл НоваяСтрока
= СписокТоваров.Добавить(); НоваяСтрока.Количество
= ТекСтрокаСписокТоваров.Количество; НоваяСтрока.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; НоваяСтрока.Цена=НоваяСтрока.Номенклатура.ЦенаПродажи; НоваяСтрока.Сумма=НоваяСтрока.Цена*НоваяСтрока.Количество; КонецЦикла; КонецЕсли; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
29 |
|
|
НоваяСтрока.Цена=НоваяСтрока.Номенклатура.ЦенаПродажи; НоваяСтрока.Сумма=НоваяСтрока.Цена*НоваяСтрока.Количество; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
30 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
31 |
|
ЗАДАНИЕ№
5. Модуль
формы докПродажи. Изолированная
серверная процедура. Изменение. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
32 |
|
|
&НаКлиенте Процедура
СписокТоваровНоменклатураПриИзменении(Элемент) Стр=Элементы.СписокТоваров.ТекущиеДанные; Стр.Цена=ПолучитьЦенуТовара(Стр.Номенклатура); РасчетСуммы(); КонецПроцедуры &НаСервереБезКонтекста Функция
ПолучитьЦенуТовара(Номенклатура) Возврат Номенклатура.ЦенаПродажи; КонецФункции
// Получить() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
33 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
34 |
|
004. Формирование
отчетов на основе документов. Регистры
накопления. РегистрСведений. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
35 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
36 |
|
ЗАДАНИЕ
11. Видеть
актуальные курсы валют. Форма
списка РеСве. РегистрСведений.КурсыВалют.СрезПоследних. На
рабочем столе. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
37 |
|
|
-Конфигурация
–Открыть раб обл раб стола. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
38 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
39 |
|
ЗАДАНИЕ
12. РеНак
с остатками товаров. Док ПоступлениеТоваров. Движения
по РеНак Вручную. Прочее. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
40 |
|
|
Процедура
ОбработкаПроведения(Отказ, РежимПроведения) Движения.ОстаткиТоваров.Записывать=Истина; Для каждого Стр Из СписокТоваров Цикл Запись=Движения.ОстаткиТоваров.Добавить(); Запись.Период=Дата;
Запись.Номенклатура=Стр.Номенклатура; Запись.Склад=Склад; Запись.Количество=Стр.Количество;
Запись.ВидДвижения=ВидДвиженияНакопления.Приход; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
41 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
42 |
|
Обратиться
к объекту |
ЭтоОбъект
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
43 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
44 |
|
ЗАДАНИЕ
13. РеНак
с остатками товаров. Док
ПродажаТоваров. Движения
по РеНак Авто. Прочее. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
45 |
|
|
Процедура
ОбработкаПроведения(Отказ, Режим) // регистр ОстаткиТоваров Расход Движения.ОстаткиТоваров.Записывать
= Истина; Для Каждого ТекСтрокаСписокТоваров
Из СписокТоваров Цикл Движение =
Движения.ОстаткиТоваров.Добавить(); Движение.ВидДвижения =
ВидДвиженияНакопления.Расход; Движение.Период =
Дата; Движение.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; Движение.Склад =
Склад; Движение.Количество =
ТекСтрокаСписокТоваров.Количество; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
46 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
47 |
|
ЗАДАНИЕ
14 Специализированная
форма РегНак Остатков. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
48 |
|
|
РегистрНакопления |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
49 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
50 |
|
ЗАДАНИЕ
15 РегНак
оборотов. Продажи. Движения
документа по 2 регистрам. Объединить. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
51 |
|
+- |
Процедура
ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен
конструктором. // При повторном использовании
конструктора, внесенные вручную изменения будут утеряны!!! // регистр ОстаткиТоваров Расход Движения.ОстаткиТоваров.Записывать
= Истина; Для Каждого ТекСтрокаСписокТоваров
Из СписокТоваров Цикл Движение =
Движения.ОстаткиТоваров.Добавить(); Движение.ВидДвижения =
ВидДвиженияНакопления.Расход; Движение.Период =
Дата; Движение.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; Движение.Склад =
Склад; Движение.Количество =
ТекСтрокаСписокТоваров.Количество; КонецЦикла; // регистр Продажи Движения.Продажи.Записывать =
Истина; Для Каждого ТекСтрокаСписокТоваров
Из СписокТоваров Цикл Движение =
Движения.Продажи.Добавить(); Движение.Период =
Дата; Движение.Контрагент =
Контрагент; Движение.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; Движение.Количество =
ТекСтрокаСписокТоваров.Количество; Движение.Выручка =
ТекСтрокаСписокТоваров.Сумма; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
52 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
53 |
|
|
Процедура
ОбработкаПроведения(Отказ, Режим) Движения.Продажи.Записывать
= Истина; Движения.ОстаткиТоваров.Записывать
= Истина; Для Каждого ТекСтрокаСписокТоваров
Из СписокТоваров Цикл Движение =
Движения.ОстаткиТоваров.Добавить(); Движение.ВидДвижения =
ВидДвиженияНакопления.Расход; Движение.Период =
Дата; Движение.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; Движение.Склад =
Склад; Движение.Количество =
ТекСтрокаСписокТоваров.Количество; Движение =
Движения.Продажи.Добавить(); Движение.Период =
Дата; Движение.Контрагент =
Контрагент; Движение.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; Движение.Количество =
ТекСтрокаСписокТоваров.Количество; Движение.Выручка =
ТекСтрокаСписокТоваров.Сумма; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
54 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
55 |
|
ЗАДАНИЕ
16 Динамические
списки на основе запроса. РегНак
Продажи. Форма
списка. ФормаХитаПродаж |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
56 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
57 |
|
ЗАДАНИЕ 17 Интерфейсы. Добавить
видимость регистров. Предопределенная
настройка. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
58 |
|
|
Через
использование стандартных команд. Функциональные
опции. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
59 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
60 |
|
ЗАДАНИЕ
18 Обновление
интерфейса. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
61 |
|
|
&НаКлиенте Процедура
ПослеЗаписи(ПараметрыЗаписи) ОбновитьИнтерфейс(); КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
62 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
63 |
|
Занятие
5. Объектные
модели. Запросы. СКД. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
64 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
65 |
|
ЗАДАНИЕ
20 Сформировать
отчет, который отображает всех сотрудников у которых день рождения в феврале
(текущем месяце). В
форме отчета добавить команду. Создание
формы для вывода. 2
условия. Вывод
данных с использованием Макет. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
66 |
|
ЗАДАНИЕ
20-1. Отчет1. Модель
объекта. Справочники.Сотрудники.Выбрать(). |
Модель
объекта используется - если из разных
объектов вызывать эту логику. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
67 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
68 |
|
+- |
&НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование); КонецЦикла; КонецПроцедуры
// () |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
69 |
|
|
Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование); КонецЦикла; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
70 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
71 |
|
-- |
2 – &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если
Месяц(ТекущаяДата())= Месяц(Выборка.ДатаРождения) Тогда Сообщить(Выборка.Наименование); КонецЕсли; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
72 |
|
|
Для
групп нет даты рождения |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
73 |
|
|
3+ &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа
Тогда Продолжить; КонецЕсли; Если
Месяц(ТекущаяДата())= Месяц(Выборка.ДатаРождения) Тогда Сообщить(Выборка.Наименование); КонецЕсли; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
74 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
75 |
|
|
Надо
оформить Макет |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
76 |
|
|
Параметр Элемент |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
77 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
78 |
|
|
3+- &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () // получим макет Макет=
Отчеты.Именинники_1.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент=Макет.ПолучитьОбласть("Элемент");
ТабДок.Вывести(ОблШапка);
Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа
Тогда Продолжить; КонецЕсли; Если
Месяц(ТекущаяДата())= Месяц(Выборка.ДатаРождения) Тогда //Сообщить(Выборка.Наименование); ОблЭлемент.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОблЭлемент); КонецЕсли; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
79 |
|
|
Макет=
Отчеты.Именинники_1.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент=Макет.ПолучитьОбласть("Элемент");
ТабДок.Вывести(ОблШапка); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
80 |
|
|
ОблЭлемент.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОблЭлемент); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
81 |
|
|
4.++ &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () // получим макет Макет=
Отчеты.Именинники_1.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент=Макет.ПолучитьОбласть("Элемент");
ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");
ТабДок.Очистить();
ТабДок.Вывести(ОблШапка);
Выборка=Справочники.Сотрудники.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа
Тогда Продолжить; КонецЕсли; Если
Месяц(ТекущаяДата())= Месяц(Выборка.ДатаРождения) Тогда //Сообщить(Выборка.Наименование); ОблЭлемент.Параметры.Заполнить(Выборка); ОблЭлемент.Параметры.ДатаРождения=Формат(Выборка.ДатаРождения,"ДЛФ=DD"); ТабДок.Вывести(ОблЭлемент); КонецЕсли; КонецЦикла; КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
82 |
|
|
ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");
ТабДок.Очистить(); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
83 |
|
|
ОблЭлемент.Параметры.ДатаРождения=Формат(Выборка.ДатаРождения,"ДЛФ=DD"); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
84 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
85 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
86 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
87 |
|
ЗАДАНИЕ
20-2. Отчет2. Модель
Заросов. Вывод
отчета, только изменяя текст запроса. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
88 |
|
|
-1..Оствляем
только макет &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () // получим макет Макет=
Отчеты.Именинники_2.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент=Макет.ПолучитьОбласть("Элемент");
ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");
ТабДок.Очистить();
ТабДок.Вывести(ОблШапка);
КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
89 |
|
|
2.. Запрос=Новый
Запрос;
Запрос.Текст="";
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");
ТабДок.Очистить();
ТабДок.Вывести(ОблШапка);
КонецЦикла; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
90 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
91 |
|
|
ВЫБРАТЬ 12*24, Истина, Неопределено, "Это
строка" |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
92 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
93 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
94 |
|
|
ВЫБРАТЬ Константы.НазваниеОрганизации, Константы.АдресОрганизации |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
95 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
96 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
97 |
|
|
+- ВЫБРАТЬ Справочник.Номенклатура.Наименование, Справочник.Номенклатура.ЦенаПродажи |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
98 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
99 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
100 |
|
|
ВЫБРАТЬ Наименование,ЦенаПродажи ИЗ Справочник.Номенклатура |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
101 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
102 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
103 |
|
|
ВЫБРАТЬ * ИЗ Справочник.Номенклатура |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
104 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
105 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
106 |
|
|
ВЫБРАТЬ * ИЗ Справочник.Сотрудники ГДЕ НЕ
ЭтоГруппа И НЕ ПометкаУдаления И МЕСЯЦ(ДатаРождения)=&Месяц
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
107 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
108 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
109 |
|
|
ВЫБРАТЬ Код,
Наименование, ДатаРождения ИЗ Справочник.Сотрудники ГДЕ НЕ
ЭтоГруппа И НЕ ПометкаУдаления И МЕСЯЦ(ДатаРождения)=&Месяц |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
110 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
111 |
|
|
Или |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
112 |
|
|
"ВЫБРАТЬ | Сотрудники.Код, | Сотрудники.Наименование, | Сотрудники.ДатаРождения |ИЗ | Справочник.Сотрудники КАК Сотрудники |ГДЕ | НЕ Сотрудники.ЭтоГруппа | И НЕ Сотрудники.ПометкаУдаления | И МЕСЯЦ(Сотрудники.ДатаРождения) = &Месяц"; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
113 |
|
|
+ Запрос.УстановитьПараметр("Месяц",Месяц(ТекущаяДата())); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
114 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
115 |
|
|
++ &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСевере (); КонецПроцедуры &НаСервере Процедура
СформироватьНаСевере () // получим макет Макет=
Отчеты.Именинники_2.ПолучитьМакет("Макет");
ОблШапка=Макет.ПолучитьОбласть("Шапка");
ОблЭлемент=Макет.ПолучитьОбласть("Элемент");
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ | Сотрудники.Код, | Сотрудники.Наименование, | Сотрудники.ДатаРождения |ИЗ | Справочник.Сотрудники КАК Сотрудники |ГДЕ | (НЕ Сотрудники.ЭтоГруппа) | И (НЕ Сотрудники.ПометкаУдаления) | И (МЕСЯЦ(Сотрудники.ДатаРождения) = &Месяц) "; Запрос.УстановитьПараметр("Месяц",Месяц(ТекущаяДата()));
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");
ТабДок.Очистить();
ТабДок.Вывести(ОблШапка);
Пока Выборка.Следующий() Цикл
ОблЭлемент.Параметры.Заполнить(Выборка);
ОблЭлемент.Параметры.ДатаРождения=Формат(Выборка.ДатаРождения,"ДЛФ=DD"); ТабДок.Вывести(ОблЭлемент);
КонецЦикла;
КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
116 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
117 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
118 |
|
ЗАДАНИЕ
21. Оптимизация
выборки. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
119 |
|
Док
ПродажаТоваров. Надо
через запрос в форме документа прочитать ЦенуПродажи. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
120 |
|
|
&НаСервереБезКонтекста Функция
ПолучитьЦенуТовара(Номенклатура) Возврат Номенклатура.ЦенаПродажи; КонецФункции
// Получить() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
121 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
122 |
|
|
ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Ссылка=&Ссылка |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
123 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
124 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
125 |
|
|
ВЫБРАТЬ ЦенаПродажи ИЗ Справочник.Номенклатура ГДЕ Ссылка=&Ссылка |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
126 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
127 |
|
|
Запрос+ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
128 |
|
|
++ &НаСервереБезКонтекста Функция
ПолучитьЦенуТовара(Номенклатура) Запрос= Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ |
ЦенаПродажи |ИЗ | Справочник.Номенклатура |ГДЕ | Ссылка=&Ссылка"; Запрос.УстановитьПараметр("Ссылка",Номенклатура); РезультатЗапроса=Запрос.Выполнить(); Выборка=РезультатЗапроса.Выбрать(); Выборка.Следующий(); Возврат Выборка.ЦенаПродажи; КонецФункции
// Получить() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
129 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
130 |
|
ЗАДАНИЕ
22. Оптимизация
выборки. На
основании. ПоступлениеТоваров.
Обработка заполнения. Надо
получить список товаров, которые содержат Количество и Номенклатуру по 1-му
конкретному документу. Читаем не полные данные из БД, а только нужные. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
131 |
|
|
Процедура
ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен
конструктором. // При повторном использовании
конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки Основание =
ДанныеЗаполнения.Ссылка; Для Каждого
ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл НоваяСтрока
= СписокТоваров.Добавить(); НоваяСтрока.Количество
= ТекСтрокаСписокТоваров.Количество; НоваяСтрока.Номенклатура
= ТекСтрокаСписокТоваров.Номенклатура; КонецЦикла; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
132 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
133 |
|
|
ВЫБРАТЬ * ИЗ Документ.ЗаказПокупателя.СписокТоваров |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
134 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
135 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
136 |
|
|
ВЫБРАТЬ * ИЗ Документ.ЗаказПокупателя.СписокТоваров ГДЕ Ссылка=&Док |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
137 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
138 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
139 |
|
|
ВЫБРАТЬ Номенклатура,Количество ИЗ Документ.ЗаказПокупателя.СписокТоваров ГДЕ Ссылка=&Док |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
140 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
141 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
142 |
|
|
++ Процедура
ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен
конструктором. // При повторном использовании
конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) =
Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки Основание =
ДанныеЗаполнения; Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ЗаказПокупателяСписокТоваров.Номенклатура, | ЗаказПокупателяСписокТоваров.Количество |ИЗ | Документ.ЗаказПокупателя.СписокТоваров КАК
ЗаказПокупателяСписокТоваров |ГДЕ | ЗаказПокупателяСписокТоваров.Ссылка = &Док"; Запрос.УстановитьПараметр("Док",ДанныеЗаполнения); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяСтрока = СписокТоваров.Добавить(); НоваяСтрока.Количество
= Выборка.Количество; НоваяСтрока.Номенклатура
= Выборка.Номенклатура; КонецЦикла; //Для Каждого
ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл // НоваяСтрока =
СписокТоваров.Добавить(); // НоваяСтрока.Количество = ТекСтрокаСписокТоваров.Количество; // НоваяСтрока.Номенклатура =
ТекСтрокаСписокТоваров.Номенклатура; //КонецЦикла; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
143 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
144 |
|
ЗАДАНИЕ
23. Отчеты. Анализ
продаж. Механизм
виртуальных таблиц. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
145 |
|
|
ВЫБРАТЬ Продажи.Номенклатура, Продажи.Количество, Продажи.Выручка ИЗ РегистрНакопления.Продажи КАК
Продажи |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
146 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
147 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
148 |
|
|
+- ВЫБРАТЬ Продажи.Номенклатура, СУММА(Продажи.Количество) КАК
Количество, СУММА(Продажи.Выручка) КАК Выручка ИЗ РегистрНакопления.Продажи КАК
Продажи СГРУППИРОВАТЬ
ПО Продажи.Номенклатура |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
149 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
150 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
151 |
|
|
ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ВыручкаОборот ИЗ РегистрНакопления.Продажи.Обороты
КАК ПродажиОбороты |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
152 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
153 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
154 |
|
|
ВЫБРАТЬ //ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ВыручкаОборот ИЗ РегистрНакопления.Продажи.Обороты
КАК ПродажиОбороты |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
155 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
156 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
157 |
|
|
ВЫБРАТЬ ОстаткиТоваровОстатки.Номенклатура, ОстаткиТоваровОстатки.Склад, ОстаткиТоваровОстатки.КоличествоОстаток ИЗ РегистрНакопления.ОстаткиТоваров.Остатки
КАК ОстаткиТоваровОстатки |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
158 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
159 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
160 |
|
|
ВЫБРАТЬ ОстаткиТоваровОстатки.Номенклатура, //ОстаткиТоваровОстатки.Склад, ОстаткиТоваровОстатки.КоличествоОстаток ИЗ РегистрНакопления.ОстаткиТоваров.Остатки
КАК ОстаткиТоваровОстатки |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
161 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
162 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
163 |
|
ЗАДАНИЕ
23-2. Отчеты. Анализ
продаж. Механизм
виртуальных таблиц. Добавление
вручную Проц. Сервера с формированием запроса. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
164 |
|
|
&НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура
СформироватьНаСервере() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен
конструктором. // При повторном использовании
конструктора, внесенные вручную изменения будут утеряны!!! Макет =
Отчеты.АнализПродаж.ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажиОбороты.Номенклатура КАК
Номенклатура, | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура), | ПродажиОбороты.КоличествоОборот КАК
Количество, | ПродажиОбороты.ВыручкаОборот КАК
Выручка |ИЗ | РегистрНакопления.Продажи.Обороты
КАК ПродажиОбороты | |УПОРЯДОЧИТЬ ПО | ПродажиОбороты.Номенклатура.Наименование"; Результат = Запрос.Выполнить(); ОбластьЗаголовок =
Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал =
Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы =
Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы =
Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей =
Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи =
Результат.Выбрать(); Пока
ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей,
ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры
// СформироватьНаСервере() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
165 |
|
Настройка
периода. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
166 |
|
|
ИЗ | РегистрНакопления.Продажи.Обороты(&НачалоПериода,
&КонецПериода, , ) КАК ПродажиОбороты | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
167 |
|
|
Запрос.УстановитьПараметр("НачалоПериода",ПериодОтчета.ДатаНачала); Запрос.УстановитьПараметр("КонецПериода",ПериодОтчета.ДатаОкончания); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
168 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
169 |
|
|
++ &НаКлиенте Процедура
Сформировать(Команда) СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура
СформироватьНаСервере() //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен
конструктором. // При повторном использовании
конструктора, внесенные вручную изменения будут утеряны!!! Макет =
Отчеты.АнализПродаж.ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПродажиОбороты.Номенклатура КАК
Номенклатура, | ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура), | ПродажиОбороты.КоличествоОборот КАК
Количество, | ПродажиОбороты.ВыручкаОборот КАК
Выручка |ИЗ | РегистрНакопления.Продажи.Обороты(&НачалоПериода,
&КонецПериода, , ) КАК ПродажиОбороты | |УПОРЯДОЧИТЬ ПО | ПродажиОбороты.Номенклатура.Наименование"; Запрос.УстановитьПараметр("НачалоПериода",ПериодОтчета.ДатаНачала); Запрос.УстановитьПараметр("КонецПериода",ПериодОтчета.ДатаОкончания); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал =
Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы =
Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы =
Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей =
Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи =
Результат.Выбрать(); Пока
ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей,
ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры
// СформироватьНаСервере() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
170 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
171 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
172 |
|
|
Запрос.УстановитьПараметр("КонецПериода",КонецДня(ПериодОтчета.ДатаОкончания)); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
173 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
174 |
|
ЗАДАНИЕ
24. Отчеты.
СКД. Анализ
продаж. Декларативное
описание отчета. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
175 |
|
|
ПродажиОбороты
– группировать, сортировать не надо. Надо
указать источник. Форму
и Макет не рисовали. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
176 |
|
|
ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ВыручкаОборот ИЗ РегистрНакопления.Продажи.Обороты
КАК ПродажиОбороты |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
177 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
178 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
179 |
|
|
2-й
вариант |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
180 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
181 |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||