Имя: Пароль:
1C
1С v8
Обработка. Изменение в проведенных документам одного поля
,
0 it-ilfat
 
19.09.14
10:44
Всем добрый день.
Прошу помощи, не срабатывает обработка.
Вот код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Докум = Документы.ПриходныйКассовыйОрдер.Выбрать();  
Пока Докум.Следующий() Цикл
док = Докум.ПолучитьОбъект();
Если док.КассаОрг = NULL тогда док.КассаОрг= ПараметрыСеанса.ТекущийПользователь.Касса;
    док.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;

КонецЦикла;

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

Конец Кода

Суть Есть поле КассаОрг в форме, необходимо изменить его в документах Приходный Кассовый Ордер.
1 Господин ПЖ
 
19.09.14
10:45
Если док.КассаОрг = NULL

готично...
2 Maxus43
 
19.09.14
10:45
Если док.КассаОрг = NULL - тут косяк, на пустую ссылку проверяй
3 it-ilfat
 
19.09.14
10:50
точнее как?
4 Enders
 
19.09.14
10:52
Если док.КассаОрг = документы.ПриходныйКассовыйОрдер.ПустаяССылка() тогда док.КассаОрг= ПараметрыСеанса.ТекущийПользователь.Касса;
    док.Записать(РежимЗаписиДокумента.Проведение,РежимЗаписиДокумента.Неоперативный);
КонецЕсли
;
Хоть бы погуглил...
5 Maxus43
 
19.09.14
10:53
(4) сам то понял что написал?)

Если док.КассаОрг = Справочники.Кассы.ПустаяССылка()
6 Enders
 
19.09.14
10:55
(5) ахахах))) точно... пойду кофе попью)
7 it-ilfat
 
19.09.14
10:57
проверяю)
Спасибо)
8 it-ilfat
 
19.09.14
10:58
не проходит документы.
9 Maxus43
 
19.09.14
10:58
(8) отладчик возьми уже, мы откуда знаем чем заполнено твоё
док.КассаОрг
10 anaed
 
19.09.14
10:59
(8) потому что (5)

Может тебе пока рано программировать?
11 samozvanec
 
19.09.14
11:00
(10) может он бухгалтер и ему надо?
12 it-ilfat
 
19.09.14
11:00
если поле КассаОрг не заполнено то заполнить именно и надо.
Там касса указывается.
13 Maxus43
 
19.09.14
11:01
(12) какой код не работает конкретно?
14 Господин ПЖ
 
19.09.14
11:02
(12) отладчик все знает... хватит уже долбить клювом этот пень трухлявый
15 it-ilfat
 
19.09.14
11:02
Как могу проверить, объясните.
16 Крошка Ру
 
19.09.14
11:02
(10) "Об этом думать никому не рано, и никогда не поздно, между прочим!"
17 anaed
 
19.09.14
11:03
(15)
1) установить точку останова
2) запустить отладчик
3) посмотреть какой тип у реквизита
4) посмотреть с каким типом ты сравниваешь
5) прозреть
18 samozvanec
 
19.09.14
11:05
а организация везде одна?
19 it-ilfat
 
19.09.14
11:07
организация везде одна
20 samozvanec
 
19.09.14
11:10
(19) "док.Записать(РежимЗаписиДокумента.Проведение);"
если документ не был проведен, его все равно надо провести? помеченные на удаление в твою выборку тоже попадут
21 Дядя Лёша
 
19.09.14
11:12
Возьми обработку "Универсальный подбор и обработка объектов" все там реализованно давно.
22 Maxus43
 
19.09.14
11:17
тогда уж обычную Групповую обработку, попроще
23 it-ilfat
 
19.09.14
11:23
(21) А где можно взять данную обработку?
24 samozvanec
 
19.09.14
11:24
(23) советую сначала на копии попробовать
25 it-ilfat
 
19.09.14
11:27
(24) я и так на копии пробую)) не камикадзе ещё)
26 it-ilfat
 
19.09.14
11:32
народ, он на всех проставил, даже на тех на которых было заполнено другое.
27 samozvanec
 
19.09.14
11:37
(26) могу предположить, что ты не наложил отбор. еще могу предположить, что тебе нужны отборы
проведен = истина
кассаорг = пустаяссылка
28 it-ilfat
 
19.09.14
11:38
(27) кассаорг = пусстаяссылка есть ведь.
29 it-ilfat
 
19.09.14
11:38
для начала не очень важно документ проведен или нет, хотя тоже было бы не плохо проверить)
Подскажите как?
30 samozvanec
 
19.09.14
11:38
(28) ты групповой обработкой делаешь?
31 Kamas
 
19.09.14
11:39
(27) а там есть волшебное значение не заполнено
32 it-ilfat
 
19.09.14
11:39
Вот сейчас какой код
Процедура КнопкаВыполнитьНажатие(Кнопка)
     Докум = Документы.ПриходныйКассовыйОрдер.Выбрать();  
            Пока Докум.Следующий() Цикл
            док = Докум.ПолучитьОбъект();
                Если док.КассаОрг = Справочники.Кассы.ПустаяССылка() тогда док.КассаОрг = ПараметрыСеанса.ТекущийПользователь.Касса;
                                                                           док.Записать(РежимЗаписиДокумента.Проведение);
                КонецЕсли;

            КонецЦикла;

  
КонецПроцедуры
33 samozvanec
 
19.09.14
11:40
(32) нене забей на это. операции-обработки-групповая обработка справочников и документов
34 it-ilfat
 
19.09.14
11:42
(33) там нет возможности поменять данное поле. Оно не доступно в меню.
35 Ymryn
 
19.09.14
11:42
(0) воспользуйтесь групповой обработкой справочников и документов. Есть в большинстве типовых, если нету в вашей, есть на ИТС. Не изобретайте велосипед.
36 it-ilfat
 
19.09.14
11:44
(35) это мне лично для развития полезно. трудно пока мне дается 1с. Вот и тренируюсь. Давайте уж помогите.
37 Kamas
 
19.09.14
11:48
(36) ну так развивайся тренируйся пробуй экспериментируй. напиши запрос с отбором не заполоненных. Зачем все перебирать??
38 it-ilfat
 
19.09.14
11:49
(37) Вот и спрашиваю как проверить на не заполненность, т.е. ПустаяСсылка не подходит?
39 samozvanec
 
19.09.14
11:50
(34) там есть кнопка настройки, там надо разрешить изменение реквизитов.
(37) +1, хочешь чему-то научиться - делай по-взрослому)
40 Kamas
 
19.09.14
11:51
(38) я тебе такого не говорил))
Программист всегда исправляет последнюю ошибку.