1С 8.3 Пустые колонки таблицы значений
Данные > Примеры кода 1С > 1С 8.3 Таблица значений
Перейти в раздел примеры кода 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.
// Источник: 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
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник