|
|
|
Примеры
решений по заданиям. |
|
||
|
1 |
|
1с 8.2. Практическое
пособие разработчика. |
Задание – пример. |
||
|
2 |
|
|
|
||
|
3 |
ВОПРОСЫ. |
ЗАДАНИЕ. |
ОТВЕТ. |
||
|
71 |
29.3. Константы. Примерны использования объектов. |
Пример01. Установить значение константы. Пример02. Прочитать значение константы Пример03. Очистить значения констант |
Пример01. Установить значение коснтанты. Константы.Бухгалтер.Установить(“Сидоров И И”); Константы[“ПрефикНумерации”].Установить(“ЦБ”); Пример02. Прочитать значение константы Рез = Константы.ПрефиксНумерации.Получить(); Сообщить(“Зн.кон=”, + Рез; Пример03. Очистить значения констант Для Каждого ОчерКонстанта
Из Константы Цикл ОчерКонстанта.Установить(Неопределено); КонецЦикла; Пример04 Константы.ПолучитьФорму().ОткрытьМодально(); Пример05 Сообщить("Директор у
нас: " + Константы.Директор.Получить()); Пример06 // чтение и запись константы Пример07 НаборКонстант = Константы.СоздатьНабор("Директор,Бухгалтер"); |
||
|
72 |
29.4. Справочники. Примеры использования объектов. |
Пример1. Вывести все типы ссылок
на элементы справочника Пример2 . Создать новую
группу. Пример3 . Получить ссылку на спр
Ном Пример 4. Проверить помечени ли на удаление Пример 5 . Есть ли нужная валюта. Пример 6 . Явл-ся ли элемент Номенклатура с именем Услуга - группой. Пример 7 .Проверить для элементов
задан вид номенклатуры Пример
8-4.Вывести список элементов из корня справочника Пример 9 . Удалить элементы иерархического спр-ка. Пример 10 .
Заполнить табл часть трудовая деятельность Пример 11 .Запретить изменения подчиненных элементов –
если у владельца свойство . Пример 12 .
Изменить наименование элемента справочника. Пример 13 .
Заполнить табл часть док элементами из группы Номен Пример14 .
Пометить все элементы иерарх справочника на удаление. Пример 15 . // Пример1 создания нового
элемента // Пример2
обработки выборки справочника Пример 17 . В
информационной базе есть " + Пример 18 . Номенклатура.ВыбратьИерархически |
Пример1. Вывести все типы
ссылок на элементы справочника Массив= Справочники.ТипВсеСсылки().Типы(); Для Каждго ОчереднойТип Из
Массив Цикл Сообщить(ОчереднойТип); КонецЦикла; Пример2 . Создать новую
группу. НовГру=Справочники.Номенклатура.СоздатьГруппу(); НовГру.Наименование=”Моя нов гру”; Нов.Гру.Записать(); Пример3 . Получить ссылку на спр
Ном Спрвочники.Номнеклатура.ПолучитьСсылку; Пример 4. Проверить помечени ли на удаление Если Справочники.Номенклатура.НайтиПоКоду(13).ПометкаУдаления Тогда Сообщить(“помеч на удал с код 13”); КонецЕсли; // НайтиПоНаименованию()
НайтиПоРеквизиту() // ПустаяСсылка() ПолучитьСсылку() Пример 5 . Есть ли нужная валюта. СтрокаНаименования = "USD"; Пример 6 . Явл-ся ли элемент Номенклатура с именем Услуга - группой. Если Справочники.Номенклатура.НайтиПоНаименованию(“Услуги”,Истина).ЭтоГруппа
Тогда
Сообщить(“Эл. Услуга является грыппой); КонецЕсли; Пример 7 .Проверить для элементов
задан вид номенклатуры ПустаяСсылкаПеречисления=Перечисления.ВидыНоменклатуры.ПустаяСсылка(); Если Не Справчоники.Номенклатура.НайтиПоРеквизиту(“ВидНоменклатуры”,
ПустаяСсылкаПеречисления), Пустая() Тогда Сообщить
(“Есть эл-ты не задан задан вид номенклатуры ); КонецЕсли; Пример
8-4.Вывести список элементов из корня справочника // пустая ссылка в парметр
метода передать Выборка=Справочники.Номенклатура.Выбрать(Справочники,Номенклатура.ПустаяСсылка(); Пока
Выборка.Следующий() Цикл Если Не Выборка.ЭтоГруппа
Тогда Сообщить(Выборка); КонецЕсли; КонецЦикла; Пример 9 . Удалить элементы иерархического спр-ка. Выборка=Справочники.Номенклатура.ВыбратьИерархически(); Пока Выборка,Следующий
Цикл Выборка.Удалить(); КонецЦикла; Пример 10 .
Заполнить табл часть трудовая деятельность НоваяСтрокаТабличнойЧасти = Новый Элемент.ТрудоваяДеятельность.Добавить(); НоваяСтрокаТабличнойЧасти.Организация =”Тоц”; Пример 11 .Запретить изменения подчиненных элементов –
если у владельца свойство . Процедура ПередЗаписью(Отказ) Если Владелец.ИзмененияЗапрещены Тогда Отказ=Истина; Конецесли; КонецПроцедуры Пример 12 .
Изменить наименование элемента справочника. Элемент=Справочники.Номенклатура.НайтиПоКоду(10).ПолучитьОбъект(); Элемент.Наименвание=”Новое”; Элемент.Записать; Пример 13 .
Заполнить табл часть док элементами из группы Номен Выборка=Справочники.Номенклатура.ВыбратьИерархически(ПолеВвода); Пока Выборка.Следующий() Цикл СсылкаНаНоменклатуру = Выборка.Ссылка; Если СсылкаНаНоменклатуру.ЭтоГруппа
Тогда Продолжить; КонецЕсли; НоваяСтрока= Материалы.Добавить(); НоваяСтрокаМатериал=СсылкаНаНоменклатуру; КонецЦикла;
Пример14 .
Пометить все элементы иерарх справочника на
удаление. Выборка=Справочники.Клиенты.Выбрать(); Пока Выборка.Следующий(() Цикл Выборка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
КонецЦикла; Пример 15 . // Пример1 создания нового элемента // Пример2 обработки выборки
справочника Пример 17 . В
информационной базе есть " + "заполненные справочники ? Пример:3
Пример 18 . Номенклатура.ВыбратьИерархически Пример:4 Номенклатура = Справочники.Номенклатура; |
||
|
73 |
29.4.. Документы. Примеры использования объектов. |
Пример 21 .
Вывести все типы ссылок на элемнты справочника по
документам Пример 22 . Получить макет для печати док ОказУслу Пример 23 . Получить ссылку на каждый из док-в Пример 24. Проверить проведение документа Пример 25 . Проверить что во
всех документах заполнен рекв склад. Пример 26.
Выбрать все док за тек месяц Пример 27 .Создать нов док Пример 28 . Проверка заполнения реквизита документа. Пример 29 .
Пометить документ на удаление. Пример 30 .
Удалить все док ПрихНакл |
Пример 21 .
Вывести все типы ссылок на элемнты справочника по
документам Массив=Документы.ТипВсеСсылки().Типы(); Для Каждого ОчереднойТип
из Массив Цикл Сообщить(ОчереднойТип); КонецЦикла; Пример 22 . Получить макет для печати док ОказУслу Макет=Докуметы[“ОказаниеУслуги”].ПолучитьМакет(«Печать»); Пример 23 . Получить ссылку на каждый из док-в Для Каждого ОчереднойДокумент
Из Документы Цикл Ссылка=ОчереднойДокумент.Получитьссылку(); КонецЦикла; Пример 24. Проверить проведение документа Если Документы.ПриходнаяНакладная.НайтиПоНомеру(3).Проведен
Тогда
Сообщить(«проведен 3»); КонецЕсли; Пример 25 . Проверить что во
всех документах заполнен рекв склад. ПустаяСсылкаСклада= Справочник.Склады.ПустаяСсылка(); Если Не Документы.ПриходнаяНакладная.НайтиПоРеквизиту(«Склад», ПустаяСсылкаСклада).Пустая() Тогда Сообщить («есть с пуст ссылками склад»); КонецЕсли; Пример 26.
Выбрать все док за тек месяц Выборка=Документы.ПриходнаяНакладная.Выбрать(НачалоМесяца(ТекущаДата)), КонецМесяца(ТекущаяДата)); Пока Выборка.Следующий() Цикл
Сообщить(Выборка); КонецЦикла; Пример 27 .Создать нов док НовыйДокумент= Документы.ПриходнаяНакладная.СоздатьДокумент(); НовыйДокумент.Дата=ТекущаяДата(); НоваяСтрокатабличнойЧасти= НовыйДокумент.Добавить(); НоваяСтрокатабличнойЧасти.Материал=Справочники.номенклатура.НайтиПоКоду(3); Пример 28 . Проверка заполнения реквизита документа. Если Не ПроверитьЗаполнениРеквизитов(ЭтотОбъект.Ссылка) Тогда Сообщить («рекв не
заполнен»); КонецЕсли; Пример 29 .
Пометить документ на удаление. НенужныйДокумент=Документы.ОказаниеУслуги.НайтиПоНомеру(13).ПолучитьОбъект(); НенужныйДокумент.УстановитьПометкуУдаления(Истина); Пример 30 .
Удалить все док ПрихНакл Выбока=Документы.ПриходнаяНакладная.Выбрать(); Пока
Выборка.Следующий() Цикл Выборка.ПолучитьОбъект.Удалить(); КонецЦикла; |
||
|
74 |
29.5.. Перечисления. Примеры использования объектов. |
Пример 41 . Получить значение перечсиления
по индексу. Пример 42 .
Получить количество значений перечсилений Пример 43 .
Получить пустую ссылку на
значение перечсилений |
Пример 41 . Получить значение перечсиления
по индексу. Перечисления.ВидыПеречислений.Получить(); Пример 42 .
Получить количество значений перечсилений Перечисления.ВидыНоменклатуры.Количество; Пример 43 .
Получить пустую ссылку на
значение перечсилений Пустаяссылкаперечисления=Перечисления.ВидыНоменклатуры.ПустаяСсылка(); Если ТекущаяНоменклатура.ВидНоменклатуры
= ПустаяСсылкаПеречисления Тогда
Сообщение(«надо заполнить»); КонецЕсли; |
||
|
75 |
29.6.. Регистры сведений. Примеры использования объектов. |
Пример 51 .
Получить тек цену Пример 52 . Показать номенклатуру, цена которой в
заданное время и дату Пример 53 . Добавить новое значение цены в Ре Цены Пример 54 .
Удалить все записи Ре Све за тек
месяц. Пример 55 . Показать изменение цен на элемент
номенклатуры в течение года Пример 55а. Текущий курс
доллара
|
Пример 51 .
Получить тек цену Элемент=Справочник.Номенклатура.НайтиПоКоду(4); Отбор= Новый Структура («Номенклатура»,Элемент); ЗначениеРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),Отбор); Цена=ЗначениеРесурсов.Цена; Пример 52 . Показать номенклатуру, цена которой в
заданное время и дату Набор=РегистрСведений.Цены.СоздатьНаборЗаписей(); Набор.Отбор.Период.Установить(ЗаданнаяДата,Истина); НаборПрочитать(); Для Каждого ОчереднаяЗапись
Из Набор Цикл Сообщить(ОчереднаяЗапись.Номенклатура, ОчереднаяЗапись.Цена); КонецЦикла; Пример 53 . Добавить новое значение цены в Ре Цены Запись=РегистрСведений.Цены.СоздатьМенеджерЗаписи(); Запись.Период=ТекущаяДата(); Запись.Номенклатура= Справочник.Номенклатура.НайтиПоКоду(«0000000»); Запсиь.Цена=568; Запись.Записать(); Пример 54 .
Удалить все записи Ре Све за тек
месяц. Выборка = РегистрыСведений.Цены.Выбрать(НачалоМесяца(ТекущаяДата()), Пока
Выборка.Следующий() Цикл Выборка ПолучитьМенеджерЗаписи().Удалить(); КонецЦикла; Пример 55 . Показать изменение цен на элемент
номенклатуры в течение года Отбор= Новый
Структура(«Номенклатура»,Справочники.Номенклатура.НайтиПоКоду(«00002»)); Выборка=
РегистрыСведений,Цены.Выбрать(НачалоГода(ТекущаяДата(),КонецГода(ТекущаДата(),
Отбор); Пока Выборка.Следующий() Цикл Сообщить(«Дата = » + Выборка.Период
+ Выборка.Цена); КонецЦикла; Пример 55а Текущий курс
доллара
|
||
|
76 |
29.7.. Регистры накопления. Примеры использования
объектов. |
Пример 56 .
Полный пересчет итогов рег ОстаткиМатериалов. Пример 57 . Рассчитать итоги Ре ОстаткиМатериалов
на указанную дату. Пример 58 .
Активизировать требуемую строку списка Ре Пример 59.
Получить движения документа Пример 60 . Выбрать все записи регистра ОстаткиМатериалов за тек. Месяц |
Пример 56 .
Полный пересчет итогов рег ОстаткиМатериалов. РегистрыНакопления.ОстаткиМатериалов.ПересчитатьИтоги(); Пример 57 . Рассчитать итоги Ре ОстаткиМатериалов
на указанную дату. ИмяРегистра=ОстаткиМатериалов; РегистрыНакопления[ИмяРегистра].УстановитьПериодРассчитанныхИтогов(УказаннаяДата); Пример 58 .
Активизировать требуемую строку списка Ре СтруктураКлючевыхПолей= Новый
Структура; СтруктураКлючевыхПолей.Вставить(«Регистратор».Документы.ПриходнаяНакладная.НайтиПоНомеру(«00002»)); СтруктураКлючевыхПолей.Вставить(«НомерСтроки»,2); Элементы.Материалы.ТекущаяСтрока =
РегистрыНакопления.ОстаткиМатериалов.СоздатьКлючЗаписи(СтруктураКлючевыхПолей); Пример 59.
Получить движения документа НужныйДокумент= Документы.ПриходнаяНакладнаяНайтиПоНомеру(4); Движения=РегистрыНакопления.ОстаткиМатериалов.СоздатьНаборЗаписей(); Движения.Отбор.Регистратор.Значение=НужныйДокумент; Движения.Прочитать(); Пример 60 . Выбрать все записи регистра ОстаткиМатериалов за тек. Месяц Выборка=
РегистрНакопления.ОстаткиМатериалов.Выбрать(НачалоМесяца(ТекущаяДата()), |