Обращение к менеджеру документа 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обращение к менеджеру документа



ДокСчет=Документы.Счет;

ДокСчет=Документы(«Счет»);

 

Выборка документов

 

ДокВыборка=Документы.Счет.Выбрать();

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

Сообщить(…);

КонецЦикла;

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

 

Док=Документы.Счет.СоздатьДокумент();

Док.Дата=ТекущаяДата();

Док.Записать() // обычная запись документа

//запись документа с неоперативным проведением

Док.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный)

Показать в СП

 

Поиск документа

Поиск элемента или группы производится методом НайтиПоНомеру. Иначе - выборка.

 

Удаление документа – аналогично спр.

Открытие форм документа - аналогично спр.

Движения документа

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

ПроводкиБУ = Движения.Хозрасчетный;

ПроводкиНУ = Движения.Налоговый;

Для каждого СтрокаТаблицы Из ТаблицаПоТоварам Цикл

Проводка = ПроводкиБУ.Добавить();

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

Проводка.Организация = СтруктураШапкиДокумента.Организация;

Проводка.СчетДт = СтрокаТаблицы.СчетУчетаБУ;

КонецЦикла;

Движения.Хозрасчетный.Записать();

Движения.Налоговый.Записать();

Модуль объекта

Существуют следующие события, обработчики которых располагаются в модуле документа: (см. Документ.Объект – События).

 


Перечисления

Значения перечислений вводятся на этапе разработки прикладного решения и не могут быть изменены в процессе работы с программой.

Если ПолФЛ=Перечисления.Пол.Мужской Тогда …

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

Запросы

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

Пример решения задачи с помощью языка программирования и с помощью запроса:

Язык программирования:

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

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

Если СпрВыборка.Услуга=Истина Тогда

Сообщить(СпрВыборка.Наименование);

КонецЕсли;

КонецЦикла;

Механизм запросов

Запрос=Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура

| ГДЕ Услуга=Истина");

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

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

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

Сообщить(Выборка.Наименование);

КонецЦикла;

 

Запрос:

· внутри цикла не нужно фильтровать записи;

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

· в клиент-серверном варианте работы запросы будут транслироваться в SQL для выполнения в среде MS SQL Server.

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

Для работы с запросами предусмотрено несколько специальных объектов:

  • Запрос;
  • РезультатЗапроса;
  • ВыборкаИзРезультатаЗапроса.

Общая схема выполнения запроса такова:

  1. Создание объекта типа Запрос с текстом запроса на языке запросов.
  2. Установка параметров запроса с помощью метода УстановитьПараметр.
  3. Выполнение запроса, получение результата.
  4. Получение выборки из результата запроса или выгрузки результата в таблицу значений \ дерево значений. Также есть возможность использовать результат запроса как источник данных для сводной таблицы.
  5. Обработка или анализ полученных данных.

 

// создание объекта Запрос

Запрос=Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура

| ГДЕ Услуга=Истина");

// выполнение запроса и получение результата

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

// получение выборки из результата запроса

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

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

// обращение к полям

Сообщить(Выборка.Наименование);

КонецЦикла;

 

Конструктор запросов

 

Язык запросов

В общем случае текст запроса строится по следующей схеме:

ВЫБРАТЬ <Список полей | *>

[ИЗ <Список таблиц - источников>]

[ГДЕ <Список условий>]

[УПОРЯДОЧИТЬ ПО <Список полей>] | [АВТОУПОРЯДОЧИВАНИЕ]

[СГРУППИРОВАТЬ ПО <Список полей>]

[ИТОГИ [агрегатные функции]] ПО <Список полей> [, ОБЩИЕ]]

 

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

 

1. Предложение ВЫБРАТЬ

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

Синтаксическая диаграмма конструкции ВЫБРАТЬ:

ВЫБРАТЬ [РАЗЛИЧНЫЕ] [ПЕРВЫЕ <Количество>] <Список полей | *>

Ключевое слово РАЗЛИЧНЫЕ позволяет оставить в запросе только отличающиеся строки.

Запрос=Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ Организация ИЗ

Документ.ПриходныйКассовыйОрдер");

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

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



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 436; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.111.125 (0.011 с.)