v7: Как проверить редактирование табличной части? #663719


#0 by Ночной Эльф
Всем доброго времени суток. Имеется 1с 7.7 необходимо проверять изменения табличной части в документе т.е. если табличная часть была изменена то выполнять одно действие если не было изменений то другое. Думал через флаг которому присваивать значение 1 в процедуре Процедура ПриОкончанииРедактированияСтроки но выставляется 1 даже если и не было не каких изменений Как тут лучше сделать?
#1 by zak555
>  проверять изменения табличной части в документе пере записью документа ?
#2 by 1Сергей
Навскидку два варианта: 1 сравнить с сохраненной копией документа 2 при изминении каждой колонки ТЧ взводить флаг
#3 by Ночной Эльф
Еще есть вариант при открытии документа выгружать табличную часть в таблицу значение а потом сравнивать ее с таблицой документа но как производить сравнение таблицы значения и табличной части документа нельзя же просто знаком равно =
#4 by Ночной Эльф
нет не перед записью
#5 by zak555
в какой момент ?
#6 by 1Сергей
построчно, пореквизитно
#7 by Ночной Эльф
это через чур геморойно слишком много колонок разного типа, а нельзя сразу всю таблицу сравнивать?
#8 by zak555
два цикла это долго ?
#9 by 1Сергей
ничего геморного. пишется в несколько строк кода.
#10 by Ночной Эльф
только как выгрузить табличную часть документа в таблицу значений? не пойму?
#11 by 1Сергей
о, это большое шаманство. Без СП не взлетит
#12 by Ночной Эльф
А можно как нибудь запоминать значение в процедуре Процедура ПриНачалеРедактированияСтроки А потом сравнивать в процедуре Только вот как в первой процедуре получить значение данной колонки по выбранному столбцу не знаю
#13 by 1Сергей
кстати, при открытии ничего запоминать не надо. Можно взять ТЧ из сохраненной копии Документа в любой момент
#14 by kosts
Есть еще изменение ТЧ при удалении, добавлении и сортировке.
#15 by 1Сергей
#16 by Ковычки
...
#17 by Ночной Эльф
так вот именно я не знаю какая именно колонка? это как ?
#18 by Ночной Эльф
Вот точно я именно так и думал, просто не знал как это на языке реализовать спасибо
#19 by Ковычки
2-ой раз открыть форму
#20 by 1Сергей
Кури Метаданные
#21 by kosts
Удалили строку - вот и изменение.
#22 by Ночной Эльф
а разве вот так нельзя
#23 by 1Сергей
ТекущийДокумент.ВыгрузитьТабличнуюЧасть( - возьмёт из сохраненной копии
#24 by 1Сергей
можно, но не всегда при равных ТЧ вернёт ложь
#25 by Ночной Эльф
Всем большое спасибо. Только поясните пожалуйста про ЗначениеВСтроку Справку то я прочитал по ней а вот на деле что она делает просто берет каждый элемент табличной части и записывает поочередно в неограниченную строку?
#26 by Aleksey
{"VT","1",{"0",{{"","0","0","0","","2"}, {"НомерСтрокиДокумента","","1","0","0",{"N","6","0","0","0","0"},"","2", { {"N","6","0","0","0","0","      1"} } }, {"Номенклатура","Номенклатура","1","0","1",{"B","0","0","84","0","0"},"","0", { {"B","0","0","84","0","0","    153807   "} } }, {"Количество","Количество","1","0","2",{"N","10","3","0","1","0"},"","2", { {"N","10","3","0","1","0","      1.000"} } }, {"Единица","Единица","1","0","3",{"B","0","0","75","0","0"},"","0", { {"B","0","0","75","0","0","     72865   "} } }, {"Коэффициент","Коэффициент","1","0","4",{"N","6","2","0","0","0"},"","2", { {"N","6","2","0","0","0","   1.00"} } }, {"Цена","Цена","1","0","5",{"N","10","2","0","1","1"},"","2", { {"N","10","2","0","1","1","     433.00"} } }, {"Сумма","Сумма","1","0","6",{"N","12","2","0","1","1"},"","2", { {"N","12","2","0","1","1","       433.00"} } }, {"СтавкаНДС","СтавкаНДС","1","0","7",{"E","0","0","653","0","0"},"","0", { {"E","0","0","653","0","0","     27486   "} } }, {"СуммаНДС","СуммаНДС","1","0","8",{"N","12","3","0","1","1"},"","2", { {"N","12","3","0","1","1","        0.000"} } }, {"Партия","Партия","1","0","9",{"B","0","0","214","0","0"},"","0", { {"B","0","0","214","0","0","         0   "} } }}}}
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С