Имя: Пароль:
1C
1C 7.7
v7: Есть ли в 1с77 аналог this или self
0 sunnmas
 
20.03.14
12:08
Есть в системе документ ЗаявлениеНаПостановкуККТ
Есть в системе справочник СписокККТ

Я элемент справочника (Контекст Модуль справочника). Меня создали и редактируют.
Ввели все что необходимо
Есть у меня кнопка "Заявление"
Она создает Новый документ ЗаявлениеНаПостановкуККТ
Заполняет различные реквизиты, но есть в ЗаявлениеНаПостановкуККТ
реквизит ККТ, который хотелось бы заполнить тоже
Этот реквизит как бы "Я".

Т.е. если на других языках описать
Завява.ККТ = this;

или self

ТекущийЭлемент() пока не помогает.

Вот кусок кода:
Процедура ПоКнопкеЗаявление()
    Заявка = СоздатьОбъект("Документ.ЗаявкаРегистрацииККТ");
    Заявка.Новый();
    Заявка.Записать();
    ОткрытьФорму(Заявка.ТекущийДокумент());
    Заявка.ККТ = ТекущийЭлемент();
КонецПроцедуры

Документ создается и отображается, ККТ не заполняется
Помогите
и не закрывайте тему пожалуйста
1 rbcvg
 
20.03.14
12:09
"Я элемент справочника (Контекст Модуль справочника). Меня создали и редактируют. " - феерично.
2 Asmody
 
20.03.14
12:13
называется "Контекст".
вроде в 7.7 принято было в глобальнике делать функцию ВзятьКонтекст(К)
Возврат К;

и вызывать ее типа _Контекст=ВзятьКонтекст(Контекст);
3 Asmody
 
20.03.14
12:21
а в вашем случае засада кроется вот тут [Меня создали и редактируют.]
если создали, но не записали, то никакого объекта еще нет и в документ ссылку не присвоить
4 sunnmas
 
20.03.14
12:24
Asmody, Ладно допустим заставлю записать пользователя элемент справочника. А вот по поводу _Контекст=ВзятьКонтекст(Контекст);
небольшое уточнение:

Процедура ПоКнопкеЗаявление()
    Заявка = СоздатьОбъект("Документ.ЗаявкаРегистрацииККТ");
    Заявка.Новый();
    Заявка.Записать();
    this.Записать();
    _Контекст=ВзятьКонтекст(this);
    Заявка.ККТ = _Контекст;
КонецПроцедуры

Пока не понятно как применить подсказку
5 skunk
 
20.03.14
12:25
Заявка = СоздатьОбъект("Документ.ЗаявкаРегистрацииККТ");
    Заявка.Новый();
    Заявка.ККТ = ТекущийЭлемент();
    Заявка.Записать();
    ОткрытьФорму(Заявка.ТекущийДокумент());
6 Господин ПЖ
 
20.03.14
12:28
>Т.е. если на других языках описать
>Завява.ККТ = this;

>или self

здесь вам не тут...

Только вы, дорогой товарищ из Парижа, плюньте на все это.

— Как плюнуть?!

— Слюной, — ответил Остап, — как плевали до эпохи исторического материализма.
7 Зойч
 
20.03.14
12:28
this.Записать(); не надо, надо просто записать()
8 Mikeware
 
20.03.14
12:45
"наберут по объявлению..."©
9 sunnmas
 
20.03.14
14:39
Заявка = СоздатьОбъект("Документ.ЗаявкаРегистрацииККТ");
    Заявка.Новый();
    Заявка.ККТ = ТекущийЭлемент();
    Заявка.Записать();
    ОткрытьФорму(Заявка.ТекущийДокумент());

Всем спасибо вот правильный ответ