Как программно получить номер колонки в скд?
По теме из базы знаний
Найденные решения
Разобрался сам. Вот пример кода:
// Находим номера необходимых колонок
КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы;
КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы;
НомерКолонки_Код = Неопределено;
НомерКолонки_Производитель = Неопределено;
НомераКолонокКодИПроизводительНайдены = Ложь;
Для НомерТекущейСтроки = 1 По КоличествоСтрокТаблицы Цикл
Для НомерТекущейКолонки = 1 По КоличествоКолонокТаблицы Цикл
ТекущаяОбласть = ДокументРезультат.Область(НомерТекущейСтроки, НомерТекущейКолонки);
// Если имеется расшифровка ячейки, то проверям наличие полей расшифровки
Если ТекущаяОбласть.Расшифровка <> Неопределено Тогда
ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекущаяОбласть.Расшифровка].ПолучитьПоля();
Если ПоляРасшифровки.Количество() > 0 Тогда
ИмяТекущегоПоля = ПоляРасшифровки.Получить(0).Поле;
Если ИмяТекущегоПоля = "Код" Тогда
НомерКолонки_Код = НомерТекущейКолонки;
ИначеЕсли ИмяТекущегоПоля = "Производитель" Тогда
НомерКолонки_Производитель = НомерТекущейКолонки;
КонецЕсли;
Если ЗначениеЗаполнено(НомерКолонки_Код) И ЗначениеЗаполнено(НомерКолонки_Производитель) Тогда
НомераКолонокКодИПроизводительНайдены = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если НомераКолонокКодИПроизводительНайдены Тогда
Прервать;
КонецЕсли;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Разобрался сам. Вот пример кода:
// Находим номера необходимых колонок
КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы;
КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы;
НомерКолонки_Код = Неопределено;
НомерКолонки_Производитель = Неопределено;
НомераКолонокКодИПроизводительНайдены = Ложь;
Для НомерТекущейСтроки = 1 По КоличествоСтрокТаблицы Цикл
Для НомерТекущейКолонки = 1 По КоличествоКолонокТаблицы Цикл
ТекущаяОбласть = ДокументРезультат.Область(НомерТекущейСтроки, НомерТекущейКолонки);
// Если имеется расшифровка ячейки, то проверям наличие полей расшифровки
Если ТекущаяОбласть.Расшифровка <> Неопределено Тогда
ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекущаяОбласть.Расшифровка].ПолучитьПоля();
Если ПоляРасшифровки.Количество() > 0 Тогда
ИмяТекущегоПоля = ПоляРасшифровки.Получить(0).Поле;
Если ИмяТекущегоПоля = "Код" Тогда
НомерКолонки_Код = НомерТекущейКолонки;
ИначеЕсли ИмяТекущегоПоля = "Производитель" Тогда
НомерКолонки_Производитель = НомерТекущейКолонки;
КонецЕсли;
Если ЗначениеЗаполнено(НомерКолонки_Код) И ЗначениеЗаполнено(НомерКолонки_Производитель) Тогда
НомераКолонокКодИПроизводительНайдены = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если НомераКолонокКодИПроизводительНайдены Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот