Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Вывод на экран формы нового документа в 8.2 (http://forums.kuban.ru/f1040/vyvod_na_ekran_formy_novogo_dokumenta_v_8_2_a-2150688.html)

Stella12 02.02.2012 16:10

Вывод на экран формы нового документа в 8.2
 
Задача - из ТЗ программно сформировать документ, открыть его форму пользователю, чтобы он сам там уже заполнил нужные ему поля.
В 7.7 сие было возможно, но показать табличную часть документа пользователю нельзя было не записав документ.
Можно ли это в 8.2? Просто записать документ - это уже привязка к моменту времени, не хотелось бы этого делать если можно...

Uho 02.02.2012 16:11

можно

Stella12 02.02.2012 16:13

А можно, пардон, код для примера?
У меня есть переменная типа ДокументОбъект, что с ней дальше делать?

Stella12 02.02.2012 16:17

Начинаю так:
ТекДокумент = ДокТакогоТоВида.СоздатьДокумент();
(получаю переменную типа ДокументОбъект с пустой ссылкой ибо документ не записан).
Далее, могу обратиться к ее табличной части и ее заполнить, так?
А вот что дальше? Как вывести форму на экран и показать ее пользователю?

Uho 02.02.2012 16:21

НоваяСтркока = ДокументОбъект.Состав.Добавить()
//заполняешь реквизиты ТЧ
//получаешь форму и открываешь

Stella12 02.02.2012 16:23

(5)
1) состав - это название ТЧ документа?
2) как получить форму и открыть?

Uho 02.02.2012 16:26

1) да
2) ПолучитьФорму().Открыть() :))))

Stella12 02.02.2012 16:36

(7)
Огромное спасибо, все работает :).
А как автоматом присвоить номер новому документу? Нумератор отсутствует, нумерация в пределах года.

Uho 02.02.2012 16:39

8-Stella12 > примерно так же как в 7.7

Uho 02.02.2012 16:40

+9 установи дату и запиши

Stella12 02.02.2012 17:22

(10) Дату установила на текущую до заполнения табличной части.
Табличная часть заполняется программно (все вижу отладчиком), но при открытии формы она пустая :(.

Stella12 02.02.2012 17:27

Попробовала метод Записать() перед выводом формы (вот только какая разница по сравнению с 7.7...)
Форма все равно выдалась пустая.
Однако при открытии из журнала выдалась прекрасно заполненная форма со всеми данными, в т.ч. и с номером.
Что делать? Мне нужно на экран выдать именно форму с данными, чтобы пользователь мог ее продолжить редактировать.
УТ 10.3.

Uho 02.02.2012 17:28

ээээ... [url]http://www.obrabotki.com/1s-openform-managedforms/[/url]

Stella12 02.02.2012 17:35

Спасибо за ссылку, сохраню :). Но у меня неуправляемая форма... А в ней сделать так нельзя?
В любом случае ситуация у меня странная, ведь документ я записываю уже :).
Описываю что у меня происходит.
В общем синтаксис у меня примерно такой:
ДокОбъект.Дата = ТекущаяДата();
//заполняется ТЧ документа
ДокОбъект.Записать();
ФормаДокумента = ДокОбъект.ПолучитьФорму("Документ.ТипДока.ФормаОбъекта");
ФормаДокумента.Открыть();
//на экран открывается девственно пустая форма
После этого я пытаюсь закрыть эту форму, она мне предлагает сохранить изменения, я говорю "нет" :).
В базе нахожу свой док и его открываю. Данные там все есть :).
Где ошибка?

Stella12 02.02.2012 19:02

По проблеме отбой, друг подсказал.

Чучундер 02.02.2012 21:49

(0) > В 7.7 сие было возможно,
- звиздишь, не верю!!!!
.
Док = СоздатьОбъект("Документ.Реализация");
Док.Новый();
Док.Комментарий = "какой-то идентификатор";
.
открой форму ИМЕННО ЭТОГО НОВОГО ДОКУМЕНТА

Управление торговлей 11 02.02.2012 22:44

16-Чучундер >"Шарик, ты балбес"
КонтекстФормы="";
ОткрытьФорму("Документ.РасходныйОрдерТБ",КонтекстФормы);
КонтекстФормы.Основание="Превед";
КонтекстФормы.Форма.Обновить();

Чучундер 02.02.2012 23:05

(17) ты сам балбес*2, читать научись ;-)
я просил открыть форму ИМЕННО ЭТОГО НОВОГО ДОКУМЕНТА, определямого (в т.ч. и заполнение реквизитов) выше по коду до (предполагаемого) открытия формы, я не просил манипулировать с формой открытого документа.

Чучундер 02.02.2012 23:06

(17) для облегчения понимания - давай попробуем так: открыть форму нового документа нужно модально...

Управление торговлей 11 03.02.2012 19:58

18-Чучундер >просил бы сразу денег, чего уж. все равно мимо темы

Чучундер 04.02.2012 02:55

(20) по (19) слился? ;-)

MishaD 04.02.2012 11:56

(21)А как же синтакс помошник. Там прямым текстом написано - ОткрытьФормуНовогоДокумента


Текущее время: 08:10. Часовой пояс GMT +3.