Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3 курс (заочка) / Методические пособия / Пособие для ответов на контрольные вопросы

.pdf
Скачиваний:
159
Добавлен:
15.02.2021
Размер:
46.69 Mб
Скачать

Краткий справочник разработчика 911

Листинг 29.6. Примеры использования объектов

1. // Глобальный контекст // Документы

// Пример: вывести все типы ссылок на элементы справочников, существующие в конфигурации. Массив = Документы.ТипВсеСсылки().Типы(); Для Каждого ОчереднойТип из Массив Цикл

Сообщить(ОчереднойТип); КонецЦикла;

2. //объект ДокументыМенеджер

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

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

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

//Пример: получить макет для печати документа "Оказание услуги". Макет = Документы["ОказаниеУслуги"].ПолучитьМакет("Печать");

//Пример: получить ссылку на каждый из документов, существующих в конфигурации. Для Каждого ОчереднойДокумент Из Документы Цикл

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

КонецЦикла;

3.// объект ДокументМенеджер.<Имя документа>

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

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

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

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

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

//Пример: Проверить, что во всех документах ПриходнаяНакладная заполнен реквизит Склад. ПустаяСсылкаСклада = Справочники.Склады.ПустаяСсылка(); Если Не Документы.ПриходнаяНакладная.НайтиПоРеквизиту(

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

КонецЕсли;

4.// объект ДокументМенеджер.<Имя документа> // Выбрать()

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

НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата()));

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

КонецЦикла;

9121С:Предприятие 8.3. Практическое пособие разработчика

5.// объект ДокументМенеджер.<Имя документа>

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

//Пример: Создать новый документ ПриходнаяНакладная. НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент(); НовыйДокумент.Дата = ТекущаяДата(); НовыйДокумент.Склад = Справочники.Склады.Основной;

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

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

6.// объект ДокументОбъект.<Имя документа>, объект ДокументСсылка.<Имя документа> // Ссылка

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

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

7. // объект ДокументСсылка.<Имя документа>, объект ДокументОбъект.<Имя документа> // ПолучитьОбъект()

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

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

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

8.// объект ДокументВыборка.<Имя документа>

//Ссылка

//Сформировать список ссылок на все документы "ПриходнаяНакладная" за текущий месяц. СписокНакладных = Новый СписокЗначений; Выборка = Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаяДата()), КонецМесяца(ТекущаяДата())); Пока Выборка.Следующий() Цикл

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

9.// объект ДокументВыборка.<Имя документа> // ПолучитьОбъект()

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

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

Краткий справочник разработчика 913

Последовательность событий при записи документа из формы документа

Рис. 29.6. Последовательность событий при записи нового документа из формы документа

ПРИМЕЧАНИЕ

Заливкой выделены события, выполняющиеся в транзакции записи.

914 1С:Предприятие 8.3. Практическое пособие разработчика

Последовательность событий при проведении документа из формы документа (провести и закрыть)

Рис. 29.7. Последовательность событий при проведении документа из формы документа

ПРИМЕЧАНИЕ

Заливкой выделены события, выполняющиеся в транзакции записи.

Краткий справочник разработчика 915

Последовательность событий при отмене проведения документа из формы документа

Рис. 29.8. Последовательность событий при отмене проведения документа из формы документа

ПРИМЕЧАНИЕ

Заливкой выделены события, выполняющиеся в транзакции записи.

916 1С:Предприятие 8.3. Практическое пособие разработчика

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

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

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

Рис. 29.9. Объекты встроенного языка для работы с перечислениями

ПРИМЕЧАНИЕ

Заливкой выделен объект манипулирования данными. Метод объекта, от которого идет стрелка, приводится в листинге под соответствующей цифрой, а объект, к которому идет стрелка, – это тип объекта, возвращаемого методом.

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

Про основные виды объектов встроенного языка можно прочитать в разделе «Объекты встроенного языка для работы с прикладными данными» на стр. 896.

Ниже приведены примеры использования объектов встроенного языка для работы с перечислениями (листинг 29.7).

Листинг 29.7. Примеры использования объектов

1.// Глобальный контекст // Перечисления

// Пример: получить значение перечисления по индексу. Перечисления.ВидыНоменклатуры.Получить(0);

2.// объект ПеречисленияМенеджер // .<имя перечисления>

Краткий справочник разработчика 917

//[<имя перечисления>]

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

//Пример: получить количество значений перечисления Перечисления.["ВидыНоменклатуры"].Количество();

3.// объект ПеречислениеМенеджер.<Имя>

//.<имя значения перечисления>

//[<имя значения перечисления>]

//[<индекс элемента коллекции>]

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

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

//Пример: получить пустую ссылку на значение перечисления.

ПустаяСсылкаПеречисления = Перечисления.ВидыНоменклатуры.ПустаяСсылка(); Если ТекущаяНоменклатура.ВидНоменклатуры = ПустаяСсылкаПеречисления Тогда

//Предложить заполнение вида номенклатуры.

КонецЕсли;

Планы видов характеристик

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

На следующей схеме изображено взаимодействие объектов встроенного языка для работы с планами видов характеристик (рис. 29.10).

Рис. 29.10. Объекты встроенного языка для работы с планами видов характеристик

918 1С:Предприятие 8.3. Практическое пособие разработчика

ПРИМЕЧАНИЕ

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

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

Про основные виды объектов встроенного языка можно прочитать в разделе «Объекты встроенного языка для работы с прикладными данными» на стр. 896.

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

Краткий справочник разработчика 919

Последовательность событий при записи вида характеристики из формы элемента (записать и закрыть)

Рис. 29.11. Последовательность событий при записи вида характеристики из формы элемента

ПРИМЕЧАНИЕ

Заливкой выделены события, выполняющиеся в транзакции записи.

920 1С:Предприятие 8.3. Практическое пособие разработчика

Планы счетов

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

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

Рис. 29.12. Объекты встроенного языка для работы с планами счетов

ПРИМЕЧАНИЕ

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

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

Про основные виды объектов встроенного языка можно прочитать в разделе «Объекты встроенного языка для работы с прикладными данными» на стр. 896.

ПланСчетовВидыСубконто.<имя>. Используется для доступа к методам специальной табличной части счета ВидыСубконто в целом.

ПланСчетовВидыСубконтоСтрока.<имя>. Строка специальной табличной части счета ВидыСубконто.