0
megabax
12.11.12
✎
16:15
|
Делаю вот такой обработчик соыбтий:
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
//шап: для предоватращения глюкавой рекусрии
если мЭтоУстановкаТекущейСтроки=истина тогда
возврат;
конецесли;
ТД=ЭлементыФормы.СправочникСписок.ТекущаяСтрока;
если ТД<>Неопределено тогда
//лОбъект=ТД.Ссылка.ПолучитьОбъект();
ТДТов=ЭлементыФормы.Товары.ТекущаяСтрока;
ЕстьРазличиеВСтроках=ложь;
й=1;
НС=-1;
для каждого стр из Товары цикл
//сообщить(стр.НомерСтроки);
если й<>Число(стр.НомерСтроки) тогда
ЕстьРазличиеВСтроках=истина;
если ТДТов=стр тогда
НС=й-1;
конецесли;
конецесли;
й=й+1;
конеццикла;
если ЕстьРазличиеВСтроках тогда
лОбъект=ТД.Ссылка.ПолучитьОбъект();
лОбъект.Товары.Загрузить(Товары);
лОбъект.Записать();
Товары=лОбъект.Товары.Выгрузить();
//ЭлементыФормы.Товары.СоздатьКолонки();
если НС<>-1 тогда
мЭтоУстановкаТекущейСтроки=истина;
ЭлементыФормы.Товары.ТекущаяСтрока=Товары[НС]; //шап: при этом процдеруа вызываться вновь рекурсино
ЭтаФорма.Обновить();
мЭтоУстановкаТекущейСтроки=ложь;
конецесли;
сообщить("Записали строки");
конецесли;
//сообщить("----");
//лОбъект.Записать();
конецесли;
КонецПроцедуры
Суть в том, что при измннеии порядка строк новый порядок строк должне быть записать в табличную часть текущего элемента справочника (все это делается в форме списка). Проблема в том что если сдигать вниз первый элемент то строки отображатся криво, хотя в справочник пишутся корректоно.
Подскжаие плз, как решить эту проблему?
|
|