1С-Предприятие 8.0. Практическое пособие разработчика

       

Объекты встроенного языка для работы с документами:


*Заливкой выделен объект манипулирования данными

Узнай больше!

Про основные виды объектов встроенного языка можно прочитать в главе "Виды объектов встроенного языка, предназначенные для работы с данными прикладных объектов конфигурации" на странице 551. [577]



//  Документы

//Пример: вывести все типы ссылок на документы, существующие в конфигурации

Массив = Документы.ТипВсеСсылки().Типы();

Для Каждого ОчереднойТип Из Массив Цикл

   Сообщить(ОчереднойТип);

КонецЦикла;

//  .<имя документа>

//  [<имя документа>]

//  Для Каждого ... Из ... Цикл ... КонецЦикла;

//Пример: Открыть форму нового документа ОказаниеУслуги для интерактивного

//заполнения

Форма = Документы["ОказаниеУслуги"].ПолучитьФормуНовогоДокумента();

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

//Пример: Открыть формы списка всех документов, существующих в

// конфигурации

Для Каждого ОчереднойДокумент Из Документы Цикл

   Форма = ОчереднойДокумент.ПолучитьФормуСписка();

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

КонецЦикла; [578]

//  НайтиПоНомеру()

//  НайтиПоРеквизиту()

//  ПустаяСсылка()

//Пример: Проверить, проведен ли документ ПриходнаяНакладная с номером 3

Если Документы.ПриходнаяНакладная.НайтиПоНомеру(3).Проведен Тогда

   Сообщить("Документ с номером 3 проведен");

КонецЕсли;

//Пример: Проверить, что во всех документах ПриходнаяНакладная заполнен

//реквизит Склад

ПустаяСсылкаСклада = Справочники.Склады.ПустаяСсылка();

Если Не Документы.ПриходнаяНакладная.НайтиПоРеквизиту("Склад", ПустаяСсылкаСклада).Пустая() Тогда

   Сообщить("Есть документы, у которых не заполнен реквизит Склад");

КонецЕсли;

//  Выбрать()

//Пример: Выбрать все документы ПриходнаяНакладная за текущий месяц

Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()),КонецМесяца(ТекущаяДата()));




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

   Сообщить(Выборка);

КонецЦикла;



//  СоздатьДокумент()

//Пример: Создать новый документ ПриходнаяНакладная

НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();

НовыйДокумент.Дата = ТекущаяДата();

НовыйДокумент.Склад = Справочники.Склады.Основной;

//Заполнить табличную часть

НоваяСтрокаТабличнойЧасти = НовыйДокумент.Материалы.Добавить();

НоваяСтрокаТабличнойЧасти.Материал = Справочники.Номенклатура.НайтиПоКоду(6);

НоваяСтрокаТабличнойЧасти.Количество = 10;

НоваяСтрокаТабличнойЧасти.Цена = 22.5;

НоваяСтрокаТабличнойЧасти.Сумма = 225;

НовыйДокумент.Записать(); [579]



//  Ссылка

//Пример: В модуле объекта вызвать процедуру проверки заполнения реквизитов документа

Если Не ПроверитьЗаполнениеРеквизитов(ЭтотОбъект.Ссылка) Тогда

   Сообщить("Реквизиты документа не заполнены!");

КонецЕсли;



//  ПолучитьОбъект()

//  Скопировать()

//Пример: Пометить документ на удаление

НенужныйДокумент = Документы.ОказаниеУслуги.НайтиПоНомеру(13).ПолучитьОбъект();

НенужныйДокумент.УстановитьПометкуУдаления(Истина);



//  Ссылка

//Сформировать список ссылок на все документы ПриходнаяНакладная за

//текущий месяц

СписокНакладных = Новый СписокЗначений;

Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()),КонецМесяца(ТекущаяДата()));

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

   СписокНакладных.Добавить(Выборка.Ссылка);

КонецЦикла; [580]



//  ПолучитьОбъект()

//Пример: Удалить все документы ПриходнаяНакладная

Выборка = Документы.ПриходнаяНакладная.Выбрать();

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

   Выборка.ПолучитьОбъект().Удалить();

КонецЦикла;

Содержание раздела