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

 

 

Список именинников за март

 

Таб. номер

ФИО

Дата рождения

000000003

Иванов Д.А.

12 марта 1980 г.

000000007

Иванов й Й

13 марта 2013 г.

000000008

петров

6 марта 2013 г.

86

 

 

 

87

 

ЗАДАНИЕ 20-2.

Отчет2.

Модель Заросов.

Вывод отчета, только изменяя текст запроса.

 

 

88

 

 

-1..Оствляем только макет

 

&НаКлиенте

Процедура Сформировать(Команда)

            СформироватьНаСевере ();

КонецПроцедуры

 

 

&НаСервере

Процедура СформироватьНаСевере ()

            // получим макет

             Макет= Отчеты.Именинники_2.ПолучитьМакет("Макет");

              ОблШапка=Макет.ПолучитьОбласть("Шапка");

              ОблЭлемент=Макет.ПолучитьОбласть("Элемент");

             

             

             

              ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");

              ТабДок.Очистить();

              ТабДок.Вывести(ОблШапка);

             

             

            КонецПроцедуры

89

 

 

2..

Запрос=Новый Запрос;

              Запрос.Текст="";

             

              Результат=Запрос.Выполнить();

              Выборка=Результат.Выбрать();

             

              Пока Выборка.Следующий() Цикл

              ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");

              ТабДок.Очистить();

              ТабДок.Вывести(ОблШапка);

              КонецЦикла;

90

 

 

 

91

 

 

ВЫБРАТЬ

            12*24,

            Истина,

            Неопределено,

            "Это строка"

92

 

 

Поле1

Поле2

Поле3

Поле4

288

Да

Это строка

93

 

 

 

94

 

 

ВЫБРАТЬ

            Константы.НазваниеОрганизации,

            Константы.АдресОрганизации

95

 

 

НазваниеОрганизации

АдресОрганизации

easyedu.ru  

http://easyedu.ru

96

 

 

 

97

 

 

+-

ВЫБРАТЬ

            Справочник.Номенклатура.Наименование,

            Справочник.Номенклатура.ЦенаПродажи

98

 

 

Наименование

ЦенаПродажи

Канц. товары

NULL

Кухонные товары

NULL

Вилка

15

Ложка

20

Нож

7

99

 

 

 

100

 

 

ВЫБРАТЬ

            Наименование,ЦенаПродажи

 ИЗ

            Справочник.Номенклатура

101

 

 

Наименование

ЦенаПродажи

Канц. товары

NULL

Кухонные товары

NULL

Вилка

15

Ложка

20

Нож

7

102

 

 

 

103

 

 

ВЫБРАТЬ

            *

  ИЗ

            Справочник.Номенклатура

104

 

 

Ссылка

ВерсияДанных

ПометкаУдаления

Предопределенный

Родитель

ЭтоГруппа

Код

Наименование

ЦенаПродажи

Категория

Канц. товары

AAAAAQAAAAA=

Нет

Нет

Да

000000001

Канц. товары

NULL

Кухонные товары

AAAAAQAAAAE=

Нет

Нет

Да

000000002

Кухонные товары

NULL

Вилка

AAAAAgAAAAA=

Нет

Нет

Кухонные товары

Нет

000000003

Вилка

15

Товар

Ложка

AAAABgAAAAA=

Нет

Нет

Кухонные товары

Нет

000000004

Ложка

20

Товар

Нож

AAAABwAAAAA=

Нет

Нет

Кухонные товары

Нет

000000005

Нож

7

Товар

105

 

 

 

106

 

 

ВЫБРАТЬ

            *

  ИЗ

            Справочник.Сотрудники

 ГДЕ

            НЕ ЭтоГруппа И НЕ ПометкаУдаления И

            МЕСЯЦ(ДатаРождения)=&Месяц      

107

 

 

Ссылка

ВерсияДанных

ПометкаУдаления

Предопределенный

Родитель

ЭтоГруппа

Код

Наименование

Пол

ЭлПочта

ДатаРождения

Иванов Д.А.

AAAADQAAAAA=

Нет

Нет

Администрация

Нет

000000003

Иванов Д.А.

Мужской

den@mail.ru

12.03.1980 0:00:00

Иванов й Й

AAAACQAAAAA=

Нет

Нет

Администрация

Нет

000000007

Иванов й Й

Женский

13.03.2013 0:00:00

петров

AAAACwAAAAA=

Нет

Нет

Администрация

Нет

000000008

петров

Женский

06.03.2013 0:00:00

108

 

 

 

109

 

 

ВЫБРАТЬ

            Код, Наименование, ДатаРождения

  ИЗ

            Справочник.Сотрудники

 ГДЕ

            НЕ ЭтоГруппа И НЕ ПометкаУдаления И

            МЕСЯЦ(ДатаРождения)=&Месяц

110

 

 

Код

Наименование

ДатаРождения

000000003

Иванов Д.А.

12.03.1980 0:00:00

000000007

Иванов й Й

13.03.2013 0:00:00

000000008

петров

06.03.2013 0:00:00

111

 

 

Или

112

 

 

"ВЫБРАТЬ

                           |        Сотрудники.Код,

                           |        Сотрудники.Наименование,

                           |        Сотрудники.ДатаРождения

                           |ИЗ

                           |        Справочник.Сотрудники КАК Сотрудники

                           |ГДЕ

                           |        НЕ Сотрудники.ЭтоГруппа

                           |        И НЕ Сотрудники.ПометкаУдаления

                           |        И МЕСЯЦ(Сотрудники.ДатаРождения) = &Месяц";

113

 

 

+

Запрос.УстановитьПараметр("Месяц",Месяц(ТекущаяДата()));

114

 

 

 

115

 

 

++

&НаКлиенте

Процедура Сформировать(Команда)

            СформироватьНаСевере ();

КонецПроцедуры

 

 

&НаСервере

Процедура СформироватьНаСевере ()

            // получим макет

             Макет= Отчеты.Именинники_2.ПолучитьМакет("Макет");

              ОблШапка=Макет.ПолучитьОбласть("Шапка");

              ОблЭлемент=Макет.ПолучитьОбласть("Элемент");

             

              Запрос=Новый Запрос;

              Запрос.Текст="ВЫБРАТЬ

                           |        Сотрудники.Код,

                           |        Сотрудники.Наименование,

                           |        Сотрудники.ДатаРождения

                           |ИЗ

                           |        Справочник.Сотрудники КАК Сотрудники

                           |ГДЕ

                           |        (НЕ Сотрудники.ЭтоГруппа)

                           |        И (НЕ Сотрудники.ПометкаУдаления)

                           |        И (МЕСЯЦ(Сотрудники.ДатаРождения) = &Месяц) ";

                                                 

            Запрос.УстановитьПараметр("Месяц",Месяц(ТекущаяДата()));

           

              Результат=Запрос.Выполнить();

              Выборка=Результат.Выбрать();

             

              ОблШапка.Параметры.МесяцОтчета=Формат(ТекущаяДата(),"ДФ=MMM");

              ТабДок.Очистить();

              ТабДок.Вывести(ОблШапка);

             

              Пока Выборка.Следующий() Цикл

 

              ОблЭлемент.Параметры.Заполнить(Выборка);

              ОблЭлемент.Параметры.ДатаРождения=Формат(Выборка.ДатаРождения,"ДЛФ=DD");

      ТабДок.Вывести(ОблЭлемент);

 

             

              КонецЦикла;

             

             

             

             

            КонецПроцедуры

116

 

 

Список именинников за март

 

Таб. номер

ФИО

Дата рождения

000000003

Иванов Д.А.

12 марта 1980 г.

000000007

Иванов й Й

13 марта 2013 г.

000000008

петров

6 марта 2013 г.

117

 

 

 

118

 

ЗАДАНИЕ 21.

Оптимизация выборки.

 

 

119

 

Док ПродажаТоваров.

Надо через запрос в форме документа прочитать ЦенуПродажи.

 

120

 

 

&НаСервереБезКонтекста

Функция ПолучитьЦенуТовара(Номенклатура)

  Возврат Номенклатура.ЦенаПродажи;

           

КонецФункции // Получить()

121

 

 

 

122

 

 

ВЫБРАТЬ

   *

  ИЗ

            Справочник.Номенклатура

 ГДЕ

            Ссылка=&Ссылка

123

 

 

Ссылка

ВерсияДанных

ПометкаУдаления

Предопределенный

Родитель

ЭтоГруппа

Код

Наименование

ЦенаПродажи

Категория

Вилка

AAAAAgAAAAA=

Нет

Нет

Кухонные товары

Нет

000000003

Вилка

15

Товар

124

 

 

 

125

 

 

ВЫБРАТЬ

   ЦенаПродажи

  ИЗ

            Справочник.Номенклатура

 ГДЕ

            Ссылка=&Ссылка

126

 

 

ЦенаПродажи

15

127

 

 

Запрос+

128

 

 

++

&НаСервереБезКонтекста

Функция ПолучитьЦенуТовара(Номенклатура)

            Запрос= Новый Запрос;

            Запрос.Текст="

            |ВЫБРАТЬ

            |  ЦенаПродажи

            |ИЗ

            |           Справочник.Номенклатура

            |ГДЕ

            |           Ссылка=&Ссылка";

Запрос.УстановитьПараметр("Ссылка",Номенклатура);

РезультатЗапроса=Запрос.Выполнить();

Выборка=РезультатЗапроса.Выбрать();

Выборка.Следующий();

           

            Возврат Выборка.ЦенаПродажи;

           

КонецФункции // Получить()

 

129

 

 

 

130

 

ЗАДАНИЕ 22.

Оптимизация выборки.

На основании.

ПоступлениеТоваров. Обработка заполнения.

 

Надо получить список товаров, которые содержат Количество и Номенклатуру по 1-му конкретному документу.

 

Читаем не полные данные из БД, а только нужные.

 

131

 

 

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

            //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

            // Данный фрагмент построен конструктором.

            // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

            Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

                        // Заполнение шапки

                        Основание = ДанныеЗаполнения.Ссылка;

                        Для Каждого ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл

                                   НоваяСтрока = СписокТоваров.Добавить();

                                   НоваяСтрока.Количество = ТекСтрокаСписокТоваров.Количество;

                                   НоваяСтрока.Номенклатура = ТекСтрокаСписокТоваров.Номенклатура;

                        КонецЦикла;

            КонецЕсли;

            //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

КонецПроцедуры

132

 

 

 

133

 

 

ВЫБРАТЬ

  *

ИЗ

            Документ.ЗаказПокупателя.СписокТоваров

134

 

 

Ссылка

НомерСтроки

Номенклатура

Количество

Заказ покупателя 000000001 от 09.03.2013 12:28:11

2

Ложка

2

Заказ покупателя 000000001 от 09.03.2013 12:28:11

1

Ложка

1

Заказ покупателя 000000002 от 11.03.2013 10:39:49

1

Нож

5

135

 

 

 

136

 

 

ВЫБРАТЬ

  *

ИЗ

            Документ.ЗаказПокупателя.СписокТоваров

ГДЕ

            Ссылка=&Док

137

 

 

Ссылка

НомерСтроки

Номенклатура

Количество

Заказ покупателя 000000001 от 09.03.2013 12:28:11

1

Ложка

1

Заказ покупателя 000000001 от 09.03.2013 12:28:11

2

Ложка

2

138

 

 

 

139

 

 

    ВЫБРАТЬ

  Номенклатура,Количество

ИЗ

            Документ.ЗаказПокупателя.СписокТоваров

ГДЕ

            Ссылка=&Док

140

 

 

Номенклатура

Количество

Ложка

1

Ложка

2

141

 

 

 

142

 

 

++

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

            //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

            // Данный фрагмент построен конструктором.

            // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

            Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

                        // Заполнение шапки

                       

                       

                        Основание = ДанныеЗаполнения;

                         Запрос=Новый Запрос;

                         Запрос.Текст="ВЫБРАТЬ

                                      |         ЗаказПокупателяСписокТоваров.Номенклатура,

                                      |         ЗаказПокупателяСписокТоваров.Количество

                                      |ИЗ

                                      |         Документ.ЗаказПокупателя.СписокТоваров КАК ЗаказПокупателяСписокТоваров

                                      |ГДЕ

                                      |         ЗаказПокупателяСписокТоваров.Ссылка = &Док";

                       

                         Запрос.УстановитьПараметр("Док",ДанныеЗаполнения);

                         

                         Выборка=Запрос.Выполнить().Выбрать();

                          Пока Выборка.Следующий() Цикл

                            НоваяСтрока = СписокТоваров.Добавить();

                                   НоваяСтрока.Количество = Выборка.Количество;

                                   НоваяСтрока.Номенклатура = Выборка.Номенклатура;

              КонецЦикла;

                                               

                        //Для Каждого ТекСтрокаСписокТоваров Из ДанныеЗаполнения.СписокТоваров Цикл

                        //          НоваяСтрока = СписокТоваров.Добавить();

                        //          НоваяСтрока.Количество = ТекСтрокаСписокТоваров.Количество;

                        //          НоваяСтрока.Номенклатура = ТекСтрокаСписокТоваров.Номенклатура;

                        //КонецЦикла;

            КонецЕсли;

            //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

КонецПроцедуры

143

 

 

 

144

 

ЗАДАНИЕ 23.

Отчеты.

Анализ продаж.

Механизм виртуальных таблиц.

 

145

 

 

ВЫБРАТЬ

            Продажи.Номенклатура,

            Продажи.Количество,

            Продажи.Выручка

ИЗ

            РегистрНакопления.Продажи КАК Продажи

146

 

 

Номенклатура

Количество

Выручка

Вилка

1

1

Ложка

1

2

Ложка

2

8

Ложка

2

40

147

 

 

 

148

 

 

+-

ВЫБРАТЬ

            Продажи.Номенклатура,

            СУММА(Продажи.Количество) КАК Количество,

            СУММА(Продажи.Выручка) КАК Выручка

ИЗ

            РегистрНакопления.Продажи КАК Продажи

 

СГРУППИРОВАТЬ ПО

            Продажи.Номенклатура

149

 

 

Номенклатура

Количество

Выручка

Вилка

1

1

Ложка

5

50

150

 

 

 

151

 

 

ВЫБРАТЬ

            ПродажиОбороты.Контрагент,

            ПродажиОбороты.Номенклатура,

            ПродажиОбороты.КоличествоОборот,

            ПродажиОбороты.ВыручкаОборот

ИЗ

            РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

152

 

 

Контрагент

Номенклатура

КоличествоОборот

ВыручкаОборот

База "Пром торг"

Вилка

1

1

База "Пром торг"

Ложка

3

10

Свет ЗАО

Ложка

2

40

153

 

 

 

154

 

 

ВЫБРАТЬ

            //ПродажиОбороты.Контрагент,

            ПродажиОбороты.Номенклатура,

            ПродажиОбороты.КоличествоОборот,

            ПродажиОбороты.ВыручкаОборот

ИЗ

            РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

155

 

 

Номенклатура

КоличествоОборот

ВыручкаОборот

Вилка

1

1

Ложка

5

50

156

 

 

 

157

 

 

ВЫБРАТЬ

            ОстаткиТоваровОстатки.Номенклатура,

            ОстаткиТоваровОстатки.Склад,

            ОстаткиТоваровОстатки.КоличествоОстаток

ИЗ

            РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки

158

 

 

Номенклатура

Склад

КоличествоОстаток

Вилка

Юг

-1

Вилка

Север

2

Ложка

Юг

1

Ложка

Север

4

Нож

Север

1

Ложка

3

Нож

5

159

 

 

 

160

 

 

ВЫБРАТЬ

            ОстаткиТоваровОстатки.Номенклатура,

            //ОстаткиТоваровОстатки.Склад,

            ОстаткиТоваровОстатки.КоличествоОстаток

ИЗ

            РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки

161

 

 

Номенклатура

КоличествоОстаток

Вилка

1

Ложка

8

Нож

6

162

 

 

 

163

 

ЗАДАНИЕ 23-2.

Отчеты.

Анализ продаж.

Механизм виртуальных таблиц.

Добавление вручную Проц. Сервера с формированием запроса.

 

164

 

 

&НаКлиенте

Процедура Сформировать(Команда)

             СформироватьНаСервере();

 

КонецПроцедуры

 

&НаСервере

Процедура СформироватьНаСервере()

 

                        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

            // Данный фрагмент построен конструктором.

            // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

 

            Макет = Отчеты.АнализПродаж.ПолучитьМакет("Макет");

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |           ПродажиОбороты.Номенклатура КАК Номенклатура,

                        |           ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура),

                        |           ПродажиОбороты.КоличествоОборот КАК Количество,

                        |           ПродажиОбороты.ВыручкаОборот КАК Выручка

                        |ИЗ

                        |           РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

                        |

                        |УПОРЯДОЧИТЬ ПО

                        |           ПродажиОбороты.Номенклатура.Наименование";

 

            Результат = Запрос.Выполнить();

 

            ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

            ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

            ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

            ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

            ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

 

            ТабДок.Очистить();

            ТабДок.Вывести(ОбластьЗаголовок);

            ТабДок.Вывести(ОбластьШапкаТаблицы);

            ТабДок.НачатьАвтогруппировкуСтрок();

 

            ВыборкаДетальныеЗаписи = Результат.Выбрать();

 

            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

                        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);

                        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());

            КонецЦикла;

 

            ТабДок.ЗакончитьАвтогруппировкуСтрок();

            ТабДок.Вывести(ОбластьПодвалТаблицы);

            ТабДок.Вывести(ОбластьПодвал);

 

            //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

 

 

КонецПроцедуры // СформироватьНаСервере()

165

 

Настройка периода.

 

166

 

 

ИЗ

                        |           РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты

                        |

167

 

 

            Запрос.УстановитьПараметр("НачалоПериода",ПериодОтчета.ДатаНачала);

                        Запрос.УстановитьПараметр("КонецПериода",ПериодОтчета.ДатаОкончания);

 

168

 

 

 

169

 

 

++

 

&НаКлиенте

Процедура Сформировать(Команда)

             СформироватьНаСервере();

 

КонецПроцедуры

 

&НаСервере

Процедура СформироватьНаСервере()

 

                        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

            // Данный фрагмент построен конструктором.

            // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

 

            Макет = Отчеты.АнализПродаж.ПолучитьМакет("Макет");

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |           ПродажиОбороты.Номенклатура КАК Номенклатура,

                        |           ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура),

                        |           ПродажиОбороты.КоличествоОборот КАК Количество,

                        |           ПродажиОбороты.ВыручкаОборот КАК Выручка

                        |ИЗ

                        |           РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты

                        |

                        |УПОРЯДОЧИТЬ ПО

                        |           ПродажиОбороты.Номенклатура.Наименование";

 

                       

                        Запрос.УстановитьПараметр("НачалоПериода",ПериодОтчета.ДатаНачала);

                        Запрос.УстановитьПараметр("КонецПериода",ПериодОтчета.ДатаОкончания);

 

                       

            Результат = Запрос.Выполнить();

 

            ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

            ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

            ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

            ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

            ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

 

            ТабДок.Очистить();

            ТабДок.Вывести(ОбластьЗаголовок);

            ТабДок.Вывести(ОбластьШапкаТаблицы);

            ТабДок.НачатьАвтогруппировкуСтрок();

 

            ВыборкаДетальныеЗаписи = Результат.Выбрать();

 

            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

                        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);

                        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());

            КонецЦикла;

 

            ТабДок.ЗакончитьАвтогруппировкуСтрок();

            ТабДок.Вывести(ОбластьПодвалТаблицы);

            ТабДок.Вывести(ОбластьПодвал);

 

            //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

 

 

КонецПроцедуры // СформироватьНаСервере()

 

170

 

 

Номенклатура

Количество

Выручка

Вилка

1

1,00

Ложка

5

50,00

171

 

 

 

172

 

 

Запрос.УстановитьПараметр("КонецПериода",КонецДня(ПериодОтчета.ДатаОкончания));

173

 

 

 

174

 

ЗАДАНИЕ 24.

Отчеты. СКД.

Анализ продаж.

Декларативное описание отчета.

 

 

175

 

 

ПродажиОбороты – группировать, сортировать не надо.

Надо указать источник.

Форму и Макет не рисовали.

176

 

 

ВЫБРАТЬ

            ПродажиОбороты.Контрагент,

            ПродажиОбороты.Номенклатура,

            ПродажиОбороты.КоличествоОборот,

            ПродажиОбороты.ВыручкаОборот

ИЗ

            РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

177

 

 

Номенклатура

Выручка

Количество

Вилка

1,00

1

Ложка

50,00

5

Итого

51,00

6

178

 

 

 

179

 

 

2-й вариант

180

 

 

Номенклатура

База "Пром торг"

Свет ЗАО

Итого

Выручка

Выручка

Выручка

Вилка

1,00

1,00

Ложка

10,00

40,00

50,00

Итого

11,00

40,00

51,00

181

 

 

 

 

Free Web Hosting