| 
    0
    
        SkillUp    
       
    
    03.08.21 
            ✎
    11:43 
 | 
         
        Здравствуйте, есть такая процедура - "СинхронизироватьСтроки", подскажите пож., есть ли возможность использовать ее не по одному полю, а по нескольким (допустим делать отбор по: контрагенту, складу и организации в других ТЧ объекта)? Или нет такой возможности? 
 
 Сама процедура:
 
 // процедура устанавливает текущую строку в табличных полях формы 
 // объекта, связанных с табличными частями объекта
 // предположения:
 // все табличные части и соответсвующие им табличные поля - одноименны
 // все "синхронизируемые" табличные части имеют колонку с одинаковым 
 // именем по которой ведется синхронизация
 // 
 // Параметры:
 //     Форма - форма объекта
 //  Объект - объект данных
 //  Элемент - элемнт формы в котором возникла активизация строки
 //  СинхронизируемыеТабличныеЧасти - соответствие с 
 //              элементами, соответствующими синхронизируемым табличным полям
 //  ИмяКолонки - имя колонки синхронизации
 
 Процедура СинхронизироватьСтроки(Форма, Объект, Элемент, СинхронизируемыеТабличныеЧасти, ИмяКолонки) Экспорт
 
     Если Элемент.ТекущиеДанные = Неопределено Тогда
         Возврат;
     КонецЕсли;
     
     Имя = Элемент.Имя;
     Если СинхронизируемыеТабличныеЧасти[Имя] = Неопределено Тогда
         Возврат;
     КонецЕсли;    
     Если СинхронизируемыеТабличныеЧасти[Имя] Тогда
         СинхронизируемыеТабличныеЧасти[Имя] = Ложь;
         Возврат;
     КонецЕсли;
     
     Для Каждого ЭлементСоответствия Из СинхронизируемыеТабличныеЧасти Цикл
         
         Если ЭлементСоответствия.Ключ = Имя Тогда 
             Продолжить;
         КонецЕсли;
         
         Попытка
             СтрокаТЧ = Объект[ЭлементСоответствия.Ключ].Найти(Элемент.ТекущиеДанные[ИмяКолонки], ИмяКолонки);
         Исключение
             СтрокаТЧ = Форма[ЭлементСоответствия.Ключ].Найти(Элемент.ТекущиеДанные[ИмяКолонки], ИмяКолонки);
         КонецПопытки;
         
         Если СтрокаТЧ <> Неопределено Тогда
             
             СинхронизируемыеТабличныеЧасти[ЭлементСоответствия.Ключ]    = Истина;
             Форма.ЭлементыФормы[ЭлементСоответствия.Ключ].ТекущаяСтрока = СтрокаТЧ;
             
         КонецЕсли;
         
     КонецЦикла;
 
 КонецПроцедуры  //  СинхронизироватьСтроки     
         | 
 | 
    
    
        | 
    2
    
        SkillUp    
       
    
    03.08.21 
            ✎
    11:53 
 | 
         
        Пардон:
 
 Кажется вот решение:
 
 Параметры:
 <Значение> (обязательный)
 Тип: Произвольный. 
 Искомое значение.
 <Колонки> (необязательный)
 Тип: Строка. 
 Список имен колонок, в которых будет осуществляться поиск, разделенных запятыми.
 Если параметр не указан, поиск осуществляется по всей табличной части.
 Значение по умолчанию: Пустая строка.     
         | 
 |