![]() |
![]() |
![]() |
|
Установить Пометку Удаления | ☑ | ||
---|---|---|---|---|
0
streloklukum
21.08.19
✎
14:21
|
Добрый день, уважаемые знатоки! С этой 1с я скоро лишусь рассудка!
Предисловие. Документ_1 приходует товар. Если есть бракованный товар то на основании него создается Документ_2. Если в Документе_1 убрать бракованный товар (например при приёмке заменили на другой), то уже созданный Документ_2 ставится на удаление. Суть проблемы в следующем. Если по каким то причинам товар всё же считают бракованным. То программно Документ_2 снимается с пометки на удаление и заново проводится. И это работает до тех пор пока количество бракованного товара равно в обоих документах. Но если количество больше или меньше то Документ_2 не снимается с пометки на удаление. Колдунство какое-то! Это весь код! Что тут могло сломаться?! Откуда он знает что количество в Документа_1 не совпадает с количеством в Документа_2?! Как это может влиять на Пометку удаления?! мТовары = Данные.Скопировать(Отбор); Данные строки с браком из Документа_1 Документ_2 = ДокументСсылка.Получитьобъект(); Найденный Документ_2 Если мТовары.Количество() = 0 Тогда Документ_2.УстановитьПометкуУдаления(Истина); Иначе Если ПеремещениеОбъект.ПометкаУдаления Тогда Документ_2.УстановитьПометкуУдаления(Ложь); Вот здесь косяк! КонецЕсли; Документ_2 .Товары.Очистить(); Документ_2 .Товары.Загрузить(мТовары); Документ_2 .Записать(РежимЗаписиДокумента.Проведение); Сообщить(Строка(Документ_2) + " синхронизировано"); КонецЕсли; |
|||
1
Ёпрст
гуру
21.08.19
✎
14:37
|
(0) нет никакого колдунства в коде.
>>>Но если количество больше или меньше то Документ_2 не снимается с пометки на удаление в вашем коде этого и нет. У вас снимаетсяпометка удаления, только если ПеремещениеОбъект - помечен на удаление. Что это за документ у вас - хз. |
|||
2
Ёпрст
гуру
21.08.19
✎
14:39
|
и.. хз, что вам надо, возможно так :
//Если ПеремещениеОбъект.ПометкаУдаления Тогда Если Документ_2.ПометкаУдаления Тогда Документ_2.УстановитьПометкуУдаления(Ложь); // закусывать надо КонецЕсли; |
|||
3
Ёпрст
гуру
21.08.19
✎
14:40
|
и вот так еще:
|
|||
4
streloklukum
21.08.19
✎
14:46
|
(2) Прошу прощения просто не поменял!
Если Документ_2.ПометкаУдаления Тогда Документ_2.УстановитьПометкуУдаления(Ложь); // так тоже не хочет снимать с пометки на удаление КонецЕсли; |
|||
5
Ёпрст
гуру
21.08.19
✎
14:49
|
(4) как выяснил, что не снимает ?
В это условие хоть отладчик попадает ? |
|||
6
Ёпрст
гуру
21.08.19
✎
14:49
|
мТовары.Количество() чему хоть равна ?
|
|||
7
streloklukum
21.08.19
✎
15:18
|
(5) Спасибо, вы правы! Пора в отпуск!
|
|||
8
Мимохожий Однако
21.08.19
✎
15:40
|
(7) Счастливого пути. Научись пользоваться отладчиком.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |