1С 8.3 Добавить поле набора данных - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Добавить поле набора данных

Данные > Примеры кода 1С > 1С 8.3 Схема компоновки данных (СКД)
Поиск набора данных СКД в 1С 8.3:
// Ищет набор данных по имени (можно рекурсивно).
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/81
//
// Параметры:
//  КоллекцияНаборов - СхемаКомпоновкиДанных
//                   - НаборыДанныхСхемыКомпоновкиДанных
//                   - НаборДанныхОбъединениеСхемыКомпоновкиДанных
//  ИмяНабораДанных - Строка
//  ВключаяПодчиненные - Булево
//
// Возвращаемое значение:
//  - НаборДанныхЗапросСхемыКомпоновкиДанных
//  - НаборДанныхОбъединениеСхемыКомпоновкиДанных
//  - НаборДанныхОбъектСхемыКомпоновкиДанных
//
// Пример:
//  НаборДанных = НайтиНаборДанных(СКД, "МойНабор");
//
Функция НайтиНаборДанных(Знач КоллекцияНаборов, Знач ИмяНабораДанных, Знач ВключаяПодчиненные = Истина) Экспорт

   ПеребираемаяКоллекцияНаборов = Неопределено;
   Если ТипЗнч(КоллекцияНаборов) = Тип("СхемаКомпоновкиДанных") Тогда
       ПеребираемаяКоллекцияНаборов = КоллекцияНаборов.НаборыДанных;
   ИначеЕсли ТипЗнч(КоллекцияНаборов) = Тип("НаборыДанныхСхемыКомпоновкиДанных") Тогда
       ПеребираемаяКоллекцияНаборов = КоллекцияНаборов;
   ИначеЕсли ТипЗнч(КоллекцияНаборов) = Тип("НаборДанныхОбъединениеСхемыКомпоновкиДанных") Тогда
       ПеребираемаяКоллекцияНаборов = КоллекцияНаборов.Элементы;
   Иначе
       Возврат Неопределено;
   КонецЕсли;

   НайденныйНаборДанных = Неопределено;

   Для Каждого НаборДанных Из ПеребираемаяКоллекцияНаборов Цикл

       Если НаборДанных.Имя = ИмяНабораДанных Тогда
           НайденныйНаборДанных = НаборДанных;
       ИначеЕсли ВключаяПодчиненные Тогда
           НайденныйНаборДанных = НайтиНаборДанных(НаборДанных, ИмяНабораДанных, ВключаяПодчиненные);
       КонецЕсли;

       Если НЕ НайденныйНаборДанных = Неопределено Тогда
           Прервать;
       КонецЕсли;

   КонецЦикла;

   Возврат НайденныйНаборДанных;

КонецФункции

// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 03.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому