1С 8.3 Пустые колонки таблицы значений - Программист 1С Минск. Автоматизация бизнеса.

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

1С 8.3 Пустые колонки таблицы значений

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

   Результат = Новый Массив; // Массив из Строка
   Для Каждого ТекущаяКолонка Из ТаблицаЗначений.Колонки Цикл
       Результат.Добавить(ТекущаяКолонка.Имя);
   КонецЦикла;

   Для Каждого ТекущиеДанные Из ТаблицаЗначений Цикл
       ЗаполненныеКолонки = Новый Массив; // Массив из Строка
       Для Каждого ИмяКолонки Из Результат Цикл
           Если ТаблицаЗначений.Колонки.Найти(ИмяКолонки) = Неопределено Тогда
               Продолжить;
           КонецЕсли;

           Если ЗначениеЗаполнено(ТекущиеДанные[ИмяКолонки]) Тогда
               ЗаполненныеКолонки.Добавить(ИмяКолонки);
           КонецЕсли;
       КонецЦикла;

       Для Каждого ЗаполненнаяКолонка Из ЗаполненныеКолонки Цикл
           Результат.Удалить(Результат.Найти(ЗаполненнаяКолонка));
       КонецЦикла;

       Если НЕ ЗначениеЗаполнено(Результат) Тогда
           Прервать;
       КонецЕсли;
   КонецЦикла;

   Возврат Результат;

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

// 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С в г.Минске», 05.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому