|
Данные были изменены или удалены другим пользователем. Нужно перечитать форму программно |
☑ |
0
Eskeych
21.01.22
✎
12:48
|
Драсте) Добавил реквизит "Иностранцы" тип Булево, если он = Истина Тогда удаляем всех кроме иностранцев, если нет - удаляем Только Иностранцев. Список иностранцев берется из созданного регистра сведений.
Вопрос в следующем делаю вот так:
Для Каждого СтрокаТЧ ИЗ Объект.Состав Цикл
Если МассивИностранцев.Найти(Объект.Состав[ИндексСтроки].ФизическоеЛицо) <> Неопределено Тогда
Объект.Состав.Удалить(СтрокаТЧ);
ВсегоСтрок = ВсегоСтрок - 1;
Иначе
ИндексСтроки = ИндексСтроки + 1;
КонецЕсли;
КонецЦикла;
ДокументОбъект.Записать();
ДокументОбъект.Прочитать();
Все что не нужно, удаляется, но при попытке записать документ уже на форме выдается ошибка Данные были изменены или удалены другим пользователем. Как бытЬ?
|
|
1
Eskeych
21.01.22
✎
12:49
|
Вот правильный код:
Для Каждого СтрокаТЧ ИЗ Объект.Состав Цикл
Если МассивИностранцев.Найти(Объект.Состав[ИндексСтроки].ФизическоеЛицо) <> Неопределено Тогда
Объект.Состав.Удалить(СтрокаТЧ);
КонецЕсли;
КонецЦикла;
ДокументОбъект.Записать();
ДокументОбъект.Прочитать();
|
|
2
Kassern
21.01.22
✎
12:52
|
(1) лучше обходить цикл с конца, когда нужно удалить обходимые строки
|
|
3
Мультук
гуру
21.01.22
✎
12:56
|
(0)
Объект.Состав.Удалить(СтрокаТЧ);
ДокументОбъект.Записать();
В данном случае откуда на форме ДокументОбъект? Нахрен он нужен?
Почему нельзя вызвать метод формы "записать" ?
|
|
4
Eskeych
21.01.22
✎
12:57
|
(3) Потому что я на сервере
|
|
5
Eskeych
21.01.22
✎
12:57
|
Пробовал записать на клиенте после вызова процедуры, не помогло
|
|
6
1Сергей
21.01.22
✎
12:59
|
(4) и?
|
|
7
acht
21.01.22
✎
12:59
|
(4) > Потому что я на сервере
И как ты туда попал?
|
|
8
Eskeych
21.01.22
✎
13:05
|
Кнопка "Заполнить" выполняется в общем модуле на сервере там заполняется табличная часть, после заполнения я вызываю экспортную процедуру формы в которой удаляю строки.
|
|
9
Мультук
гуру
21.01.22
✎
13:05
|
(8)
И ? Содержимое формы после этого меняется?
|
|
10
Мультук
гуру
21.01.22
✎
13:07
|
(8)
Или это опять очередной ЕРП/ЗУП и мне снова придется объяснять что там все несколько сложнее?
P.S.
Имя конфигурации и имя объекта плиз
|
|
11
Eskeych
21.01.22
✎
13:08
|
(9) Да, в табличной части заполняются сотрудники, это документ "ведомость в банк" ЗУП, ненужных я удаляю в цикле
|
|
12
Eskeych
21.01.22
✎
13:15
|
Вопрос решился. Влез в общий модуль который на клиенте выполняется. Записал Форму и все работает (3) Спасибо большое за подсказку. Затупил, согласен :)
|
|
13
Мультук
гуру
21.01.22
✎
13:21
|
(11)
Очень сильно надеюсь (проверь), что табличные части
- Зарплата
- НДФЛ
ты тоже чистишь. Иначе может быть печально
см
Процедура СоставПослеУдаленияНаСервере(Форма) Экспорт
|
|
14
Eskeych
21.01.22
✎
13:24
|
(13) Окей, проверю Спасибо большое, Удачи :)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший