Имя: Пароль:
1C
1С v8
удалить документ программно
0 polkin
 
19.02.12
13:03
Форма.Открыть();
   Форма.Записать();
   Форма.Закрыть();
что вставить, что-бы документ пометить на удаление?
1 БибиГон
 
19.02.12
13:05
форма.удалить();  :))
2 Stim
 
19.02.12
13:05
Форма.Объект.пометкаУдаления. но так лучше не делать
3 aleks-id
 
19.02.12
13:06
1. получить объект документа
2. докобъект.пометкаудаления=истина;
3. докобъект.записать();
4 kotletka
 
19.02.12
13:07
+(3)можно и ДокОбъект.Удалить()
5 БибиГон
 
19.02.12
13:08
(3) для пометки удаление не обязательно записать()
6 Stim
 
19.02.12
13:08
а зачем записывать форму?
7 Deon
 
19.02.12
13:09
(6) Чтобы не потерялась
8 Stim
 
19.02.12
13:09
(5)наглая ложь. пометка на удаление - это такой же предопределенный реквизит, как и дата и номер и "проведен"
9 Stim
 
19.02.12
13:10
(7) тогда лучше сохранять на жесткий диск, чтобы наверняка
10 DrShad
 
19.02.12
13:11
(8) +100500
а вот для ДокументОбъект.УстановитьПометкуУдаления(Истина) тут действительно записывать уже не нужно
11 Deon
 
19.02.12
13:11
(8) Я думаю БибиГон имел ввиду метод объекта документа УстановитьПометкуУдаления()
12 Stim
 
19.02.12
13:11
(10)(11) ну если только так
13 БибиГон
 
19.02.12
13:12
(10) ну и я об этом
14 DrShad
 
19.02.12
13:14
(13) где?
15 БибиГон
 
19.02.12
13:16
(14) у меня в голове. :)
(11) +100
16 DrShad
 
19.02.12
13:17
(15) ну конечно теперь можно звездеть
17 polkin
 
19.02.12
13:19
Для Каждого Строка Из Объект.ПоступлениеВКассу Цикл
       Номер=Строка.Ссылка;
       Пар = Новый Структура("Ключ", Номер);
       Форма = ПолучитьФорму("Документ.ПоступлениеВКассу.ФормаОбъекта", Пар);
       Если  Объект.Удалить = истина тогда
   докобъект.пометкаудаления=истина;
           
       КонецЕсли;
   Форма.Открыть();
   Форма.Записать();
   Форма.Закрыть();
   КонецЦикла;

не фурычит.......
18 aleks-id
 
19.02.12
13:20
рукалицо
19 DrShad
 
19.02.12
13:21
(17) мля, порвало на части
что за куйня?
20 Ork
 
19.02.12
13:22
(17) И вы можете объяснить смысл каждой строки из вашего кода?
21 DrShad
 
19.02.12
13:22
(17) больше никогда и никому не показывай свой код
22 aleks-id
 
19.02.12
13:23
>>Пар = Новый Структура
король гомна и пара?
23 polkin
 
19.02.12
13:24
поржали? а теперь говорите как надо.

Просто тут еще в каждый ПоступлениеВКассу нужно валюту менять и пр....
24 aleks-id
 
19.02.12
13:24
(23) скажи честно - какая у тебя зарплата?
25 DrShad
 
19.02.12
13:25
(24) +100500
и за что тебе ее платят?
26 BOZKURT
 
19.02.12
13:25
(24) и не сомневайся, отстатыщ..
27 DrShad
 
19.02.12
13:26
(23) для начала выкинь все что написал и начни заново
28 polkin
 
19.02.12
13:26
(24) это я для себя ковыряю, а как у хозяина бизнеса, то хватает.
Просто базу свою пытаюсь свернуть......
29 Ork
 
19.02.12
13:27
(17) Что есть "Объект.ПоступлениеВКассу"?
30 DrShad
 
19.02.12
13:28
(28) так ты еще и хозяин бизнеса? тогда тебе здесь не место
31 polkin
 
19.02.12
13:29
Запросом вывожу в таблице ПоступлениеВКассу от одного Контрагента.
Потом нужно вместо например 50 ПоступлениеВКассу создать одну за год, а все остальные удалить.
32 polkin
 
19.02.12
13:29
(30) Не учите меня жить и я не скажу куда вам идти
33 Beckins
 
19.02.12
13:30
Позвольте но вы тут сами просите поучить вас жить :)
34 polkin
 
19.02.12
13:31
(33) я прошу поучить программирования, а это наверное разные вещи.
35 DrShad
 
19.02.12
13:33
(34) сколько? за поучить
36 aleks-id
 
19.02.12
13:34
(28)(34) гамно вопрос! 5 тыщщ в час и мы тебя научим!
37 Web00001
 
19.02.12
13:35
Это все равно что вы бы на каком то литературном форуме написали "Снег ветер, сыр она вчера омлет!" и спросили что же здесь неправильно, сложно подсказать ибо бред ВСЕ. Но можно попробовать, что же такое сие есть "объект"? Тип интересует значения.
38 DrShad
 
19.02.12
13:36
(36) каждому
39 Web00001
 
19.02.12
13:37
пишите на почту, поговорим, вопрос несложный, просто нет понимания очевидных вещей
40 DrShad
 
19.02.12
13:37
(34) была бы у тебя одна ошибка, а так у тебя в каждой строке говн0код
41 polkin
 
19.02.12
13:41
(37)изготовил себе маленькую обработку.
Запросом вывожу в таблице ПоступлениеВКассу ссылки на документы ПоступлениеВКассу.
есть реквизит Удалить(булево). Если истина - нужно пометить на удаление все ПоступлениеВКассу.
42 polkin
 
19.02.12
13:42
(40) но это не повод, указывать где мне место, а где нет.
43 Beckins
 
19.02.12
13:44
Как вариант :)

Для Каждого Строка Из Объект.ПоступлениеВКассу Цикл
   Если Строка.Удалить Тогда
       Номер=Строка.Ссылка.ПолучитьОбъект();
       Номер.УстановитьПометкуУдаления(Истина);    
   КонецЕсли;
КонецЦикла;
44 Ork
 
19.02.12
13:44
(41) Одно маленькое, но довольно подлое уточнение - нужно удалить или достаточно пометить на удаление?
45 ShoGUN
 
19.02.12
13:44
(41) Остались сущие мелочи - понять, что такое объект, чем он отличается от ссылки и от формы.
46 DrShad
 
19.02.12
13:44
(42) и это не повод косить под прога
47 ShoGUN
 
19.02.12
13:44
(44) Подлым было бы отсутствие этого уточнения.
48 polkin
 
19.02.12
13:44
(44) пометить.
49 Ork
 
19.02.12
13:48
(48) Тогда в (43) все есть.

ЗЫ Только непонятно почему объект/документ нужно было обозвать словом "Номер".
50 Beckins
 
19.02.12
13:51
Ну и как урок на будущее переменные нельзя называть типа "Строка" или "Номер", переменные всегда должны быть понятны и читаемы.
Я бы написал:

Для Каждого Выборка Из Объект.ПоступлениеВКассу Цикл
   Если Выборка.Удалить Тогда
       ТекОбъект=Выборка.Ссылка.ПолучитьОбъект();
       ТекОбъект.УстановитьПометкуУдаления(Истина);    
   КонецЕсли;
КонецЦикла;
51 Web00001
 
19.02.12
13:51
(43) переименуйте "Номер" в "Акваланг" (49) не нравится
52 polkin
 
19.02.12
14:08
Для Каждого Строка Из Объект.ПоступлениеВКассу Цикл
  Если Строка.Удалить = истина Тогда
       ТекОбъект=Строка.Ссылка.ПолучитьОбъект();
   ТекОбъект.УстановитьПометкуУдаления(Истина);    
  КонецЕсли;
КонецЦикла;

как мне полученный Объект открыть. А то не получается пока.....
53 Beckins
 
19.02.12
14:09
Оо А зачем его открывать ???
54 polkin
 
19.02.12
14:10
дабы посмотреть - работает или нет.
55 Beckins
 
19.02.12
14:11
И что не получается что пишет ? и что ты все таки по факту передаешь в "Объект.ПоступлениеВКассу"
Кинь код выше, что там у тебя делается с ней откуда появляется "Объект.ПоступлениеВКассу"
Что посмотреть не понял ? ):
56 polkin
 
19.02.12
14:14
&НаСервере
Процедура ЛистПоступлениеВКассу()
   // Вставить содержимое обработчика.
   Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПоступлениеВКассу.Ссылка,
   |    ПоступлениеВКассу.НалогообложениеНДС,
   |    ПоступлениеВКассу.РасшифровкаПлатежа.(
   |        ПризнакАванса
   |    ),
   |    ПоступлениеВКассу.Основание,
   |    ПоступлениеВКассу.ДокументОснование,
   |    ПоступлениеВКассу.СуммаДокумента,
   |    ПоступлениеВКассу.Контрагент,
   |    ПоступлениеВКассу.Дата
   |ИЗ
   |    Документ.ПоступлениеВКассу КАК ПоступлениеВКассу
   |ГДЕ
   |    ПоступлениеВКассу.Контрагент = &Контрагент
   |АВТОУПОРЯДОЧИВАНИЕ";
  Результат = Запрос.Выполнить().Выгрузить();
  Объект.ПоступлениеВКассу.Загрузить(Результат);
 
  Объект.СуммаДокумента=Объект.ПоступлениеВКассу.Итог("СуммаДокумента");

КонецПроцедуры


&НаКлиенте
Процедура ПоступлениеВКассу1ПриИзменении(Элемент)
Объект.СуммаДокумента=Объект.ПоступлениеВКассу.Итог("СуммаДокумента");
КонецПроцедуры

&НаКлиенте
Процедура ПометитьНаУдаление(Команда)
   Удаление();
КонецПроцедуры


&НаСервере
Процедура Удаление()

   Для Каждого Строка Из Объект.ПоступлениеВКассу Цикл
   Если Строка.Удалить = истина Тогда
       ТекОбъект=Строка.Ссылка.ПолучитьОбъект();
       ТекОбъект.УстановитьПометкуУдаления(Истина);    
   КонецЕсли;
   КонецЦикла;
КонецПроцедуры
57 polkin
 
19.02.12
17:47
ну и?
58 MrStomak
 
19.02.12
19:19
Ругается на что?
Объект.ПоступлениеВКассу - это что, табличная часть?
Колонка "Удалить" заполняется как?
Тип данных там точно булево?
Она там точно есть?
59 polkin
 
19.02.12
21:09
Объект.ПоступлениеВКассу - это что, табличная часть? ДА
Колонка "Удалить" заполняется как?  Вручную проставляю галочки
Тип данных там точно булево?  Да
Она там точно есть? Да
60 Кокос
 
19.02.12
21:16
трындец. все еще пятница?
61 BuHu
 
19.02.12
21:30
(59) если Объект.ПоступлениеВКассу - это что, табличная часть? ДА  , то как документ то называется ?
62 polkin
 
19.02.12
21:40
переназвал

&НаСервере
Процедура ЛистПоступлениеВКассу()
   // Вставить содержимое обработчика.
   Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("Контрагент",Объект.Контрагент);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПоступлениеВКассу.Ссылка,
   |    ПоступлениеВКассу.НалогообложениеНДС,
   |    ПоступлениеВКассу.РасшифровкаПлатежа.(
   |        ПризнакАванса
   |    ),
   |    ПоступлениеВКассу.Основание,
   |    ПоступлениеВКассу.ДокументОснование,
   |    ПоступлениеВКассу.СуммаДокумента,
   |    ПоступлениеВКассу.Контрагент,
   |    ПоступлениеВКассу.Дата
   |ИЗ
   |    Документ.ПоступлениеВКассу КАК ПоступлениеВКассу
   |ГДЕ
   |    ПоступлениеВКассу.Контрагент = &Контрагент
   |АВТОУПОРЯДОЧИВАНИЕ";
  Результат = Запрос.Выполнить().Выгрузить();
  Объект.ТаблПоступлениеВКассу.Загрузить(Результат);
 
  Объект.СуммаДокумента=Объект.ТаблПоступлениеВКассу.Итог("СуммаДокумента");

КонецПроцедуры


&НаКлиенте
Процедура ПоступлениеВКассу1ПриИзменении(Элемент)
Объект.СуммаДокумента=Объект.ТаблПоступлениеВКассу.Итог("СуммаДокумента");
КонецПроцедуры

&НаКлиенте
Процедура ПометитьНаУдаление(Команда)
   Удаление();
КонецПроцедуры


&НаСервере
Процедура Удаление()

   Для Каждого Строка Из Объект.ТаблПоступлениеВКассу Цикл
   Если Строка.Удалить = истина Тогда
       ТекОбъект=Строка.Ссылка.ПолучитьОбъект();
       ТекОбъект.УстановитьПометкуУдаления(Истина);    
   КонецЕсли;
   КонецЦикла;
КонецПроцедуры
63 polkin
 
19.02.12
21:46
Переназвал таблицу.
Документ назывался так-же