Проверить наличие реквизита в строке таблицы значений 1с

Ключевые слова: колонка,таблица значений,метаданные

Иногда хочется знать есть ли в строке объекта определенная колонка.

Самый простой вариант сделать это — использовать конструкцию «Попытка Исключение», например, попытаться получить значение в строке в указанной колонке и если возникнет исключение — колонки нет:

Попытка
    Тмп=СтрокаТаблицыЗначений[НужноеИмяКолонки];
    флЕстьКолонка=Истина;
Исключение
    флЕстьКолонка=Ложь;
КонецПопытки;

Примечание. Это одно из применений универсального Книга знаний: Метод Рупора

Однако использование попытка исключение не является хорошим тоном в программировании на 1С (это вызывает трудности отладки и крушение внутри транзакций). Поищем другие пути.

Для строки документа или справочника можно проверить наличие колонки через метаданные.

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

А для таблиц значений Тюшкин Андрей предложил такой, немного изощренный, способ:

УИД = Новый УникальныйИдентификатор(); 
ВременнаяСтруктура = Новый Структура(НужноеИмяКолонки, УИД); 
ЗаполнитьЗначенияСвойств(ВременнаяСтруктура, СтрокаТаблицыЗначений, НужноеИмяКолонки); 
флЕстьКолонка=ВременнеяСтруктура[НужноеИмяКолонки] <> УИД;

См. также Таблица значений в языке 1С 8 (в примерах)

Таб = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Фрукт");
Таб.Колонки.Добавить("Цвет");
Таб.Колонки.Добавить("Вкус");

Если Таб.Колонки.Найти("Цвет") <> Неопределено Тогда
    Сообщить("Колонка Цвет существует.");
КонецЕсли;

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Доброго времени суток, уважаемые читатели! На этом сайте уже были описаны примеры работы с таблицей значений. Например, было написано как объединить две таблицы значений. Сегодня я поделюсь ещё некоторыми примерами программирования с таблицей значений в системе 1С:Предприятие 8.

  • Отбор по типу значения в таблице значений
  • Как в цикле отобрать только одну строку из таблицы значений?
  • Как проверить наличие колонки в строке таблицы значений?
  • Поиск в таблице значений по двум и более полям
  • Почему возникает ошибка «Тип не может быть выбран в запросе» при выполнении запроса к таблице значений?
  • Как получить номер строки таблицы значений?
  • Как правильно удалить строки из ТаблицыЗначений в 1С8?

Отбор по типу значения в таблице значений

Иногда нужно выбрать строки из таблицы значений по типу значения колонки или поля. То есть, если в таблице существует колонка «Субконто», в котором хранятся значения любого типа, например типа «СправочникСсылка.Номенклатура» и «СправочникСсылка.ОсновныеСредства». Но нам нужны только те строки, в которых типом значения колонки «Субконто» является тип «СправочникСсылка.ОсновныеСредства». Следующий пример покажет, как нам это осуществить:

ТаблицаЗначений = Новый ТаблицаЗначений;
// Создаём нужные колонки. 
ТаблицаЗначений.Колонки.Добавить("НомерСтроки");
ТаблицаЗначений.Колонки.Добавить("Субконто");
// Строка № 1. 
НоваяСтрока = ТаблицаЗначений.Добавить();
НоваяСтрока.НомерСтроки = "1";
НоваяСтрока.Субконто = Справочники.Номенклатура.НайтиПоКоду("1");
// Строка № 2.
НоваяСтрока = ТаблицаЗначений.Добавить();
НоваяСтрока["НомерСтроки"] = 2;
НоваяСтрока["Субконто"] = Справочники.ОсновныеСредства.НайтиПоКоду("1");
// Строка № 3.
НоваяСтрока = ТаблицаЗначений.Добавить();
НоваяСтрока["НомерСтроки"] = 3;
НоваяСтрока["Субконто"] = Справочники.ОсновныеСредства.НайтиПоКоду("2");
МассивСтрок = Новый Массив;
// Добавим в массив только те строки, в которых типом значения 
// колонки «Субконто» является тип «СправочникСсылка.ОсновныеСредства»
Для каждого СтрокаТЗ ИЗ ТаблицаЗначений Цикл
    Если СтрокаТЗ.Субконто.Метаданные().Имя = "ОсновныеСредства" Тогда
        МассивСтрок.Добавить(СтрокаТЗ);
    КонецЕсли;
КонецЦикла;
// Теперь создадим таблицу значению по отбору из массива
ТаблицаОС = ТаблицаЗначений.Скопировать(МассивСтрок, "НомерСтроки,Субконто");
// Выведем результат в окно служебных сообщений
Для каждого СтрокаТЗ ИЗ ТаблицаОС Цикл
Сообщить("НомерСтроки - " + СтрокаТЗ.НомерСтроки + "; Субконто - " + СтрокаТЗ.Субконто);

В результате получим строки из таблицы значений с типом значения «ОсновныеСредства» колонки «Субконто»:

НомерСтроки - 2; Субконто - Насосы К50-32-125
НомерСтроки - 3; Субконто - Насосы К65-50-160

Как в цикле отобрать только одну строку из таблицы значений?

Часто бывает, что нужно пройтись по строкам таблицы значений в которой встречаются строки, например, с одинаковым значением номенклатуры. И при всём этом, например, в середине цикла нужно пропускать строки таблицы значений с одинаковой номенклатурой. Чтобы это получилось можно воспользоваться списком значений.

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

Как проверить наличие колонки в строке таблицы значений?

Самый простой вариант сделать это — использовать конструкцию «Попытка Исключение», например, попытаться получить значение в строке в указанной колонке и если возникнет исключение, то это значит, что колонки нет. Можно написать следующую функцию:

Функция ПроверитьНаличиеКолонки(СтрокаТаблицы, ИмяКолонки)
	Попытка
		Значение = СтрокаТаблицы[ИмяКолонки];
		// Колонка существует
		Возврат Истина;
	Исключение
	// Колонка отсутствует
		Возврат Ложь;
	КонецПопытки;
КонецФункции

Однако использование конструкции «Попытка Исключение» не является хорошим тоном в программировании на 1С
(это вызывает трудности отладки и крушение внутри транзакций). Поэтому предлагаю другой путь:

НазваниеКолонки = "Субконто";
Если СтрокаТЗ.Владелец().Колонки.Найти(НазваниеКолонки) <> Неопределено Тогда
	Сообщить("Колонка с названием - " + НазваниеКолонки + " - существует!");
Иначе
	Сообщить("Колонка с названием - " + НазваниеКолонки + " - не существует!");
КонецЕсли;

В нашем примере переменная «СтрокаТЗ» является объектом типа «СтрокаТаблицыЗначений», у которого есть метод «Владелец()». Владельцем строки является «ТаблицаЗначений», которая имеет свойство «Колонки» с типом «КоллекцияКолонокТаблицыЗначений». Таким образом мы получаем объект типа «КоллекцияКолонокТаблицыЗначений», который содержит метод «Найти()». С помощью этого метода мы можем найти колонки таблицы значений по имени. Если указанная колонка есть, то возвращается колонка с типом «КолонкаТаблицыЗначений», но если отсутствует, то возвращается значение «Неопределено». Поэтому в нашем случае будет выведено следующее сообщение:

Колонка с названием - Субконто - существует!

Поиск в таблице значений по двум и более полям

Рассмотрим первый способ — через объекты встроенного языка системы 1С:Предприятие:

ТаблицаЗначений = Новый ТаблицаЗначений;
// Обязательно укажем тип колонки, 
// чтобы не было ошибки «Тип не может быть выбран в запросе» 
// при выполнении запроса к таблице значений
КС = Новый КвалификаторыСтроки(100);
КЧ = Новый КвалификаторыЧисла(3);
ОписаниеТиповС = Новый ОписаниеТипов("Строка",, КС);
ОписаниеТиповЧ = Новый ОписаниеТипов("Число",, КЧ);
// Создаём нужные колонки.
ТаблицаЗначений.Колонки.Добавить("Фамилия", ОписаниеТиповС);
ТаблицаЗначений.Колонки.Добавить("Возраст", ОписаниеТиповЧ);

// Сотрудник № 1. 
НоваяСтрока = ТаблицаЗначений.Добавить();
НоваяСтрока.Фамилия = "Иванов";
НоваяСтрока.Возраст = 27;

// Сотрудник № 2.
НоваяСтрока = ТаблицаЗначений.Добавить();
НоваяСтрока["Фамилия"] = "Сидоров";
НоваяСтрока["Возраст"] = 64;

// Осуществляем поиск по таблице через объекты
Отбор = Новый Структура;
Отбор.Вставить("Фамилия", "Иванов");
Отбор.Вставить("Возраст", 27);
Строки = ТаблицаЗначений.НайтиСтроки(Отбор);
// Возвращает массив
Если Строки.Количество() > 0 Тогда
	Сообщить("*** Первый способ - через объекты встроенного языка ***");
	Сообщить("Фамилия: " + Строки[0].Фамилия + " Возраст: " + Строки[0].Возраст);
КонецЕсли;

В результате по первому способу, через объекты встроенного языка, получим:

*** Первый способ - через объекты встроенного языка ***
Фамилия: Иванов Возраст: 27

Рассмотрим второй способ — через пакетные запросы системы 1С:Предприятие. Здесь воспользуемся таблицой значений, которую мы создали ранее, в первом способе:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаЗначений.Фамилия,
| ТаблицаЗначений.Возраст
|ПОМЕСТИТЬ ВТ_ТаблицаЗначений
|ИЗ
| &ТаблицаЗначений КАК ТаблицаЗначений
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТаблицаЗначений.Фамилия,
| ВТ_ТаблицаЗначений.Возраст
|ИЗ
| ВТ_ТаблицаЗначений КАК ВТ_ТаблицаЗначений
|ГДЕ
| ВТ_ТаблицаЗначений.Фамилия = &Фамилия
| И ВТ_ТаблицаЗначений.Возраст = &Возраст";
Запрос.УстановитьПараметр("ТаблицаЗначений", ТаблицаЗначений);
Запрос.УстановитьПараметр("Фамилия", "Сидоров");
Запрос.УстановитьПараметр("Возраст", 64);

Результат = Запрос.Выполнить().Выгрузить();
// Возвращает таблицу значений
Если Результат.Количество() > 0 Тогда
	Сообщить("*** Второй способ - через запросы ***");
	Сообщить("Фамилия: " + Результат[0].Фамилия +
	" Возраст: " + Результат[0].Возраст);
КонецЕсли;

В результате по второму способу, через запросы, получим:

*** Второй способ - через запросы ***
Фамилия: Сидоров Возраст: 64

Оба способа помогут нам найти строки в таблице значений по двум полям. Но как вы уже догадались можно добавить поиск по трём, четырём и более полям.

Почему возникает ошибка «Тип не может быть выбран в запросе» при выполнении запроса к таблице значений?

Если не задать тип значения колонки при её создании как описано в подзаголовке Поиск в таблице значений по двум и более полям, а написать так:

ТаблицаЗначений.Колонки.Добавить("Фамилия");

То тогда при выполнении запроса будет выведена ошибка:

Ошибка при вызове метода контекста (Выполнить)
	Результат = Запрос.Выполнить().Выгрузить();
по причине:
{(2, 2)}: Тип не может быть выбран в запросе
<<?>>ТаблицаЗначений.Фамилия,

Поэтому, чтобы избежать этой ошибки нужно писать так:

КС = Новый КвалификаторыСтроки(100);
ОписаниеТиповС = Новый ОписаниеТипов("Строка",, КС);
ТаблицаЗначений.Колонки.Добавить("Фамилия", ОписаниеТиповС);

Как получить номер строки таблицы значений?

Нужно использовать метод таблицы значений «Индекс» (IndexOf), которая получает индекс строки в коллекции строк таблицы значений:

ИдеиРазвития.Колонки.Вставить(0,"Номер",, "№", 1);
Для Каждого Строка Из ИдеиРазвития Цикл
	Строка.Номер = ИдеиРазвития.Индекс(Строка) + 1;
КонецЦикла;

Как правильно удалить строки из ТаблицыЗначений в 1С8?

Предположим, нужно удалить все строки из таблицы значений, которые содержат букву «G» во второй колонке.

Процедура УдалитьСтрокиТаблицы(Таб);
	Сч = 0;
	Пока Сч < Таб.Количество() Цикл
		Строка = Таб[Сч];
		Если Найти(Строка.Получить(1),"G") > 0 Тогда
			Таб.Удалить(Строка);
		Иначе // Благодаря этой переменной мы 
		      // не пропускаем строки в таблице значений
			Сч = Сч + 1;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

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

ПОДПИСКА

Содержание:

1.      Когда возникает необходимость проверить наличие реквизита 1С?

2.      Как можно получить метаданные объекта 1С?  

1.    Когда возникает необходимость проверить наличие реквизита 1С

Потребность проверки наличия реквизита обычно возникает при написании общих, универсальных процедур или функций, к примеру, когда необходимо выполнить ряд однообразных действий, проверить заполнение перед проведением, при этом реквизитный состав обрабатываемых объектов метаданных отличается незначительно (например, в документе, отражающем продажу товара, есть реквизит Склад, а в документе, отражающем перемещение товара – реквизиты Склад-отправитель и Склад-получатель).

В ряде типовых конфигураций 1С предлагается стандартная функция проверки наличия реквизита в объекте (расположена в модуле “ОбщегоНазначения”)

Функция ЕстьРеквизитОбъекта(ИмяРеквизита, МетаданныеОбъекта) Экспорт

            Возврат НЕ (МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено);

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

2. Как можно получить метаданные объекта 1С

Однако написать свою функцию также не представляет труда. В первую очередь необходимо получить метаданные объекта 1С одним из способов:

через функцию Метаданные() объекта

пример синтаксиса: СправочникСсылка.Метаданные()

                                    ДокументСсылка.Метаданные()

через свойство глобального контекста Метаданные

пример синтаксиса: Метаданные.Справочники.[ИмяСправочника]

                                    Метаданные.Документы.[ИмяДокумента]

Далее через свойство “Реквизиты” использовать функцию Найти(). В случае, если реквизит не найден, возвращается значение Неопределено.

Пример 1

Метаданные = Контрагент.Метаданные();

Если Метаданные.Реквизиты.Найти(«Ответственный») = Неопределено Тогда

            Возврат Ложь;

Иначе

            Возврат Истина;

КонецЕсли;

Пример 2

Функция ПолучитьОрганизацию(Контрагент, Пользователь)

            Если Метаданные.Справочники.Контрагенты.Реквизиты.Найти(«Организация») <> Неопределено Тогда

                        Возврат Контрагент.Организация;

            Иначе

                        Возврат Пользователь.Организация;

            КонецЕсли;

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

Описанный алгоритм подходит для случаев проверки наличия реквизита шапки. Но что делать, когда возникает необходимость определить, существует ли реквизит в табличной части 1С (справочника или документа)? Для этого используется следующая конструкция:

Метаданные.Справочники.<ИмяСправочника>.ТабличныеЧасти.Реквизиты.Найти(<ИмяОбъектаПоиска>).

При обработке таблиц значений также возможно выполнить проверку существования колонки – в этом случае применяется метод Свойство(), с помощью которого, помимо основной функции – получения значения элемента по указанному имени, можно проверить, имеется ли указанного свойство.

Пример синтаксиса:

Если НЕ ТекущаяСтрока.Свойство(«Исключить») ИЛИ НЕ ТекущаяСтрока.Исключить Тогда

            ЗаполнитьЗначенияСвойств(ТаблицаЗагрузки.Добавить(); ТекущаяСтрока);

КонецЕсли;

Специалист компании ООО «Кодерлайн»

Кондренко Анна Сергеевна

Выполняет поиск колонки таблицы значений по имени.

Синтаксис

Метод Найти() имеет следующий синтаксис:

КолонкаТаблицыЗначений Найти(ИмяКолонки)

А также альтернативный англоязычный синтаксис:

ValueTableColumn Find(ColumnName)

Параметры

Описание параметров метода Найти():

Имя параметра* Тип Описание
ИмяКолонки Строка Наименование колонки таблицы значений.
*Жирным шрифтом выделены обязательные параметры

Возвращаемое значение

КолонкаТаблицыЗначений или Неопределено

Описание

Метод Найти() выполняет поиск колонки в коллекции колонок по имени. Если указанная колонка существует, метод возвращает ее в точку вызова. Если колонка не найдена, возвращает Неопределено.

Доступность

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Пример использования

Пример кода с использованием метода Найти():

Колонка = тз.Колонки.Найти("Комментарий");
Если НЕ Колонка = Неопределено Тогда
	тз.Колонки.Удалить(Колонка);
КонецЕсли;

Читайте также:

Программная работа с таблицей значений

Поделиться страницей в соц.сетях

 +9 

   

Распечатать

Найти значение в Таблице Значений

Пример поиска НАЙТИ:

Код 1C v 8.х

 //Искать по всей таблице значений
НайденнаяСтрока = ТаблицаЗначений.Найти(ИскомоеЗначение);

//Искать в колонках Поставщик, Покупатель
НайденнаяСтрока = ТаблицаЗначений.Найти(ИскомоеЗначение, "Поставщик, Покупатель");

//еще
НайденнаяСтрока = ТаблицаЦен.Найти(ВыбТовар, "Товар");
Если НайденнаяСтрока = Неопределено Тогда
Предупреждение("Товар не найден!");
Иначе
ЦенаТовара = НайденнаяСтрока.Цена;
КонецЕсли;

Пример поиска НАЙТИСТРОКИ:

Код 1C v 8.х

 // Сформировать структуру отбора. 
СтруктураПоиска = Структура("Сотрудник", ИскомоеЗначение);
// Найти строки.
МассивНайденныхСтрок = ТаблицаЗначений.НайтиСтроки(СтруктураПоиска);

// .... ИЛИ
НайдСтроки = тзСхемы.НайтиСтроки(Новый Структура("Доставка", ОформлениеСтроки.ДанныеСтроки.Ссылка));
Если НайдСтроки.Количество() > 0 Тогда
ОформлениеСтроки.Ячейки.Схема.УстановитьТекст(НайдСтроки[0].Схема);
Иначе
ОформлениеСтроки.Ячейки.Схема.УстановитьТекст("Нет");
КонецЕсли;

Для того чтобы найти строки таблицы значений, в 1с 8 используется два метода: Найти и НайтиСтроки. Первый предназначен для поиска одной строки, содержащей указанное значение. Второй для поиска всех строк, соответствующих указанному отбору. Разберем оба метода подробнее.

Метод Найти

Метод таблицы значений Найти, предназначен для поиска строки таблицы, содержащей указанное значение. Если строк содержащих значение будет несколько, будет найдена только первая из них. Эту особенность надо учитывать. Поиск осуществляется только на «равно». Синтаксис метода:

Таблица.Найти(<Значение>, <Колонки>)

В первый параметр передаем значение, которое необходимо найти. Во втором можно через запятую указываем список колонок, в которых необходимо проводить поиск. Также можно не заполнять второй параметр, тогда поиск будет учитывать значения во всех колонках таблицы. В случае успешного поиска, метод вернет строку таблицы значений. В противном случае будет получено Неопределено.

Рассмотрим простой пример. У нас есть таблица значений с колонками: Номенклатура, Количество, Цена, Сумма. Найдем строку, содержащую значение 2 в колонке Количество или в колонке Цена.

Значение = 2;	
СписокКолонок = "Количество, Цена";
	
СтрокаТаблицы = ТаблицаТоваров.Найти(Значение, СписокКолонок);
	
Если Не СтрокаТаблицы = Неопределено Тогда
    Сообщить(СтрокаТаблицы.Номенклатура);	
КонецЕсли;

После поиска, обязательно делаем проверку на Неопределено. Иначе, в случае не найденной строки, можно получить ошибку.

При изменении значений в найденной строке, изменяются и значения в самой таблице. Это логично, так как мы работаем непосредственно со строкой таблицы значений.

Метод НайтиСтроки

Метод НайтиСтроки предназначен для поиска всех строк таблицы значений, соответствующих указанному отбору. Синтаксис метода:

Таблица.НайтиСтроки(<ПараметрыОтбора>)

Параметры отбора — это структура, где ключ — имя колонки таблицы, а значение — значение, по которому будет осуществляться поиск в данной колонке. Поиск элементов осуществляется только на «равно». Данный метод возвращает массив найденных строк таблицы, либо пустой массив, если по данным условиям ничего не найдено.

Пример 2. Пусть у нас есть Таблица значений содержащаяся в переменной Таблица, у которой есть колонки Наименование и Код.

Отбор = Новый Структура;
Отбор.Вставить("Наименование", "Сапоги");
Отбор.Вставить("Код", "000000111");

НайденныеСтроки = Таблица.НайтиСтроки(Отбор);

Для Каждого СтрокаТаблицы из НайденныеСтроки Цикл
    //Ваш код для обработки найденной строки таблицы значений
КонецЦикла;

Как и в предыдущем методе, изменение значений в найденных строках ведет к изменению значений в таблице. Это не так очевидно, и происходит из-за того, что массив найденных строк содержит ссылки на строки исходной таблицы. Это работает и в обратную сторону. То есть, если вы измените значения в таблице, они изменятся и в найденных строках.

Другие способы найти строки таблицы значений

У рассмотренных методов есть свои недостатки. Основной, поиск только на равенство. Если вам необходимо использовать более сложные конструкции отбора строк, то можно обойти таблицу значений циклом, или передать ее в запрос.

Пример 3. Воспользуемся таблицей из самого первого примера. Обработаем строки, цена в которых находится в интервале от 100 до 1000.

Для Каждого СтрокаТаблицы Из ТаблицаТоваров Цикл
		
    Если СтрокаТаблицы.Цена >= 100
        И СтрокаТаблицы.Цена <= 1000 Тогда
			
	//Код по обработке найденной строки
			
    КонецЕсли;
		
КонецЦикла;

Пример 4. Сделаем тоже самое при помощи запроса.

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаТоваров", ТаблицаТоваров);

Запрос.Текст = 
"ВЫБРАТЬ
|    ТаблицаТоваров.Номенклатура КАК Номенклатура,
|    ТаблицаТоваров.Количество КАК Количество,
|    ТаблицаТоваров.Цена КАК Цена
|ПОМЕСТИТЬ ТаблицаТоваров
|ИЗ
|    &ТаблицаТоваров КАК ТаблицаТоваров
|;
|/////////////////////////////////////////////////
|ВЫБРАТЬ
|    ТаблицаТоваров.Номенклатура КАК Номенклатура,
|    ТаблицаТоваров.Количество КАК Количество,
|    ТаблицаТоваров.Цена КАК Цена
|ИЗ
|    ТаблицаТоваров КАК ТаблицаТоваров
|ГДЕ
|    ТаблицаТоваров.Цена МЕЖДУ 100 И 1000";

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    //Код по обработке найденной строки
КонецЦикла;

Стоит заметить, что данные найденные запросом никак не связаны с таблицей значений. Это стоит учитывать, если вам необходимо изменять исходные данные.


Понравилась статья? Поделить с друзьями:
  • Проверка загазованности подвалов управляющими компаниями
  • Психбольница на калинина 13 часы работы официальный сайт
  • Проверочная работа единицы времени 3 класс школа 21 века
  • Психдиспансер во владимире для справки в гаи часы работы
  • Проверочная работа по английскому языку предлоги времени