![]() |
![]() |
![]() |
|
Как программно из 1С (v8.0) удалить документ (проведя его по всем регистрам | ☑ | ||
---|---|---|---|---|
0
kolyakiev
27.09.07
✎
18:05
|
Требуется удалить програмно в 1С документ, допустим из списка Приходных документов, который сейчас выделен в этом списке. При удалении нужно учесть изменение ригистров, по которым этот документ проведен.
|
|||
1
zbv
27.09.07
✎
18:06
|
и в чем проблема?
|
|||
2
Kerk
27.09.07
✎
18:08
|
УстановитьПометкуУдаления() Вроде должно все ОК быть...
|
|||
3
sapphire
27.09.07
✎
18:13
|
Непонятно, что за список - на форме, или форма списка, ДокументСписок...
Короче, надо получить объект документа, у него вызвать Записать(РежимЗаписиДокумента.ОтменаПроведения); // если стоит галка автоматически удалять движения то движения удаляться. Проверить, имеет ли документ движения, т.е. Элементы фиксированной коллекции "Движения" данного документа надо очистить. Вызвать метод Удалить(); |
|||
4
kolyakiev
27.09.07
✎
18:18
|
Список - ДокументСписок.
Удалить нужно текущий (отмеченный мышью) документ в этом списке. Если возможно - предложите кусок кода. |
|||
5
Михей
27.09.07
✎
18:21
|
Вообще, при установке пометки на удаления движения чистятся автоматом (если это конечно в конфигуратеоре предусмотрено)
|
|||
6
a_alenkin
27.09.07
✎
18:22
|
тебе уже предложили
|
|||
7
sapphire
27.09.07
✎
18:22
|
(5) уже писали
|
|||
8
sapphire
27.09.07
✎
18:25
|
(4)
Про код... вопрос в стиле дсшнл. Увольте. Пишите сами. Посмотрите что находится в ТекущиеДанные... |
|||
9
zbv
27.09.07
✎
18:28
|
можно разрешить удаление дока
|
|||
10
kolyakiev
28.09.07
✎
10:57
|
Пример кода:
Процедура УдалитьТекущий(Кнопка) ТС=ЭлементыФормы.Список.ТекущиеДанные; ТД=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(ТС.Номер).ПолучитьОбъект(); ТД.УстановитьПометкуУдаление(Истина); Сообщить(ТС.Номер); КонецПроцедуры Выводит такую ошибку: ТоваровУслуг.Форма.ФормаСписка(41)}: Ошибка при вызове метода контекста (ПолучитьОбъект): Элемент не выбран! ТД=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(ТС.Номер).ПолучитьОбъект(); Номер документа выводится правильный. |
|||
11
Salvador Limones
28.09.07
✎
10:59
|
Отладчик и СП спёрли?
|
|||
12
Salvador Limones
28.09.07
✎
11:00
|
+(11) Зачем вообще искать по номеру, когда через ТекущиеДанные можно сделать?
|
|||
13
kolyakiev
28.09.07
✎
11:08
|
Как?
|
|||
14
zbv
28.09.07
✎
11:15
|
(10) а почему просто [Del] не нажать?
|
|||
15
zbv
28.09.07
✎
11:16
|
+(14) а сорри... забыл что свой список.
|
|||
16
zbv
28.09.07
✎
11:17
|
(13) в списке есть ссылка на объект?
|
|||
17
kolyakiev
28.09.07
✎
11:23
|
Этот список представляет Список документов.
Как получить ссылку на объект из этого списка? |
|||
18
zbv
28.09.07
✎
11:25
|
(17)
ТС=ЭлементыФормы.Список.ТекущиеДанные; ТекСсылка = ТС.<Колонка содержащая ссылку на объект> Если конечно колонка такая имеется... |
|||
19
kolyakiev
28.09.07
✎
11:29
|
(18)
Нет колонки такой нет :( |
|||
20
zbv
28.09.07
✎
11:35
|
(19) а что есть? перечисли колонки
|
|||
21
kolyakiev
28.09.07
✎
11:42
|
Присутствуют колонки:
ДАТА НОМЕР ВИДОПЕРАЦИИ ВИДПЕРЕДАЧИ СУММАДОКУМЕНТА КОНТРАГЕНТ |
|||
22
kolyakiev
28.09.07
✎
11:43
|
Я просто думаю на основе НОМЕРа (выбранного документа в списке) пометить это документ на удаление.
|
|||
23
zbv
28.09.07
✎
11:46
|
(21) Тады так:
ТС=ЭлементыФормы.Список.ТекущиеДанные; ТД=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(ТС.Номер, ТС.Дата); Если ТД.Пустая() Тогда Сообщить("Документ по номеру <такому то> не найден"); возврат; КонецЕсли; ТД.ПолучитьОбъект(); ТД.УстановитьПометкуУдаление(Истина); |
|||
24
kolyakiev
28.09.07
✎
11:56
|
Заработало!!!
Спасибо Огромное. Только пришлось последнюю строчку переделать, ибо ошибка возникала. ТС=ЭлементыФормы.Список.ТекущиеДанные; ТД=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(ТС.Номер, ТС.Дата); Если ТД.Пустая() Тогда Сообщить("Документ по номеру <такому то> не найден"); возврат; КонецЕсли; ТД.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); //ТД.УстановитьПометкуУдаления(Истина); |
|||
25
zbv
28.09.07
✎
11:58
|
(24) а, ну да... )
ТДОбъект = ТД.ПолучитьОбъект(); ТДОбъект.УстановитьПометкуУдаление(Истина); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |