|
ВнешняяОбработка (не выходит изменить строки ТЧ документа) | ☑ | ||
---|---|---|---|---|
0
IBTM
21.11.11
✎
12:21
|
ЗУП 8. Сделал простейшую внешнию обработку. Пытаюсь изменить строку ТЧ документа "КадровоеПеремещениеОрг." Объект получил, цикл проходит удачно т.е. в отладчике вижу изменение ячейки. но сама ТЧ не меняется. Я уверен что мой косяк:). Что-там не так с кодом? Зарание спасибо!
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
|||
1
PLUT
21.11.11
✎
12:22
|
(0) Док.Записать(....
не? |
|||
2
Еклмн
21.11.11
✎
12:22
|
а ты потом записываешь объект?
|
|||
3
IBTM
21.11.11
✎
12:32
|
(1) да я его и в обработке записывал и сам заполняю тч, записываю док, потом запускаю обработку. Или что-то не так вообще?
(2) нет, в принципе зачем...? |
|||
4
IBTM
21.11.11
✎
12:34
|
(2) тч я в отладчике вижу...
|
|||
5
PLUT
21.11.11
✎
12:40
|
(4) добавь после цикла
Док.Записать(); |
|||
6
IBTM
21.11.11
✎
12:48
|
(5) неа, я даж ща условие в цикле убрал, чтоб наверника.
Процедура КнопкаВыполнитьНажатие(Кнопка)
|
|||
7
hhhh
21.11.11
✎
12:52
|
а как узнал, что не получилось?
|
|||
8
IBTM
21.11.11
✎
12:52
|
Тоже самое делаю в самом документе, выходит. Через ВнешОбр пока хочет:).
|
|||
9
dva1c
21.11.11
✎
12:54
|
(6) Док.Записать() спас?
|
|||
10
Rizhij_Nikitos
21.11.11
✎
12:54
|
(8) должно работать, Как ты ссылка на объект получаешь?
|
|||
11
dka80
21.11.11
✎
12:55
|
Для Каждого Стр Из Док.ОсновныеНачисления
|
|||
12
IBTM
21.11.11
✎
12:59
|
(7) Ребят спасибо, кажись вышло. Только в чём загвозтка была надо док закрыть и открыть. А разве нельзя както это увидеть без этих действий?
|
|||
13
IBTM
21.11.11
✎
13:10
|
Что ваще бред спросил:(? В доке есть такая кнопка как "перечитать данные", я так понел то что нужно, возможно как-то это использовать с помощью обработки?
|
|||
14
IBTM
21.11.11
✎
13:26
|
up!
Вы пробуете или вам уже не интересно?! |
|||
15
Шапокляк
21.11.11
✎
13:28
|
(13) ДокументОбъект.Прочитать() не?
|
|||
16
Reset
21.11.11
✎
13:38
|
(14) Получить форму по ссылке, если форма уже открыта, сделать в её контексте (15).
Но это будет работать только в том же сеансе, где ты запускаешь обработку. Если открыли в другом сеансе, простого решения, кроме как закрыть-открыть вручную, нет. |
|||
17
IBTM
21.11.11
✎
14:33
|
(16) Спасибо. А не подскажите как сделать форму в контексте? Синтаксис-помошник мне не помог, но думаю ни так искал...
|
|||
18
Reset
21.11.11
✎
15:16
|
(17) "как сделать форму в контексте" - не понимаю вопроса.
Форма=СсылкаНаОбъект.ПолучитьФорму(); Если Форма.Открыта() тогда Форма.ЭтотОбъект.Прочитать(); КонецЕсли; |
|||
19
Шапокляк
21.11.11
✎
16:11
|
(17) Форму в контексте? В (16) "в её контексте" - значит в контексте формы, т.е. в открытой форме. Вы, как я понимаю, что-то сделали с объектом из его открытой формы и при этом результат не отразился в форме. Вот и прочитайте заново основной реквизит формы, т.е. (15) в данном случае и есть программный вызов действия "Перечитать".
(18) не взлетит, т.к. у формы нет метода ЭтотОбъект. |
|||
20
IBTM
21.11.11
✎
17:24
|
Не выходит
Оклад = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням;
|
|||
21
hhhh
21.11.11
✎
17:39
|
ПолучитьОбъект(); получает каждый раз новый объект. ТО есть в конце у тебя 3 разных объекта образовалось в оперативной памяти.
|
|||
22
IBTM
21.11.11
✎
17:48
|
(21) немного не понел откуда был 3-ий :)...? Поправил. Сейчас-то вроде объект один(вроде), но всёже не выходит!
Оклад = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням;
|
|||
23
Шапокляк
21.11.11
✎
17:49
|
(22) Это код внешней обработки, вызываемой из формы документа?
|
|||
24
Рыцарь
21.11.11
✎
17:52
|
это не тонкий клиент?)
|
|||
25
IBTM
21.11.11
✎
17:54
|
(23)Один из вариантов что я пробою, да (сделал через внешние печатные формы). Также пробую открываю сам форму документа (как обычно), а обработку через файл-открыть. Указываю СсылкуНаОбъект через реквизит обработки и собственно... Она работает если док не открывать!
(24) точно нет! |
|||
26
Шапокляк
21.11.11
✎
18:04
|
(25) Попробуйте изучить создание внешних обработок по заполнению табличных частей. Ваша независимая внешняя обработка работает в любом случае, просто, если форма открыта, то изменения не отображаются. Чтоб отображались, попробуйте во внешнюю обработку дописать
Форма=СсылканаОбъект.ПолучитьФорму(); Форма.Закрыть(); Форма.открыть(); метод, конечно, через задний проход... |
|||
27
hhhh
21.11.11
✎
18:11
|
(22) третий это тот, который на экране. Теперь 2 у тебя: который на экране и который ПолучитьОбъект().
|
|||
28
Рыцарь
21.11.11
✎
18:13
|
В форме обработке оповещение делаешь, а в форме документа ловишь оповещение и для объекта формы(ДокументОбъект) заново получаешь объект.
|
|||
29
Рыцарь
21.11.11
✎
18:13
|
После записи документа конечно))
|
|||
30
Шапокляк
21.11.11
✎
18:15
|
Дык если он форму дорабатывать будет (для отлавливания оповещений), то сразу бы и встроил процедурку в форму. Тут ведь, как я понимаю, весь цимес в том чтоб код в конфе не дописывать...
|
|||
31
IBTM
21.11.11
✎
18:20
|
(30) бинго! (29) Это и без всяких оповещений в ФормеДокумента. Короче я так понел, что не меняя конфу никак. Только, как был совет в (25) через обработки ТЧ, ни хотел я их пока трогать, но чувствую придется. И Форма.Закрыть не прокатит, объекта нет, только сылка. Печалька.
|
|||
32
IBTM
21.11.11
✎
18:22
|
Всё равно всем спасибо за участие, черпнул немного знаний:).
|
|||
33
Шапокляк
21.11.11
✎
18:24
|
"И Форма.Закрыть не прокатит, объекта нет, только сылка. Печалька"
я фигею |
|||
34
IBTM
21.11.11
✎
18:32
|
(33)??
|
|||
35
Шапокляк
21.11.11
✎
18:37
|
(34) Какого объекта нет, если есть ссылка? Печалька, блин!!!
|
|||
36
Reset
21.11.11
✎
18:39
|
(19) "т.к. у формы нет метода ЭтотОбъект"
Это к чему было? Ты отличаешь метод от свойства(реквизита)? |
|||
37
Шапокляк
21.11.11
✎
18:43
|
(36) Ну отличаю... Извини, в терминах ошиблась, надо было написать "т.к. у формы нет свойства(реквизита) ЭтотОбъект". Теперь понятнее к чему это было?
|
|||
38
Reset
21.11.11
✎
18:48
|
(37) Это свойства "Шапокляк" у формы документа нет. А "ЭтотОбъект" есть. Не пиши ерунду.
|
|||
39
Шапокляк
21.11.11
✎
18:56
|
(38) Извини, есть такое свойство. Но это не повод хамить.
|
|||
40
IBTM
23.11.11
✎
10:26
|
Всё таки можем подитожить!? Точто в (31) это так и есть?
|
|||
41
IBTM
23.11.11
✎
10:30
|
+ к (40), я про то что либо использовать ВО ТЧ, либо пилить конфу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |