Введение в конфигурирование 1Cv8 - Основные объекты

         

Работа с хранилищем конфигурации


Для работы с хранилищем к нему необходимо подключиться. С этой целью необходимо выбрать пункт меню «Конфигурация — Подключиться к хранилищу».

В диалоге подключения требуется указать путь к хранилищу, имя пользователя и пароль. С одним именем можно произвести только одно подключение.

После открытия хранилища, Конфигуратор выводит окно конфигурации. В правой части этого окна выводятся пиктограммы, указывающие статус объекта.

После осуществления подключения для работы с объектом (объектами) необходимо произвести их «захват». Для этого требуется выбрать пункт меню «Конфигурация — Хранилище конфигурации — Захватить  в  хранилище».  При захвате  можно установить  флажок

Если требуется добавить объект любого вида (справочник, документ), то предварительно необходимо захватить конфигурацию (не обязательно со всеми подчиненными объектами).

Если объект модифицирован другим пользователем хранилища, его новое значение можно получить, указав нужные объекты и выполнив команду «Получить из хранилища». Для внесения модифицированного объекта в хранилище требуется выполнить команду «Поместить в хранилище». Если не требуется сохранять проведенные изменения необходимо выполнить команду «Отменить захват в хранилище».

«Захватить рекурсивно», если одновременно требуется захватить и подчиненные объекты.

Поставка конфигурации, поддержка

Время от времени типовые конфигурации могут меняться (изменения в законодательстве, внесение новых возможностей и т. д.). В связи с этим возникают понятия: «поддержка» и «поставка» конфигурации.

Поставка. Различают полную поставку и поставку обновлений. Полная поставка представляет собой файл конфигурации формата «*. cf». Поставка обновлений — файл обновление формата «*. cfu».

Поддержка. Поддержка конфигурации заключается в способности конфигурации быть обновляемой средствами конфигуратора с использованием файлов поставки.

Настройка поставки заключается в указании правил поставщика на изменение           объектов           конфигурации           разработчиками,




осуществляющими поддержку конфигураций конечных пользователей.

Для их настройки необходимо выбрать пункт меню «Конфигурация — Поставка — Настройка поставки».

В открывшемся окне для каждого объекта следует указать правило изменения. Кроме этого можно выбрать: включать исходные тексты модулей (т. е. делать их доступными) или включать их в скомпилированном виде.

Флажок «Файл поставки может использоваться для обновления» можно снимать, когда предполагается использовать полученный файл





как промежуточный (требуется произвести ряд последовательных обновлений).

После определения правил необходимо сформировать соответствующие файлы. Для этого необходимо выбрать пункт меню «Конфигурация — Поставка конфигурации — Создать файлы поставки и обновления конфигурации».

Перед этим требуется установка значений свойств конфигурации «Поставщик» и «Номер релиза».

В открывшемся окне можно указать каталог файлов поставки, имена файлов. Для формирования файла обновления требуется включить в формируемый файл предыдущие обновления конфигурации. Файлы будут созданы после нажатия кнопки «Выполнить».

После установки конфигурации из файлов поставки она автоматически становится на поддержку. Часто требуется изменить типовую конфигурацию, чтобы учесть требования конкретного пользователя. В этих случаях необходимо полностью или частично отказаться от поддержки некоторых объектов. Для проведения необходимых изменений потребуется выбрать в меню: «Конфигурация/Поддержка/Настройка поддержки». В открывшемся окне можно включить возможность внесения изменений (при этом будет выведено предупреждение о том, что обновление конфигурации автоматически производиться не будет).

Если по каким-то причинам пришлось снять с поддержки всю конфигурацию,  поставить  ее  на  поддержку  можно только после



загрузки   конфигурации   из   файла,   когда   файлом   является   файл поставки.




Регистр накопления «Продажи»


Создадим регистр оборотов «Продажи». Определите у него два измерения: «Номенклатура», «Контрагент», два ресурса: «Количество». «Сумма». Настроим формы.

После этого необходимо внести необходимые изменения в документ «Расходная». Требуется разрешить документу «двигать» данный регистр, определить с помощью конструктора процедуру проведения документа.



Регистр расчета


Регистр расчета — это объект конфигурации,    который позволяет

организовать   учет   результатов   вычислений,    осуществляемых   с



Регистр сведений «Цены поставщиков»


В предыдущем примере мы рассмотрели основы работы с регистром сведений, у которого был ручной способ записи. Теперь рассмотрим пример, когда запись ведется регистратором.

Поставим перед собой задачу создать механизм, позволяющий отслеживать приходные цены номенклатуры в разрезе поставщиков.

Создадим регистр сведений «ЦеныПоставщиков». Регистр сведений периодический (по позиции регистратора), режим записи «Подчинение регистратору». У него два измерения «Поставщик»,

«Номенклатура» и один ресурс «Цена». Настройте форму списка и форму набора записей.

Так как запись ведется регистратором (по смыслу документом «Приходная»), необходимо модифицировать данный документ. А именно: разрешить проведение и вставить в модуль документа (объекта) процедуру проведения, текст которой приводится ниже.

Процедура ОбработкаПроведения (Отказ, Режим) Для Каждого ТекСтрокаТовары Из Товары Цикл Движение=Движения. ЦеныПоставшиков. Добавить ();

 

Движение. Период=Дата;

 

Движение. Поставщик=Контрагент;

 

Движение. Номенклатура==ТекСтрокаТовары. Номенклатура;

 

Движение. Цена=ТекСтрокаТовары. Цена;

 

КонецЦикла;

 

Движения. ЦеныПоставщиков. Записать ();

 

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

Текст процедуры можно ввести вручную, а можно воспользоваться конструктором. Для его вызова на закладке «Движения» необходимо нажать кнопку «Конструктор движений».

Проверьте работоспособность созданного вами механизма.

Практикум № 6————————————————————————————————-Определите регистр сведений, который будет содержать данные о количестве рабочих часов в указанный день. Данному объекту дайте имя: «График». Он не должен быть периодическим.



Регистр сведений «Валюты»


Создайте справочник «Валюты», определите реквизит «ПолноеНаименование», настройте форму списка. Справочник без иерархии, не подчиненный, принадлежит подсистеме «Торговля».

После этого создайте регистр сведений «Валюты». У него определите одно измерение «Валюта» («ведущее»), ресурс «Курс», настройте форму списка, форму записи регистра.

Теперь модифицируем форму списка, добавим на форму два флажка и три поля ввода (как показано на рисунке).

Далее в свойствах (для флажка по валюте и соответствующего поля ввода) необходимо указать:

При настройке отбора по периоду: в свойство «Данные» флажка необходимо выбрать «Отбор. Период. Использование», в одно поле ввода «Отбор. Период. ВидСравнения», во второе поле ввода «Отбор. Период. Значение».

Запустите «1С: Предприятие» в пользовательском режиме и посмотрите на работу регистра сведений «Валюты».



Регистры бухгалтерии


Для отражения в бухгалтерском учете информации о хозяйственных операциях в системе 1С: Предприятие используются регистры бухгалтерии. Каждый из определяемых регистров бухгалтерии напрямую связан с каким либо планом счетов.

Создадим регистр бухгалтерии «Основной». В свойство «план счетов» выберем созданный предварительно план счетов «Основной». Регистр будет с поддержкой корреспонденции. После этого определяем состав реквизитов (в соответствии с рисунком). Реквизит «Сумма» является балансовым, «Количество» не является балансовым и связан с признаком учета «Количественный».

Остается запустить конструктор движений для приходной накладной и определить движения по созданному регистру бухгалтерии.

В модуль проведения добавятся следующие строки:

Процедура КнопкаВыполнитьНажатие (Элемент)  Для Каждого ТекСтрокаТовары Из Товары Цикл // регистр Основной Движение = Движения. Основной. Добавить ();

 

Движение. СчетДт = ПланыСчетов. Основной. товары;

 

Движение. СчетКт = ПланыСчетов. Основной. поставщики;

 

Движение. Период = Дата;

 

Движение. Регистратор = Ссылка;

 

Движение. Сумма = ТекСтрокаТовары. Сумма;

 

Движение. КоличествоДт = ТекСтрокаТовары. Количество;

 

Движение. СубконтоДт [ПланыВидовХарактеристик. ВидыСубконто. номенклатура] = ТекСтрокаТовары. Номенклатура;

 

Движение. СубконтоКт [ПланыВидовХарактеристик. ВидыСубконто. контрагенты] — Контрагент;

 

КонецЦикла;

 

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



Регистры накопления


Регистры накопления используются в системе для накопления информации о наличии и движении средств — товарных, денежных и других величин.

Можно сказать, что регистр накопления представляет из себя n- мерную систему координат, в узлах которой располагаются наборы числовых характеристик.

Так же как и с регистром сведений, работа с регистром накопления заключается в работе с записями (движениями регистра)

Различают два вида регистров накопления:

•    Регистры остатков

•    Регистры оборотов

Начнем знакомство с регистрами накопления с регистров остатков.

Регистр «Остатки номенклатуры»

Создайте регистр «ОстаткиНоменклатуры» (регистр остатков), определите у него одно измерение «Номенклатура», два ресурса «Количество», «Сумма», настройте формы списка.

Остается модифицировать документ «Приходная». Необходимо разрешить ему «двигать» данный регистр и, используя конструктор движений, переопределить обработку проведения.

Если вести речь о регистрах остатков, то нельзя закончить разговор о данном объекте, не ответив на вопрос: «На какую дату система хранит рассчитанные остатки». Ответ: «Соответствующая граница выставляется в пользовательском режиме».



Регистры сведений


Основная задача регистра сведений — хранить существенную для прикладной задачи информацию, состав которой развернут по определенной комбинации измерений и, при необходимости, развернут во времени. Эта информация хранится в регистре в виде записей. На запись нельзя сделать ссылку из информационной базы. В системе может быть только одна запись с определенной комбинацией измерений и периодом.

Регистры сведений, информация в которых развернута во времени, называют периодическими.

Записи в регистр сведений можно вносить двумя способами:

•   Документами (понятие регистратор)

•   Вручную

При записи документом (при проведении) запись жестко подчиняется документу-регистратору. При записи вручную какие-либо измерения могут назначаться ведущими. При проектировании регистра необходимо обращать внимание на порядок следования измерений.



Создание информационной базы данных


Следует отметить, что «1C: Предприятие» может работать в двух вариантах: файл-серверном, клиент-серверном (используется 3-х уровневая архитектура). В рамках данного курса особенности клиент- серверного варианта рассматриваться не будут.

Для создания информационной базы первоначально на жестком диске компьютера создайте собственную рабочую папку. Запустите конфигуратор и подключите эту папку, как пустую информационную базу. После запуска платформы в окне запуска необходимо воспользоваться кнопкой «Добавить». Откроется «мастер» подключения.

На первом этапе необходимо выбрать вариант добавления

В соответствии с поставленной задачей необходимо добавить две подсистемы: «Бухгалтерия», «Торговля», «Кадры».



Способы обхода результатов запроса, группировки в табличном документе


В предыдущем примере в основном использовался линейный способ обхода результата (метод «Выбрать ()» вызывался без явного указания способа обхода). Кроме линейного существует еще иерархический обход и обход результата по группам. Для явного указания способа обхода первым параметром метода «Выбрать» необходимо указать значение системного перечисления «ОбходРезультатаЗапроса».

Определены возможные значения:

•    Прямой

•    ПоГруппировкам

•    ПоГруппировкамСИерархией

Разбираться с порядком обхода будем на примере отчета «ПорядокОбхода»

У отчета необходимо определить два реквизита: НачПериода — тип «Дата» КонПериода — тип «Дата»

В диалоге предлагается (с использованием элемента формы «Панель») определить две страницы. На первой находятся элементы формы, связанные с реквизитами отчета, табличное поле (имя «тПоле», тип «ТаблицаЗначений»), поле выбора (имя «ОбходРезультата», тип «Произвольный»). На второй странице находится поле табличного документа (имя «тблРезультат»).

Текст модуля формы:

Процедура ВыполнитьНажатие (Элемент) ТабДок = ЭлементыФормы. тбл Результат;

 

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

 

ВыполнитьОтчет (ТабДок, ЭлементыФормы. ТПоле, ОбходРезультата);

 

ТабДок. ТолькоПросмотр = Истина;

 

ТабДок. Показать ();

 

КонецПроцедуры Процедура ВыбПериодНажатие (Элемент) НастройкаПериода = Новый НастройкаПериода;

 

НастройкаПериода. УстановитьПериод (НачПериода, КонецДня (КонПериода));

 

НастройкаПериода. РедактироватьКакИнтервал = Истина;

 

НастройкаПериода. РедактироватьКакПериод = Истина;

 

НастройкаПериода. ВариантНастройки = ВариантНастройкиПериода. Период;

 

НастройкаПериода. Редактировать ();

 

НачПериода = НастройкаПериода. ПолучитьДатуНачала ();

 

КонПериода = НастройкаПериода. ПолучитьДатуОкончания ();

 

КонецПроцедуры ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПрямоЙ, "Прямой");

 

ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПоГруппировкам, "По группировкам");

 

ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПоГруппировкамСИерархией, "По иерархии");

Текст модуля отчета:

ПроцедураВыдатьРекурсивно (ВыборкаДетальная, Знач Номер, ТабДок, Секция, ОбходРезультата) Номер=Номер+1;

 

Пока ВыборкаДетальная. Следующий () Цикл Секция. Параметры. Наименование = ВыборкаДетальная. НаименованиеНоменклатуры;

 

Секция. Параметры. Колво = ВыборкаДетальная. Количество;

 

Секция. Параметры. Сумма = ВыборкаДетальная. Сумма;

 

Секция. Параметры. ТипЗаписи = ВыборкаДетальная. ТипЗаписи ();

 

Секция. Параметры, Уровень = ВыборкаДетальная. Уровень ();

 

Секция. Параметры. Номер = Номер;

 

ТабДок. Вывести (Секция, ВыборкаДетальная. Уровень ());

 

ВыборкаДетальная2 = ВыборкаДетальная. Выбрать (ОбходРезультата);

 

ВыдатьРекурсивно (ВыборкаДетальная2, Номер, ТабДок, Секция, ОбходРезультата);

 

КонецЦикла;

 

КонецПроцедуры Процедура ВыполнитьОтчет (ТабДок, ТП, ОбходРезультата) Экспорт Перем ОбщиеИтогиСумма;




Создайте данный отчет, выбирая различные порядки обхода, смотрите получаемый результат.

Перем ОбшиеИтогиКоличество;

 Макет = ПолучитьМакет ("ПрололжениеМакет");

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

 Секция. Параметры. ПериодС = Формат (КонПериода, "ДЛФ-D");

 Секция. Параметры. ПериодПо = Формат (КонПериода, "ДЛФ=D");

 ТабДок. Вывести (Секция);

 Секция = Макет. ПолучитьОбласть ("Позиция");

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

 ТекстЗапроса = "ВЫБРАТЬ [Номенклатура, Номенклатура. Наименование НаименованиеНоменклатуры, Количество Количество, Сумма Сумма |ИЗ Документ. Приходная. Товары Где Ссылка. Дата Межлу &НачПериода И &КонПериода |УПОРЯДОЧИТЬ ПО Номенклатура. Наименование |ИТОГИ Сумма (Количество), Сумма (Сумма) ПО ОБЩИЕ, Номенклатура ИЕРАРХИЯ

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

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

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

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

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

 ТП. СоздатьКолонки ();

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

 Номер=0;

 ВыборкаОсновная = РезультатЗапроса. Выбрать (ОбходРезультата);

 Пока ВыборкаОсновная. Следуюший () Цикл Секция. Параметры. Наименовакие = ВыборкаОсновная. НаименованиеНоменклатуры;

 Секция. Параметры. Колво = ВыборкаОсновная. Количество;

 Секция. Параметры. Сумма = ВыборкаОсновная. Сумма;

 Секция. Параметры. Номер = Номер;

 Секция. Параметры. ТипЗаписи = ВыборкаОсновная. ТипЗаписи ();

 Секция. Параметры. Уровень = ВыборкаОсновная. Уровень ();

 ТабДок. Вывести (Секция, ВыборкаОсновная. Уровень ());

 ВыборкаДетальная = ВыборкаОсновная. Выбрать (ОбходРезультата);

 ВыдатьРекурсивно (ВыборкаДетальная, Номер, ТабДок, Секция, ОбходРезультата);

 КонецЦикла;

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

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

Рассмотрим еще один пример

Рассмотрим отчет «Вложенная таблица». Данный отчет иллюстрирует как за счет «обхода» (на самом деле механизм основан на том, что поле, содержащее табличную часть, имеет тип «Результат запроса») можно получить данные, которые не «запрашивались явно» при написании текста запроса.

В диалоге основной формы отчета необходимо разместить элемент формы «поле табличного документа» (имя «тблРезультат»).

Модуль отчета приведен ниже:


Справочники


Для работы с некоторым множеством значений в системе используются объекты типа «Справочник». Обычно справочниками являются списки материалов, товаров, организаций, валют, сотрудников и др. Название и структура конкретного справочника определяется при его создании в конфигураторе.

Знакомство со справочниками начнем с создания справочника «ЕдиницыИзмерения». Справочник без иерархии, без реквизитов, редактируется в списке, принадлежит только подсистеме «Торговля».

На закладке «Прочее», воспользовавшись кнопкой «Предопределенные», можно завести предопределенные значения данного справочника. Их перечень представлен ниже.

Обратиться к предопределенному элементу можно, используя конструкцию:

Справочники. Имя справочника. Имя предопределенного элемента;

Практикум № 2________________________________

Создайте справочник «Подразделения». У него неограниченная глубина иерархии, иерархия элементов, реквизитов нет, редактируется в списке, относится к подсистеме «Кадры».

При  построении  формы  списка  справочника  «Подразделения»  в конструкторе формы сделайте выбор, показанный на рисунке снизу.

В этом случае создание и корректировка элементов будет производиться непосредственно в дереве (для этого в свойствах элемента управления «Дерево» необходимо снять флажок «Только просмотр»).

Практикум № 3————————————Необходимо создать справочник «Номенклатура». Справочник имеет иерархию с неограниченным количеством уровней.

Реквизиты справочника:

•    «ЦенаПокупки» — тип «Число»

•    «ЦенаПродажи» — тип «Число»

•    «ОснЕдинщаИзмерения»-тип «СправочникСсылка. ЕдинщыИзмерения»

Редактируется в диалоге (необходимо настроить формы: списка, группы, элемента). Справочник принадлежит подсистеме «Торговля»

Создадим еще один справочник: «ФизическиеЛица». Справочник будет без иерархии. Содержит реквизиты:

•    «Фамилия» — тип «Строка» длина 30

•    «Имя» — тип «Строка» длина 30

•    «Отчество» — тип «Строка» длина 30

•    «ДатаРождения» — тип «Дата» состав: «Дата»




Кроме этого у справочника есть табличная часть «ТрудоваяДеятельность»

Реквизиты табличной части:

•    «НачалоРаботы» — тип «Дата» состав: «Дата»

•    «ОкончаниеРаботы» — тип «Дата» состав: «Дата»

•    «Организация» — тип «Строка»

•    «Должность» — тип «Строка»

Редактирование справочника будет производиться «Обоими способами». Требуется настроить форму списка и форму элемента.

При настройке формы списка в нее необходимо определить только колонки «Код», «Наименование», «ДатаРождения». Используя свойство колонки «Текст шапки» определить заголовок «Наименования» как «ФИО». Далее, у элемента диалога «Список» необходимо свойство «Способ редактирования» выставить в значение: «в списке».

При настройке формы элемента справочника разместим реквизиты и табличную часть на разных страницах. Страницы можно создавать непосредственно на форме, а можно с использованием элемента

управления «Панель»
.

При настройке табличной части сделаем так, чтобы реквизиты табличной части «НачалоРаботы», «ОкончаниеРаботы», «Должность» находились на одной строке, а «Организация» на следующей. Для этого для «ОкончаниеРаботы» и «Должность» в свойстве «Положение» необходимо выбрать значение «В той же колонке». Для колонки «Организация» в свойстве «Положение» выбрать значение «На следующей строке».

В   результате   форма  элемента  должна   принять   вид   близкий   к следующему:

Перед тем как продолжить работу со справочником «Физические лица» попробуем разобраться с иерархией объектов, позволяющих из языка работать с наполнением справочника.







В данной схеме представлены далеко не все объекты. Их полный перечень, состав свойств, методов, событий, взаимосвязь объектов можно просмотреть в документации и в синтакс-помощнике.

Для того, чтобы «добраться» до наименований справочника «Номенклатура» потребуется прописать следующий код:



//На чтение Выборка=Справочники. Номенклатура. Выбрать ();

 Пока Выборка. Следующий () Цикл Наим=Выборка. Наименование;

 КонецЦикла;

 //На запись Выборка=Справочники. Номенклатура. Выбрать ();

 Пока Выборка. Следующий () Цикл обСпр=Выборка, ПолучитьОбъект ();

 обСпр. Наименование="Одинаковое";

 обСпр. Записать ();

 КонецЦикла;

<


Вернемся к справочнику «ФизическиеЛица». Если при настройке справочника вы неукоснительно следовали инструкциям методики, то «увидеть» форму элемента (в пользовательском режиме, по умолчанию) не получится (хотя пользователь может изменить вариант редактирования справочника, воспользовавшись соответствующей кнопкой панели инструментов, или строкой в контекстном меню). Пропишем механизм, который позволит открывать форму элемента «принудительно».

В модуле формы пропишем текст процедуры

Процедура ОткрытьПодробно (Кнопка)

ТекСтрока=ЭлементыФормы. СправочникСписок. ТекущаяСтрока;

 Если ТекСтрока <> Неопределено Тогда

Форма=ТекСтрока. ПолучитьФорму ("ФормаЭлемента"„);

 Форма. Открыть ();

 КонецЕсли;

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

_________________________________________________________

В свойствах элемента формы «СправочникСписок» снимите флажок «Авто контекстное меню» и в свойстве «Контекстное меню» выберите значение «ДействияФормы».

Проверьте работоспособность созданного вами механизма.

В  форме  списка определим  свойства кнопки командной  панели

управления
(добавим   в   автоматически   созданную   панель

управления свою кнопку).




Сравнение и объединение конфигураций


Режим сравнения и объединения конфигураций позволяет детально сравнить две конфигурации и объединить их. Возможно выборочное объединение по результатам сравнения.

Режим запускается при выборе пункта меню «Конфигурация — Сравнить, объединить с конфигурацией из файла». После выбора открывается окно «Объединение конфигураций». Оно позволяет:

•    Ознакомиться с тем, какие объекты  в двух конфигурациях отличаются

•    Выбрать объекты, по которым необходимо детально изучить различия

•    Вызвать указанные объекты для просмотра и редактирования

•    Задать, какие из объектов включить в объединение

•    Установить соответствия объектов

•    Установить   режимы   объединения   конфигураций   (для   всей конфигурации или по каждому объекту)

•    Установить    порядок    подчиненных    объектов    (для    всей конфигурации или по каждому объекту)

•    Сформировать отчет о различиях в конфигурациях

•    Запустить процесс объединения конфигураций

Нажатие на кнопку «Действия» открывает контекстное меню. Пункт «Установить режим для всех» открывает диалог установки режима объединения и порядка подчиненных объектов.

«Отметить по подсистемам» позволяет установить отбор по подсистемам. Пункт «Отчет о сравнении» позволяет получить данный отчет с выбранной степенью детализации.

В окне «Объединение конфигураций» можно изменять соответствие объектов, произведенное автоматически. Делается это с помощью соответствующих пунктов контекстного меню.

При просмотре отличий можно открывать палитру свойств любого объекта: как из основной, так и из загружаемой конфигурации.

Находясь в режиме объединения можно производить изменение основной конфигурации. При внесении изменений кнопка «Выполнить» становится недоступной. Для продолжения обновления (объединения) требуется нажать кнопку «Обновить».

Для сравнения модулей требуется выбрать соответствующую строчку:

В открывшемся окне можно просмотреть отличия между модулями. Выполнив «Действия — Показать результат объединения модуля», просмотреть результат объединения.




Процесс объединения конфигураций запускается при нажатии кнопки «Выполнить».





Групповая разработка конфигураций

Разработка конфигурации авторским коллективом может производиться последовательно, когда разработчики договариваются о модификации объектов конфигурации, производят изменения, а затем объединяют результат. Такой режим связан с риском случайного изменения других объектов, с необходимостью точного понимания взаимосвязи объектов и всех направлений разработки.

Для снижения вероятности допущения ошибок, повышения производительности и упрощения процесса разработки конфигурации в системе «1С: Предприятие 8.0» существует механизм поддержки групповой разработки конфигурации.

Под групповой разработкой понимается одновременная работа группы разработчиков по изменению конфигурации, при которой модификация объекта конфигурации доступна только тому разработчику, который предварительно «захватил» данный объект.

При групповой разработке конфигурация рассматривается как набор объектов, закрытых для изменения. Чтобы провести изменения в объекте, его нужно «захватить». Одновременно объект может быть захвачен только одним пользователем.


Стили


Стиль — это совокупность различных настроек, используемых для оформления форм, текстов, рамок, и других составляющих элементов управления. Использование стиля позволяет быстро выбрать нужное оформление.

Единственный совет: не увлекайтесь. Старайтесь для разработки собственных интерфейсов привлекать людей (организации), специализирующихся в данной области.



Структура запроса (описание запроса)


Для выполнения запроса (получения необходимой выборки данных) необходимо составить текст запроса. Текст запроса — это инструкция, в соответствии с которой должен быть выполнен запрос.

После составления текста запроса его необходимо выполнить. По окончании выполнения полученный результат необходимо «обойти» (разобрать результат запроса).

Для формирования текста запроса существует специализированный язык запросов. Он определяет используемые синтаксические конструкции, структуру запроса.

Можно сказать, что текст запроса состоит из следующих секций:

•    Описание запроса

•    Объединение запросов

•    Упорядочивание результатов

•   Автоупорядочивание

•    Описание итогов

Из всех вышеуказанных секций обязательно наличие только описания запроса. В свою очередь, данная секция имеет следующую структуру:

Выбрать [Различные] [Первые <Количество>] <Список полей выборки>

[Из <Список источников>]

[Где <Условие отбора>]

[Сгруппировать По <Поля группировки>]

[Имеющие <Условия отбора>]

[Для изменения [[ОГ]<Список таблиц верхнего уровня>]]

Уже в рамках данной секции обязательно только наличие «Выбрать» и указание полей выборки. Все остальные структурные элементы могут опускаться.



Сводная таблица


Одна из интересных возможностей при работе с данными, имеющими сложную иерархию, заключается в работе со сводными таблицами. Рассмотрим эту возможность на примере отчета «Анализ продаж».

Процедура ВыполнитьОтчет (ТабДок) Экспорт Макет = ПолучитьМакет ("ПродолжениеМакет");

 

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

 

ТабДок. Вывести (Секция);

 

Секция = Макет. ПолучитьОбласть ("Позиция");

 

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

 

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

 

ТекстЗагтроса = "ВЫБРАТЬ |Контрагент Как Поставщик, Товары |ИЗ Документ. Приходная

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

 

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

 

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

 

Пока ВыборкаОсновиая. Следующий () Цикл СекцияП. Параметры. Наименование = ВыборкаОсновная. Поставшик;

 

ТабДок. Вывести (СекцияП);

 

ВыборкаДетальная = ВыборкаОсновная. Товары. Выбрать ();

 

Пока ВыборкаДетальная. Следующий () Цикл Секция. Параметры. Наименование = ВыборкаДетальная. Номенклатура;

 

Секция. Параметры. Колво = ВыборкаДетальная. Количество;

 

ТабДок. Вывести (Секция, ВыборкаДетальная. Уровень ());

 

КонецЦикла;

 

КонецЦикла;

 

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

Создайте новый отчет, определите у него два реквизита «НачПериода» и «КонПериода», имеющие тип «Дата».

Создайте форму отчета, в диалог формы поместите элемент управления «Поле табличного документа» (определив ему имя «ПТД»). Выделите диапазон ячеек в поле табличного документа, зайдите в пункт главного меню программы «Таблица», выберите раздел «Встроенные таблицы», далее пункт «вставить сводную таблицу».

Диалог формы после всех действий должен выглядеть следующим образом:

Текст     процедуры,     исполняемой     при     нажатии     на     кнопку «Сформировать», следующий:

Процедура КнопкаСформироватьНажатие (Элемент) Запрос = Новый Запрос;

 

Запрос. Текст = "ВЫБРАТЬ |            Ссылка, Контрагент КАК Покупатель, |            Ссылка. КонтактноеЛицо КАК Контакт, |            Номенклатура КАК Номенклатура, |            Количество, |            Сумма | из |            Документ. Расходная. Товары |Где ссылка. Дата Между &НачПериода И &КонПериода






|ИТ0ГИ СУММА (Количество), СУММА (Сумма) ПО |           Покупатель, Номенклатура, |            Контакт [АВТОУПОРЯДОЧИВАНИЕ";

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

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

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

 СводнаяТаблица = ЭлементыФормы. ПТД. ВстроеиныеТаблицы. СводнаяТаблица1;

 СводнаяТаблица. ИсточникДанных = Результат;

 Если СводнаяТаблица. Колонки. Количество () = 0  И Сводная Таблица. Строки. КоличествоО — 0 И СводнаяТаблица. Данные. Количество () = 0 Тогда // Зададим начальное расположение измерений          на осях СводнаяТаблица. Обновление = Ложь;

 Сводная Таблица. Колонки. Добавить ("Покупатель");

 СводнаяТаблица. Строки. Добавить ("Номенклатура");

 СводнаяТаблица. Данные. Добавить ("Количество");

 СводнаяТаблица. Данные. Добавить (" Сумма");

 СводнаяТаблица. Обновление = Истина;

 КонецЕсли;

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

При создании данного отчета модифицируйте его таким образом, чтобы он отображал группы поставщиков и группы номенклатуры, добавьте измерения содержащее дату документов.


Таблица документов


Любому документу соответствует следующая таблица:

Документ.<Имя>

Поле

Тип

Ссылка

ДокументСсылка.<Имя>

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

Булево

Номер

Число, Строка

Дата

Дата

Проведен

Булево

Представление

Строка

МоментВремени

Момент времени

<Реквизиты>

Тип реквизита

<Табличные частей

РезультатЗапроса

Практикум № 12_________________________________________

1. Напишите текст запроса, позволяющий посмотреть поля таблицы документа   «Приходная».   Сравните  с  таблицей,   представленной выше.

2.   Напишите  текст запроса,   позволяющий получить  данные  из табличной части документа (источником будет являться вложенная таблица).

3.     Напишите    текст    запроса,     который    выдаст     перечень контрагентов, которые являются и поставщиками и покупателями.



Таблица констант


Таблица констант имеет имя «Константы». Имена полей таблицы соответствуют именам констант, заданным в конфигураторе.

Запишем в окне текстового документа следующий текст:

Выбрать

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

Константы. ЮридическийАдрес

После обязательного ключевого слова «Выбрать» следует описание полей выборки. Описание полей разделяются запятыми. После последнего описанного поля запятая не ставится.



Таблица плана видов характеристик


Состав таблицы:

ПланВидовХарактеристик.<Имя>

Поле

Тип

Код

Строка

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

Строка

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

Булево

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

Булево

Представление

Строка

Родитель

ПланВидовХарактеристикСсылка.<Имя>

Ссылка

СправочникСсылка.<Имя>

ЭтоГруппа

Булево

<Реквизиты>

Тип реквизита

<Табличные части>

РезультатЗапроса

В таблице хранятся сами планы видов характеристик. Для того, чтобы получить значения свойств интересующих нас номенклатурных позиций, необходимо обращаться к регистру сведений «НазначениеСвойств».

Практикум № 24

Напишите текст запроса, который при выполнении выдаст данные по значениям всех предопределенных свойств элементов справочника номенклатуры. Результат должен быть отсортирован по номенклатуре и свойствам.



Таблица получения оборотов


Виртуальная таблица. Предназначена для получения оборотов за период по регистру накопления. При расчете итогов учитываются только активные записи. Данная таблица определена для всех (обоих) видов регистров накопления.

РегистрНакопления.<Имя>. Обороты (Начало, Окон чание, Периодичность, Условие)

Поле

Тип

Период

Дата

Регистратор

ДокументСсылка.<Имя>

<Измерение>

Тип измерения

<Ресурс>Оборот

Число

<Ресурс>Приход

Число

<Ресурс>Расход

Число

Параметры   «Начало»,   «Окончание»   задают   период,   за   который получаются обороты.

В  качестве  периодичности  может задаваться  один  из  следующих вариантов:

•    Период (не разворачивать)

•    Регистратор

•    День

•    Неделя

•    Месяц

•    Квартал

•   Год Посмотреть таблицу можно с помощью запроса:

Выбрать

*

Из РегистрНакопления. ОстаткиНоменклатуры. Обороты („Неделя)



Таблица получения остатков


Виртуальная таблица. Предназначена для получения остатков по регистру накопления. При расчете итогов учитываются только активные записи. Таблица существует только для регистров остатков.

РегистрНакопления.<Имя>. Остатки (Период, Условие)

Поле

Тип

<Измерение>

Тип измерения

<Ресурс>Остаток

Число

Выбрать

*

ИзРегистрНакопления. ОстаткиНоменклатуры. Остатки (&НачПериода)



Таблица получения остатков и оборотов


Виртуальная таблица. Предназначена для получения остатков и оборотов за период по регистру накопления. При расчете итогов учитываются только активные записи. Таблица существует только для регистров остатков.

РегистрНакопления.<Имя>ОстаткиИОбороты (Начало, Окончание,     Периодичность,     Метод     дополнения, Условие)

Поле

Тип

Период

Дата

Регистратор

ДокументСсылка.<Имя>

НомерСтроки

Число

<Измерение>

Тип измерения

<Ресурс>Оборот

Число

<Ресурс>Приход

Число

<Ресурс>Расход

Число

<Ресурс>НачальныйОстаток

Число

<Ресурс>КонечныйОстаток

Число

Возможные значения метода дополнения:

•    Движения (выдаются те периоды, в которых были движения)

•    ДвиженияИГраницыПериода     (выбираются      периоды,      по которым были движения и существовали остатки на начало и конец)

Практикум № 23——————————————————————————————————1.  Напишите текст запроса, который при выполнении позволил бы получать     остаток     выбранной     номенклатурной     позиции     на интересующую дату.

2.  Напишите текст запроса, который при выполнении выдавал бы данные, необходимые для «оборотки по месяцам» (номенклатурная позиция,  остаток на начало периода, приход, расход,  остаток на конец периода) за выбранный интервал дат.

3.   Напишите   текст  запроса,   который  при  выполнении  выдаст данные о продажах номенклатуры по выбранному покупателю.



Таблица получения среза последних


Виртуальная таблица. Она предназначена для получения наиболее близких в «прошлое» записей регистра сведений на указанную дату (включительно). Включает только активные записи.

РегистрСведений.<Имя>. СрезПоследних (Дата, Условие)

Поле

Тип

Период

Дата

Регистратор

ДокументСсылка.<Имя>

НомерСтроки

Число

Активность

Булево

<Измерение>

Тип измерения

<Ресурс>

Тип ресурса

<Реквизит>

Тип реквизита

Выбрать

¦

Из

РегистрСведений. Валюты. СрезПоследних (&НачПериода)

Таблица получения среза первых

Виртуальная таблица. Предназначена для получения наиболее близких в «будущее» записей регистра сведений на указанную дату (включительно). Включает только активные записи.

РегистрСведений.<Имя>. СрезПервых (Дата, Условие)

Тип

Дата

ДокументСсылка.<Имя>

Число

Булево

Тип измерения

Тип ресурса

Тип реквизита

Практикум № 22___________________________________________

Напишите текст запроса, результатом выполнения которого будет получение «истории» значений выбранной валюты.

Напишите текст запроса, результат выполнения которого будет получение значения курса выбранной валюты, действующего на выбранную дату. (При этом не надо пользоваться конструкцией «Где» запроса).



Таблицы информационной базы данных


Рассматривая более подробно таблицы — источники данных для запроса, будем одновременно знакомиться с языком описания запросов.



Таблицы, поля базы данных


Таблицы в «1С: Предприятии 8.0» подразделяются на два основных класса: реальные и виртуальные.

Реальные таблицы хранятся в базе данных. В случае использования реальной таблицы могут присутствовать вычисляемые поля, значения которых вычисляются как функция нескольких разных полей.

Виртуальные таблицы в базе данных не хранятся. При обращении к информации виртуальных таблиц система автоматически собирает информацию реальных таблиц для выполнения запроса. Виртуальная таблица может быть параметризована.

Отдельный подкласс таблиц образуют так называемые объектные таблицы. Эти таблицы предназначены для хранения состояния объектов системы, таких как справочники, документы и т. д. В таких таблицах присутствует поле «Ссылка» (ссылка на объект, данные которого содержит текущая запись таблицы).

В свою очередь любая таблица состоит из набора полей. В качестве поля таблицы может фигурировать:

•    «Обычное   поле»   (содержащее   какое-либо   значение,   либо значение типа «Null»)

•    вложенная таблица

Основное отличие обычного поля от вложенной таблицы состоит в том, что в рамках одной записи обычному полю соответствует одно единственное значение, а вложенной таблице соответствует значение типа «РезультатЗапроса» с заранее заданным набором колонок.

Можно проиллюстрировать данное понятие следующим образом:

Дата

Время

Контрагент

№ 

Товар

Кол-во

Сумма

Товары

01,01,03

11:00

ООО «Все»

1

Карандаш

5

100

2

Ручка

3

200

02,03,03

11:51

ООО

«Куда»

1

Кнопки

10

20

Если продолжить разговор о полях, содержащих какие-либо значения, можно отметить: поле может содержать значение одного типа, может содержать значения нескольких типов (иметь составной тип), при этом для конкретной записи поле содержит значение «одного» типа.



Таблицы регистра сведений Основная таблица


РегистрСведений.<Имя>

Поле

Тип

Период

Дата

Регистратор

ДокументСсылка.<Имя>

НомерСтроки

Число

Активность

Булево

МоментВремени

Момент времени

<Измерение>

Тип измерения

<Ресурс>

Тип ресурса

<Реквизит>

Тип реквизита

Практикум № 21 _____________________________________________

1.     Напишите    текст    запросов,     позволяющих    просматривать наполнение регистров сведений «Валюты», «ШтатноеРасписание»

2.   Сформируйте текст запроса, выполнение которого приведет к получению данных о курсах валют на выбранную дату.



Типы данных


Одним из основных свойств некоторых объектов конфигурации является «тип данных». Это свойство определяет, какого рода информацию может содержать объект конфигурации.

Различают три основных группы типов данных:

•    Примитивные  типы  (в  их  состав  входят  базовые  типы данных)

•    Типы    данных,    «появившиеся»    после    определения    в конфигурации объектов конфигурации.

•    «Другие»   типы,    не   относящиеся   к   примитивным   и «добавляемым», но поддержка которых во встроенном языке есть изначально.

К базовым типам данных относятся:

•    Число (десятичное число)

•    Строка    (строка    фиксированной,    или    неограниченной длинны)

•    Дата (дата, время)

•    Булево (истина или ложь)

Кроме вышеперечисленных существует еще ряд типов, которые относятся к примитивным: это «Тип», «Неопределено», «Null».

Отдельно хочется сказать про такой тип как «Хранилище значений». Если определить реквизиту такой тип, то в нем можно хранить «все что угодно» (включая двоичные данные, картинки, файлы).



Указание источников в запросе


Рассмотрим следующий запрос: Выбрать

НазваниеОрганизации, ЮридическийАдрес

Из

Константы

Источник запроса (под источником запроса обычно понимается таблица, реальная или виртуальная) указывается после ключевого слова «Из». В общем случае источников может быть несколько. Описание источников разделяется запятыми, после последнего источника запятая не ставится.

Следующий запрос показывает содержимое всех полей в таблице констант

Выбрать

*

Из

Константы

Исходя из назначения констант, таблица «Константы» всегда содержит одну строку.

Таблица справочников

Каждый справочник представлен таблицей, обладающей следующим набором полей:

Справочник. <Имя>

Поле

Тип

Код

Число, Строка

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

Строка

Представление

Строка

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

Булево

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

Булево

ЭтоГруппа

Булево

Родитель

СправочникСсылка.<Имя>

Владелец

СправочникСсылка.<ИмяВ>

Ссылка

СправочникСсылка.<Имя>

<Реквизиты>

Тип реквизита

<Табличные части>

РезультатЗапроса

Для просмотра состава полей справочника «Физические лица» можно воспользоваться следующим запросом:

Выбрать

*

Из

Справочник. ФизическиеЛица

Выбрать

*

Из

Справочник. ФизическиеЛица. ТрудоваяДеятельность

Указание вложенной таблицы как источника, конструкции «Различные», Первые N.

В   качестве  примера  получения  данных  из  вложенной  таблицы (табличной   части   справочника)   можно   рассмотреть   следующий запрос:

Зададимся целью получить перечень единиц измерения, используемых при описании номенклатурных позиций.

После ключевого слова «Выбрать» можно указывать дополнительную конструкцию «Первые N». В результат выполнения запроса войдут только первые N записей.

Если указать «Различные», то результат запроса не будет содержать повторяющихся (одинаковых по значениям всех полей выборки) записей.

Практикум № 10 ______________________________:_______

Напишите текст запроса, выполнение которого привело бы к получению перечня номенклатуры с основными единицами измерения, базовыми единицами измерения и коэффициентами основных единиц измерения (при указании в качестве источника запроса одной таблицы, для «доступа» к полям другой (связанной) таблицы можно использовать конструкцию «ИмяПоля. ИмяПоля»).



Универсальные коллекции значений


Универсальные коллекции значений предназначены для хранения временных наборов данных в течение сеанса работы пользователя. Они не являются объектами информационной базы и служат для вспомогательного сбора, группировки, анализа и обработки информации.



Упорядочивание результатов запроса


Просматривая данные из вложенной таблицы видно, что они упорядочены по дате документа. Если требуется получить данные с другим вариантом сортировки, то для этих целей можно использовать конструкцию «Упорядочить По»

Выбрать

*

Из Документ. Приходная Упорядочить По

Контрагент Иерархия

Следующий текст запроса позволит упорядочить по иерархии:

Выбрать

Наименование, Количество, Сумма Из Документ. Приходная. Товары Правое Внешнее Соединение Справочник. Номенклатура Как Номен По Номен. Ссылка=Номенклатура Упорядочить По Наименование Иерархия

Выбрать

*

Из

Документ. Приходная Упорядочить По Контрагент Возр, Номер Убыв

Возможные варианты упорядочивания: «Возр», «Убыв», «Иерархия». В качестве имен полей, по которым производится упорядочивание, можно указывать их псевдонимы.

В случае, если вариант упорядочивания не указан (и не используется «автоупорядочивание»), то упорядочивание будет производиться по значению внутренних идентификаторов.

Важно помнить, что упорядочивание по иерархии возможно только по таблицам с иерархией. Пример неработающего упорядочивания:

Практикум № 13_______________________________________

Измените вид соединения с правого на левое и попытайтесь пояснить результат.

Напишите текст запроса, который позволит вывести перечень из пяти самых дорогих товаров.



Ведение сложных периодических расчетов


Одним из ярких примеров «сложных периодических расчетов» является расчет заработной платы физических лиц.



Виды модулей


Существуют модули различных видов:

Модуль приложения. Модуль располагается в корневом разделе конфигурации. В нем располагаются процедуры-обработчики событий, которые инициализируются при старте и окончании работы системы, определения (с ключевым словом «Экспорт») переменных, процедур, функций доступных в любых точках конфигурации. В нем не рекомендуется реализовывать процедуры, функции, выполняющие обработку данных (необходимые расчеты).

Модуль внешнего соединения. В модуле могут располагаться экспортируемые переменные, процедуры и функции, а также процедуры-обработчики событий «ПриНачалеРаботыСистемы ()» и «ПриЗавершенииРаботыСистемы (), используемые в режиме внешнего соединения.

Общие модули. Располагаются в отдельной ветви дерева метаданных. Могут быть разбиты по подсистемам и содержат определения процедур и функций. Те из них, которые определены с использованием ключевого слова «Экспорт» доступны из всех модулей конфигурации.

Если используется клиент-серверный вариант системы "1C: Предприятие", то с помощью свойств «Клиент» и «Сервер», а также указаний препроцессору (директивы #Если Сервер Тогда…. И #Если Клиент Тогда…) можно организовывать выполнение различных процедур и функций общих модулей на сервере приложения или на клиентском месте.

Модули прикладных объектов. Модули располагаются в ветках конфигурации, в которых содержатся сами объекты (к ним относятся справочники, документы, отчеты, обработки, регистры) и являются свойствами этих объектов.

Модули набора записей. Модули присутствуют у регистров любого вида. В них могут быть определены предопределенные процедуры «ПриЗаписи», «ПередЗаписью».

Модули форм. Эти модули содержатся в формах конфигурации. Модуль формы может содержать определения переменных, процедур, функций, реализующих алгоритмы «поведения» формы.



Встроенные функции в языке запросов, операция выбора


•    Подстрока (Выражение, Начальный символ, Сколько отрезать)

•    Год (выражение)

•    Квартал (выражение)

•    Месяц (выражение)

•    ДеньГода (выражение)

•    День (выражение)

•    Неделя (выражение)



Встроенный программный язык


Необходимость наличия встроенного языка определена концепцией настраиваемости системы. Язык является предметно- ориентированным.    Он   поддерживает   специализированные   типы

данных предметной области, определяемые конфигурацией системы. Работа с этими типами данных в языке организована с использованием объектной техники.

Так как система сочетает в себе визуальные и языковые средства конфигурирования, использование встроенного языка в системе имеет событийно-зависимую ориентацию, то есть языковые модули используются в конкретных местах для отработки отдельных алгоритмов, настраиваемых в процессе конфигурации. Программный код помещается в «модули».

Место размещения конкретного программного модуля предоставляется конфигуратором в тех точках конфигурации, которые требуют описания специфических алгоритмов функционирования. Эти алгоритмы следует оформлять в виде процедур или функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях.



Введение


«1С: Предприятие» является универсальной системой автоматизации деятельности предприятия. За счет своей универсальности система «1С: Предприятие» может быть использована для автоматизации самых различных участков деятельности организаций, предприятий.

Основной особенностью системы «1С: Предприятие» является ее конфигурируемость. Собственно система «1С: Предприятие» {платформа) представляет собой совокупность механизмов, предназначенных для манипулирования различными типами объектов предметной области. Конкретный набор объектов, структуры информационных массивов, алгоритмы обработки информации определяет конкретная конфигурация. Вместе с конфигурацией система «1С: Предприятие» выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач.

Функционирование системы делится на два процесса:

•    конфигурирование (описание модели предметной области средствами, предоставляемыми системой)

•    исполнение (обработку данных предметной области).

На этапе конфигурирования система оперирует такими универсальными понятиями (объектами), как «Документ», «Справочник», «Реквизит», «Форма» и другие. Совокупность этих понятий и определяет концепцию системы. В свою очередь процесс конфигурирования распадается на несколько составляющих. Это «визуальное» создание структуры конфигурации, форм диалогов, выходных документов, интерфейсов, наборов прав пользователей (ролей) и написание программ на встроенном языке «1С: Предприятия» для обработки входных и выходных данных.

На уровне системы определены сами понятия объектов и стандартные операции по их обработке. Средства конфигурирования позволяют описать структуры информации, входящей в эти объекты, и алгоритмы, описывающие специфику их обработки, для отражения различных особенностей учета.

В процессе исполнения система уже оперирует конкретными понятиями, описанными на этапе конфигурирования (справочниками товаров и организаций, накладными и т. д.).

При работе пользователя в режиме «1С: Предприятие» обработка информации выполняется как штатными средствами системы, так и с использованием алгоритмов, созданных на этапе конфигурирования.



Ввод на основании


Одним из режимов ввода новых объектов (элементов, групп справочников, документов, элементов, групп планов видов характеристик и т. д.) в процессе работы пользователя с системой является режим ввода «на основании». С точки зрения пользователя режим ввода «на основании» позволяет вводить документы или элементы справочника, заполняя их реквизиты из других объектов информационной базы. (Можно ввести документ одного вида на основании данных из документа другого вида, можно заполнить элемент справочника на основании выбранного экземпляра документа и т. д.)

Познакомимся с данным механизмом на примере «заведения» документа «ПриемНаРаботу» на основании элемента справочника «ФизическиеЛица». Для «усложнения» задачи в документе определим табличную часть «ТрудоваяДеятельность» (такую же как в справочнике «ФизическиеЛица»).

После того, как будут выполнены все требуемые корректировки документа (структуры, формы документа) необходимо на закладке «Ввод на основании» указать, что основанием для данного документа будет являться справочник «ФизическиеЛица».

После этого для определения процедуры «ОбработкаЗаполненияО» можно воспользоваться соответствующим конструктором (вызов находится на закладке «Ввод на основании»)

Текст процедуры, сформированной конструктором приведен ниже:

Процедура ОбработкаЗаполнения (Основание) Если ТипЗнч (Основание)=Тип ("СправочникСсылка. ФизическиеЛица") Тогда Сотрудник = Основание. Ссылка;

 

Для Каждого ТекСтрокаТД Из Основание. ТрудоваяДеятельность Цикл

НоваяСтрока = ТрудоваяДеятельность. Добавить ();

 

НоваяСтрока. Должность = ТекСтрокаТД. Должность;

 

НоваяСтрока. НачалоРаботы = ТекСтрокаТД. НачалоРаботы;

 

НоваяСтрока. ОкончаниеРаботы = ТекСтрокаТД. ОкончаниеРаботы;

 

НоваяСтрока. Организация = ТекСтрокаТД. Организация;

 

КонецЦикла;

 

КонецЕсли;

 

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

Практикум № 8___________________________________________

Создайте документ «Счет», который будет вводиться на основании документа «Расходная». У документа «Счет» должен быть один реквизит «Покупатель», одна табличная часть «Товары», содержащая реквизиты «Номенклатура», «Количество», «Стоимость». Запретите проведение, настройте все необходимые формы документа.



Выгрузка, загрузка информационной базы


Текущую информационную базу данных можно сохранить в файл на диске. Для сохранения данных в файл выберите пункт «Администрирование — Выгрузить информационную базу данных в файл».

Для восстановления информационной базы данных из файла выберите пункт «Администрирование — Загрузить информационную базу из файла».

Выбор файла в обоих случаях производится в стандартном диалоге выбора файла.



Выполнение и работа с запросами во встроенном языке


Для формирования запросов, выборки и обработки результатов запросов в языке предусмотрен специальный набор объектов. С помощью этих объектов выполняется формирование запроса, обход записей запроса и т. д.

Рассмотрим в качестве первого примера отчет «Знакомство с Запросом».

При создании отчета определим у него следующие реквизиты:

•    НачПериода тип «Дата» состав «Дата+Время»

•    КонПериода тип «Дата» состав «Дата+Время»

•    ЗначениеСсылка тип «СправочникСсылка»

•    ЗначениеЧисло тип «Число»

•    ЗначениеСтрока тип «Строка»

•    ЗначениеБулево тип «Булево» Определена табличная часть «ТЧ»:

•    Реквизит        табличной         части         «ТЧСсылка»,         тип «СправочникСсылка»

При настройке диалога основной формы отчета необходимо разместить элементы управления, связанные с реквизитами и табличной частью отчета на второй закладке. На первую необходимо поместить поле текстового документа «ПолеТД» и табличное поле «тПоле».

У поля текстового документа в свойстве «Расширение» проставить значение «Язык запросов». У табличного поля определить тип значения «Таблица значений».

Текст процедуры,  которая выполняется  при  нажатии  на  кнопку «Сформировать» приводится ниже:

Процедура КнопкаСформироватьНажатие (Элемент) Запрос=Новый Запрос;

 

Запрос. Текст = ЭлементыФормы. ПолеТД. ПолучитьТекст ();

 

Запрос. УстановитьПараметрС'ТЧ", ТЧ. ВыгрузитьКолонку ("ТЧСсылка"));

 

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

 

Запрос. УстановитьПараметр ("КонПериода", КонПериода);

 

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

 

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

 

Запрос. УстановитьПараметр ("ЗначениеБулево", ЗначениеБулево);

 

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

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

 

ЭлементыФормы. тПоле. Значение=РезультатЗапроса. Выгрузить ();

 

//ЭлементыФормы. тПоле. ЧередованиеЦветовСтрок=Истина;

 

ЭлементыФормы. тПоле. СоздатьКолонки ();

 

Для Каждого Колонка из ЭлементыФормы. тПоле. Колонки Цикл Колонка. Ширина= 15;

 

КонецЦикла;

 

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



Заключение


Что можно посоветовать для достижения более эффективного результата в обучении конфигурированию и программированию в среде «1С: Предприятие 8.0»?

Во-первых, пройти эту методику еще раз самостоятельно, но на этот раз в спокойном темпе, не пропуская ни одного практикума. Это будет уже намного проще, так как учебная конфигурация, полученная Вами в результате обучения, поможет Вам вспомнить особенности работы с изучаемыми объектами.

Во-вторых, имеет смысл продолжить изучение методов встроенного языка и типовых конфигураций на наших курсах.

В-третьих, применять полученные знания на практике. Ничто так не укрепляет знания, как решение реальных задач.

Успехов в работе!



Запросы


Когда необходимо получить какую-либо сложную выборку данных из информационной базы проще всего использовать так называемые «запросы».

Когда речь заходит о запросе, возникает ряд сопряженных с ним понятий:

•    Источники данных (табличная модель данных)

•    Структура запроса (описание запроса)

•    Обработка результатов запроса



Журналы документов


До этого момента для работы с уже выписанными документами использовались их формы списка. Эти формы списка не позволяли просматривать (в одном списке) документы разных видов. Если же в этом есть необходимость, то здесь смогут помочь журналы.

В журнале может быть любое (в разумных пределах) количество граф. При создании графы необходимо от каждого вида документа выбрать по реквизиту (только по одному, но можно разных типов), который будет в ней отображаться.

Создайте журнал «Складские». На закладке «Данные» отметьте в качестве регистрируемых документы «Приходная» и «Расходная», создайте две графы «Контрагент» и «ОбщСумма», настройте форму списка.

Практикум № 5;

_____________________________

Создайте справочник «Должности», без реквизитов, табличных частей, без иерархии. Редактируется в списке.

Создайте документ «Прием на работу». У документа нет табличных частей, но есть следующие реквизиты: «Сотрудник», «Подразделение», «Должность». Определите печатную форму.



Значения субконто


Таблица хранит значения субконто записей регистра бухгалтерии. Связь с таблицей записей регистра бухгалтерии осуществляется через поля;

 

«Регистратор», «Номер строки». Поле «Корреспонденция» показывает, к какой части записи относится данное значение.

РегистрБухгалтерии.<Имя>. Субконто

Поле

Тип

МоментВремени

Момент времени

Период

Дата

Регистратор

Любая ссылка

НомерСтроки

Число

ВидДвижения

Вид движения бухгалтерии

ВидСубконто

ПланВидовХарактеристикСсылка. Имя

Значение

Тип субконто

Выбрать * Из РегистрБухгалтерии. Основной. Субконто

Практикум № 24____________________________________________

Напишите текст запроса, который при выполнении выдаст данные по счету дебета, счету кредита, сумме, используемых субконто.

Выбрать * Из РегистрБухгалтерии. Основной

Движения с субконто

Виртуальная таблица. Позволяет получить информацию о записях регистра вместе со значениями субконто.

Выбрать * Из РегистрБухгалтерии. Основной. ДвиженияССубконто

Остатки

Виртуальная таблица. Позволяет получать остатки на произвольную дату в разрезе счета, измерений и субконто.

РегистрБухгалтерии.<Имя>. ДвиженияССубконто (<Начало периода>, <Конец периода>, <Условие>)

Поле

Тип

МоментВремени

Момент времени

Период

Дата

Регистратор

Любая ссылка

НомерСтроки

Число

Активность

Булево

СчетДт

ПланСчетовСсылка. Имя. СчетДт

СубконтоДт<№ >

Значение субконто

ВидСубконто Дт<№ >

ПланВидовХарактеристикСсылка. Имя

СчетКт

ПланСчетовСсылка. Имя. СчетКт

СубконтоКт<№ >

Значение субконто

ВидСубконтоКт<№ >

ПланВидовХарактеристикСсылка. Имя

<Измерение>

Тип измерения

<Измерение>Дт

Тип измерения

<Измерение>Кт

Тип измерения

<Ресурс>

Число

<Ресурс>Дт

Число

<Ресурс>Кт

Число

<Реквизит>

Тип реквизита

Выбрать * Из РегистрБухгалтерии. Основной. Остатки