Имя: Пароль:
1C
1С v8
Данные были изменены или удалены другим пользователем. Нужно перечитать форму программно
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) Окей, проверю Спасибо большое, Удачи :)
AdBlock убивает бесплатный контент. 1Сергей