Имя: Пароль:
1C
1C 7.7
v7: Блин напомните про открытие только созданного документа
0 Chameleon1980
 
12.08.17
16:33
Приветствую всех.

НовыйПКО=СоздатьОбъект("Документ.ПКО");
            
НовыйПКО.Новый();

НовыйПКО.ДокОснование=ДокументОснование;

НовыйПКО.Касса = глЗначениеПоУмолчанию("ОсновнаяКасса");

глЗаполнитьШапкуНаОсн(НовыйПКО, ДокументОснование);

НовыйПКО.Основание = глПредставлениеДокумента(ДокументОснование);

НовыйПКО.Сумма=Сумма;

НовыйПКО.СуммаВзаиморасчетов=Сумма;

как форму его открыть не записывая?

капец 7.7 отходит на задний план.
1 Guk
 
12.08.17
16:34
формекс подключить...
2 Chameleon1980
 
12.08.17
16:35
кажись без формекса

Через открытьФорму

туда контекст передается

а тут контекст заполняем не?
3 Chameleon1980
 
12.08.17
16:36
(1) а про формекс подскажи где оно?
4 Chameleon1980
 
12.08.17
16:36
метод
5 mikecool
 
12.08.17
16:38
НовыйПКО.ПолучитьФорму().Открыть() не?
6 Chameleon1980
 
12.08.17
16:39
(5) клюшки жеж. Тут вроде нет такого метода у дока.
7 Chameleon1980
 
12.08.17
16:40
во пля:

Конт="";

ОткрытьФорму("Документ.ПКО", Конт);

Конт.Сумма=Сумма;
Конт.СуммаВзаиморасчетов=Сумма;
8 Chameleon1980
 
12.08.17
16:41
спасибо всем. походу можно закрывать.

Единственный момент. Все-же интересно каким способом/методом формекс бы помог?
9 mikecool
 
12.08.17
16:41
(7) в 7.7 в конфигах была функция ПолучитьКонтекст
10 Chameleon1980
 
12.08.17
16:46
такое помню
глВзятьКонтекст(Контекст)
не?

это ты про вместо Конт="" ?
11 Chameleon1980
 
12.08.17
16:47
в общем работает так нормально вместо (0)

Конт="";

ОткрытьФорму("Документ.ПКО", Конт);

Конт.ДокОснование=ДокументОснование;

Конт.Касса = глЗначениеПоУмолчанию("ОсновнаяКасса");

глЗаполнитьШапкуНаОсн(Конт, ДокументОснование);

Конт.Основание = глПредставлениеДокумента(ДокументОснование);

Конт.Сумма=Сумма;

Конт.СуммаВзаиморасчетов=Сумма;
12 Злопчинский
 
12.08.17
18:23
(7) третьим параметром в открытьформу  передать документоснование
И будет то что в (0) написано
13 Chameleon1980
 
12.08.17
19:20
(12) мне сумму там другую нужно

хотя. форма жеж открытьФорму просто

можно и так попробовать
14 Chameleon1980
 
12.08.17
19:21
короче вопрос другой возник

в обработке есть

ОткрытьФормуМодально("Элемент.Автомобили", Конт,,,Контрагент.ТекущийЭлемент());

это создание нового элемента справочника "Автомобили",
подчиненного контрагенту.

как мне после этой строки получить созданный документ?
15 Chameleon1980
 
12.08.17
19:24
ой
*созданный документ = созданный элемент
16 HawkEye
 
12.08.17
19:26
(15) в созданном элементе сделай, что-то типа:

Записать();
Форма.Параметр = ТекущийЭлемент();

здесь будет в конт-е
17 Chameleon1980
 
12.08.17
19:28
:) ага вот уже и пробую

//*****************************************************************************
Процедура ПриЗаписи()
    
    Если ПустоеЗначение(Марка)=1 Тогда
        Предупреждение("Не указана марка автомобиля !");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
                      
    Наименование=СокрЛП(Марка.Наименование)+" "+СокрП(Номер)+" "+СокрЛП(Год)+" "+СокрЛП(VIN);
    
    Форма.Параметр=ТекущийЭлемент();
    
КонецПроцедуры // ПриЗаписи
//*****************************************************************************
18 Chameleon1980
 
12.08.17
19:31
наверное при закрытии
если выбран тогда
форма.Параметр=ТЕкущийЭлемент()

т.к. вернулся справочник, но пустой
19 Chameleon1980
 
12.08.17
19:34
так и есть
в при закрытии если выбран
в параметр отдаем текущего созданного

в при записи его еще не до конца сделали :)

прости меня семерочка, что забывается :)

Спасибо всем за помощь.
20 HawkEye
 
12.08.17
19:47
(18) в призаписи - эл-т еще не записан, надо сначала Записать()
21 Chameleon1980
 
12.08.17
20:02
(20) ага я понял :)

в при закрытии проверил родился элемент или нет
и дал в параметр его
22 ADirks
 
14.08.17
06:27
(8) FormEx бы помог, если бы надо было строки добавлять.
Просто так Кон.НоваяСтрока() в семёрке не работает. А с FormEx'ом работает.
23 vadim777
 
14.08.17
07:03
(22) Из глобального модуля "Бухия для украины":
Процедура глЗаполнитьТабличнуюЧастьНаОсновании(Конт, ДокументОснование) Экспорт
............    
    ДокументОснование.ВыбратьСтроки();
    Пока ДокументОснование.ПолучитьСтроку() = 1 Цикл
        Конт.НоваяСтрока();

Без формекса.
24 Sserj
 
14.08.17
07:18
Ну вообще можно просто передать список параметров при открытии формы нового документа. Типа такого:

спсПараметры = СоздатьОбъект("СписокЗначений");
спсПараметры.Установить("Действие", "ЗаполненениеНового");
спсПараметры.Установить("ДокОснование", ДокументОснование);
спсПараметры.Установить("Касса", глЗначениеПоУмолчанию("ОсновнаяКасса"));
....

ОткрытьФорму("Документ.ПКО", спсПараметры);

В ПКО:

Процедура ПриОткрытии()

Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
  Если Форма.Параметр.Получить("Действие") = "ЗаполненениеНового" Тогда
    ДокОснование = Форма.Параметр.Получить("ДокОснование");
    Касса = Форма.Параметр.Получить("Касса");
    ....
  КонецЕсли;
КонецЕсли

КонецПроцедуры
25 1dvd
 
14.08.17
07:28
всё так