Имя: Пароль:
1C
1C 7.7
v7: Открыть обработку из документа и изменить данные в документе.
0 Starhan
 
24.07.16
21:24
Дайте простой пример как в 7.7.


По кнопке открыть обработку и в этой обработке изменить тч документа
1 Mauser
 
24.07.16
21:29
см БСП ВПФ
2 Изучаю1С8
 
24.07.16
21:49
Открыть форму, передать параметр, заполнить, передать назад.
В ТИСе есть
3 HawkEye
 
24.07.16
22:15
(0) что не получается то?
4 Garykom
 
гуру
24.07.16
22:26
В 1С77 есть же модальность поэтому "все просто" ))
5 Starhan
 
24.07.16
23:26
просто пример кодом нужен. :) Не помню уже ничего по 7ке.
6 Starhan
 
24.07.16
23:27
Первое я уже понял как сделать

ОткрытьФорму("Обработка.МояОбработка", Контекст)

Потом в обработке при открытии

ФормаДокумента = Форма.Параметр;

А вот как дальше менять тч еще не вспомнил :)
7 Starhan
 
24.07.16
23:40
Например как в открытой обработке узнать количество строк в еще не записанном документе?
8 Garykom
 
гуру
25.07.16
00:08
(7) Передать в нее все "не записанные" строки, затем по получению их назад в доке обновить/перезаписать.
9 Злопчинский
 
25.07.16
00:57
(6)  не надо так делать
Не нравится мне так

Конт = глвзятьконтекст(контекст)
И его уже суешь в параметр

А в обработке просто

Контекстдокумента = форма.параметр
Конткстдокумента.количествострок()
10 Злопчинский
 
25.07.16
00:58
И тч менять точно также через контекстдокумента
Только формекс загрузи
11 Garykom
 
гуру
25.07.16
01:06
(9) :)
Пора отвыкать от 7.7 с его глВзятьКонтекст() и привыкать к 8.Х где такое не в моде.
Там целиком передают ТЧ в виде ТЗ обычно.
12 vcv
 
25.07.16
05:31
(11) Есть не только ТЧ, но еще и шапка. Как предлагаешь передавать шапку открытого документа? Грузить всё циклом в СЗ?
13 ADirks
 
25.07.16
08:43
(9) нафига в данном случае глвзятьконтекст()? Этот костыль нужен лишь потому, что нельзя написать
Конт = Контекст;

(12) не, ну а чё, можно и шапку в список/структуру
только неясно, зачем
14 Starhan
 
25.07.16
08:49
В обработке прямо так и менять?

через переданный контекст


Если КонтекстДокумента.ПолучитьСтроку(1)=1 Тогда
  КонтекстДокумента.Количество = 1
КонецЕсли;

И в документе все изменения сразу отобразятся?
15 ADirks
 
25.07.16
08:52
(14) прямо так и менять

Только надо FormEx загрузить. Штатненько ТЧ не меняется.
16 Starhan
 
27.07.16
08:31
Что-то не получается данные меняю но на форме документа никак не отображается.

Форма.обновить( ) делаю
17 Это_mike
 
27.07.16
08:43
(16) какую форму обновляешь-то?
18 Злопчинский
 
27.07.16
09:39
(16) вот же дятел, у тебя есть контеквст документа - ну обратись к форме через него, нфейхоа то форму обработки дергать?

КонтекстДокумента.Форма.Обновить(0);

и обернуть это лучше в попытку, на тот случай если написано нормально - тогда в контекстедокуимента может быть и ГрупповойКонтекст и текущийДокумент
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn