|
Обработчик кнопки только различия | ☑ | ||
---|---|---|---|---|
0
falselight
20.06.19
✎
13:55
|
Есть обработка с заполненной табличной частью.
Нужно сделать обработчик кнопки, который удаляет из этой табличной строки где колонка 15 <> колонка 16 или колонка 15 и колонка 16 = 0 Подскажите как правильно это сделать? А то вроде есть какие то проблемы при удалении строк из таблицы значений или табличной части. |
|||
1
PuhUfa
20.06.19
✎
14:00
|
(0) никаких проблем нет если правильно удалять. примеров "как правильно" полно
|
|||
2
falselight
20.06.19
✎
14:01
|
(1) Так не идет
// &НаСервере Процедура ТолькоРазличияНаСервере() Для каждого СтрТч Из Объект.СравнениеОтчетов Цикл Если (СтрТч.ВУчетаДавальца <> СтрТч.ВУчетеПереработчика) или (СтрТч.ВУчетаДавальца = 0 и СтрТч.ВУчетеПереработчика = 0) Тогда // Иначе // Объект.СравнениеОтчетов.Удалить(СтрТч); КонецЕсли; КонецЦикла; КонецПроцедуры // |
|||
3
Fish
20.06.19
✎
14:02
|
(2) ОМГ. :)
|
|||
4
falselight
20.06.19
✎
14:03
|
(3) Ну подскажите как нужно?
|
|||
5
Fish
20.06.19
✎
14:05
|
(4) Мне вот интересно, неужели у тебя за столько лет на форуме ни разу не возникло желания набрать самому вопрос в яндексе и сделать на основе примеров?
Это же азы. |
|||
6
falselight
20.06.19
✎
14:13
|
И так не работает ((((
// &НаСервере Процедура ТолькоРазличияНаСервере() СтруктураДляУдаления = Новый Структура; Для Каждого СтрТч Из Объект.СравнениеОтчетов Цикл Если (СтрТч.ВУчетаДавальца <> СтрТч.ВУчетеПереработчика) или (СтрТч.ВУчетаДавальца = 0 и СтрТч.ВУчетеПереработчика = 0) Тогда // Иначе // СтруктураДляУдаления.Вставить("Строка", СтрТч); //Объект.СравнениеОтчетов.Удалить(СтрТч); КонецЕсли; КонецЦикла; // Для Каждого Строка Из СтруктураДляУдаления Цикл Объект.СравнениеОтчетов.Удалить(Строка.Значение); КонецЦикла; КонецПроцедуры // |
|||
7
falselight
20.06.19
✎
14:14
|
(5) У меня вечер. Я ничего не соображаю, а доделать нужно.
|
|||
8
falselight
20.06.19
✎
14:15
|
(5) Я и смотрю по примерам. от куда я (6) взял то?
Но не работает это!!!!!! Или много раз нужно жать на кнопку. |
|||
9
Fish
20.06.19
✎
14:17
|
(8) Судя по (0) у тебя в условии ошибка.
|
|||
10
Valkyrie
20.06.19
✎
14:17
|
Встать отладчиком и смотреть, как отрабатывают эти условия:
Если (СтрТч.ВУчетаДавальца <> СтрТч.ВУчетеПереработчика) или (СтрТч.ВУчетаДавальца = 0 и СтрТч.ВУчетеПереработчика = 0) Тогда (7) По ночам-вечерам нужно отдыхать. |
|||
11
falselight
20.06.19
✎
14:20
|
так вроде
// &НаСервере Процедура ТолькоРазличияНаСервере() МассивДляУдаления = Новый Массив; Для Каждого СтрТч Из Объект.СравнениеОтчетов Цикл Если (СтрТч.ВУчетаДавальца <> СтрТч.ВУчетеПереработчика) или (СтрТч.ВУчетаДавальца = 0 и СтрТч.ВУчетеПереработчика = 0) Тогда // Иначе // МассивДляУдаления.Добавить(СтрТч); КонецЕсли; КонецЦикла; // Для Каждого ЭлементМас Из МассивДляУдаления Цикл Объект.СравнениеОтчетов.Удалить(ЭлементМас); КонецЦикла; КонецПроцедуры // |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |