Главная и подчиненная таблицы в 1С — связывание, дополненное для 8.2

Дополнение для статьи http://infostart.ru/public/186522/

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

 

Ниже привожу работоспособный код для управляемого приложения:

&НаКлиенте
Процедура ГлавнаяТаблицаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
     Данные = элементы.ГлавнаяТаблица.ТекущиеДанные;
    Если НоваяСтрока Тогда
        Данные.ключСвязи =  Новый УникальныйИдентификатор;
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура ПодчиненнаяТаблицаПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
        
     Данные = элементы.ГлавнаяТаблица.ТекущиеДанные;
    ТекДанные = Элементы.ПодчиненнаяТаблица.ТекущиеДанные;
    Если НоваяСтрока Тогда
        ТекДанные.ключСвязи = Данные.КлючСвязи;
    КонецЕсли;
     СтрОтбора = Новый ФиксированнаяСтруктура(«КлючСвязи», Данные.КлючСвязи);
        Элементы.ПодчиненнаяТаблица.ОтборСтрок     = СтрОтбора;

КонецПроцедуры

&НаКлиенте
Процедура ГлавнаяТаблицаПередУдалением(Элемент, Отказ)
       Данные = элементы.ГлавнаяТаблица.ТекущиеДанные;

    Отбор = Новый Структура(«КлючСвязи»,Данные.КлючСвязи);
    Масс = Объект.ПодчиненнаяТаблица.НайтиСтроки(Отбор);
    Для каждого Строка из Масс Цикл
         Объект.СкидкиНаценки.Удалить(Строка);
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ГлавнаяТаблицаПриАктивизацииСтроки(Элемент)
      Данные = элементы.ГлавнаяТаблица.ТекущиеДанные;

    Если Данные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
        СтрОтбора = Новый ФиксированнаяСтруктура(«КлючСвязи», Данные.КлючСвязи);
        Элементы.ПодчиненнаяТаблица.ОтборСтрок     = СтрОтбора;
    
    
КонецПроцедуры

 

что бы не выдавало ошибки при добавление строки в Подчиненую таблицу при пустой Основной таблице надо добавить :

 

&НаКлиенте
Процедура ПодчиненнаяТаблицаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
         Данные = элементы.ГлавнаяТаблица.ТекущиеДанные;
       
    
    Если Данные = Неопределено Тогда
      отказ=истина;
    КонецЕсли;
КонецПроцедуры

 

//infostart.ru/public/186522/

6 Comments

  1. yuraos

    😀 😀 😀

    Reply
  2. yuraos

    (1), плюс за находчивость!

    дополнил побыстрому чужую статью.

    а первый пост к статье советую всегда заполнять самому…

    Reply
  3. alex_shkut

    Правильно сделал. Я с управляемыми формами не работал, поэтому и писал «по старинке». А человек переписал грамотно и доделал недоделанное.

    Reply
  4. kirillbul

    Отличное дополнение статьи!

    Reply
  5. Vlad_kansk

    Спасибо помогло!

    Reply
  6. mikl79

    Добрый день.

    В 3-й процедуре вы удаляете строку Объект.СкидкиНаценки, что это?

    Наверное так Объект.ПодчиненнаяТаблица

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *