Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   из отчета Запрос после ОткрытьФорму (http://forums.kuban.ru/f1040/iz_otcheta_zapros_posle_otkryt-formu-6039559.html)

Lisonia 28.08.2014 11:00

из отчета Запрос после ОткрытьФорму
 
Отчет. В нем Таблица значений, заполняемая по запросу. Есть кнопка Создать новый документ. После его создания/редактирования, таблица значений в отчете должна обновиться.
Вопрос. Как это сделать?

Прописала :
ОткрытьФорму("Документ.Заявка");
ЗапросПоДокументам();

Так он сперва выполняет запрос, а потом уже открывает форму. Ну и конечно, новые данные не попадают в ТЗ отчета. Что делать?

user1C 28.08.2014 11:12

ОткрытьФормуМодально? ничего не понял...

Ткачик 28.08.2014 11:29

(1) А я понял, но только одно: судя по другим веткам, такая задача автору явно не по зубам.

Lisonia 28.08.2014 11:52

(2) я так поняла, вы всегда отказываетесь от задач, которые вам "не по зубам". Наверное, прямо с пеленок умели программировать в 1С и никаких проблем не было.
По-сему,следуя вашей логике, я просто не имею права узнавать то, что не знаю...

Ткачик 28.08.2014 12:44

(3) Ути-пути, какие мы сердитые! Ладно, открою вам то, на что вы имеете право: на самом деле строчка ОткрытьФорму() выполняется [b]раньше[/b], чем ЗапросПоДокументам(). Просто движок 1С не ждет (и не должен ждать!), пока прочитаются соответствующие таблицы, выполнится код ПриОткрытии() документа "Заявка" и отрисуется на экране его диалог. ЗапросПоДокументам() выполняется [b]параллельно[/b] со всей этой кухней, может и [b]закончиться раньше[/b], вот и кажется, что "он сперва выполняет запрос". Ферштеен?

Ну, а остальные ваши проблемы сначала надо перевести с женского языка на программистский.

Lisonia 28.08.2014 13:32

Подожду ответа от тех, кто знает решение задачи.

(4)это я и так знаю.

VZ 28.08.2014 17:01

5-Lisonia > Дык, решение-то вполне очевидно: запрос должен ждать записи документа. Как минимум. А то и проведение оного. И непременно закрытия формы.
А уже потоооом включать [em]энтуазизм[/em] и перебирать записи в журнале... ;)
Так что ответ дан. Сразу.

Reaper 28.08.2014 22:23

5-Lisonia > Правильное решение задачи:
Когда пользователь желает из отчета создать или отредактировать документ - отчет должен открыть форму документа так, чтобы владельцем формы оказался сам отчет. В событии "После записи" формы документа нужно вызвать оповещение о выборе, передав в качестве значения выбора ссылку на записанный документ. В событии "Обработка выбора" формы отчета нужно описать код обновления данных в отчете.

*достал попкорн и с интересом ждет реакции ТС*

Ткачик 28.08.2014 22:41

(7) Может, это и "правильное решение задачи", но вот с "событием "После записи" формы документа" может получиться маааленькая заминка - ветка размещена в секции "v7".

Reaper 28.08.2014 22:56

8-Ткачик > Давно? 20 минут назад вроде в v8 была. Я фиг знает, у ТС ветки то там, то тут, форум на них вообще болт клал, никогда не знаешь о чем люди говорят. Кругом одни уроды ©

VZ 28.08.2014 23:51

9-Reaper > И
[em]Прописала :
ОткрытьФорму("Документ.Заявка");[/em]
ничего не говорит? И душа не ёкнула? :D

Reaper 29.08.2014 07:39

10-VZ >Ни разу. Методы одинаковые, тип параметра - тоже. А что в параметре - я и не смотрю. Контекстная подсказка же.

USSR 30.08.2014 14:01

забавная девушка... Главное, что все виноваты

USSR 30.08.2014 14:02

а может от аечки сплясать? зачем ваще открывать эту самую форму перед запросом? Какая великая цель ?

USSR 30.08.2014 14:06

в самом тупом варианте поркомендовал бы в отчете сделать кнопку "обновить". Остальные варианты тоже есть, но сложнее для обсуждения ...
Для примера:
1- модальное открытие
2- использование генерации событий
и тд

Lisonia 01.09.2014 09:21

Проситите, что не отвечала - не было возможности... ДР, знаете ли...
(12) никого виноватыми не считаю, что Вы?))
(9) мне нужно решать задачи и в v7 и v8.

Поясню, может быть не будете столь строги со мной... Так судьба сложилась, что большое предприятие развалилось. Работали на v7. И конфы писали, и изменения вносили не хилые... Но, оказывается, многие аспекты v7 даже не приходилось затрагивать.. Посему нужно восполнять знания. На НР - и v7 и v8, которую вообще с нуля приходится осваивать...Надеюсь на понимание и поддержку, ибо больше искать ответы не где...

Ребят, спасибо за совет, вы очень завуалированно дали ответ )) Все получилось!
ОткрытьФормуМодально - и тогда после записи документа команда передается на след. строку.
т.е.
ОткрытьФормуМодально
<НовыйЗапросОбновленияФормы>

VZ 01.09.2014 11:01

15-Lisonia > Примечание: Для "восьмерки" [em]ОткрытьФормуМодально [/em]ныне не приветствуется ;)

Lisonia 01.09.2014 11:07

Спасибо, буду знать )) Но это - в "семерке".


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