Имя: Пароль:
1C
 
УФ , получить значения с формы записи программно
0 BRabbitB
 
naïve
11.06.25
09:39
Доброе утро, товарищи! Нуждаюсь в помощи, буду благодарен :)
Есть регистр сведений, а в нем дополнительная форма записи, через отчет СКД открываю ее программно с помощью конструкции:

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


Вот открылась форма, человек записал, что нужно в регистр — создалась запись, но мне ее в дальнейшем нужно обработать в отчете, поэтому нужно получить после записи эти данные, которые ввел пользователь, как это можно сделать?
1 BRabbitB
 
naïve
11.06.25
07:11
Вопрос в том , как вернуть данные открытой формы регистра
2 Asmody
 
11.06.25
08:50
Формы умеют посылать разные оповещения.
И ловить оповещения других форм.
3 asady
 
11.06.25
13:44
(2) пользователь работает в другом сеансе
оповещения не канают
4 asady
 
11.06.25
13:45
(0) запросом как обычно без проблем
5 maxab72
 
11.06.25
13:48
можно через план обмена отмечать изменения в регистре, а в другом сеансе регламентным заданием ловить эти изменения и обрабатывать.
6 Волшебник
 
11.06.25
13:50
(5) Ещё можно отправлять e-mail на специальный адрес, а в другом месте ждать письмо
7 Мультук
 
гуру
11.06.25
14:43
Перечитал задачу еще раз.

Одно не пойму -- где вы взяли несколько сеансов ?

Пользователь кликает на ячейку в отчёте.
Отрывается форма, пользователь в этой форме вводит какие-то данные.
И жмёт "ок" или не жмёт "ОК"

Форма отсылает "форме отчёта" оповещение,
"форма отчёта" ловить это оповещение и "что-то делает" с отчётом. Например красит ячейку на которую кликал пользователь в зеленый или красный цвет.

Хуже, когда нужно еще и пересчитать некие данные в отчёте.
Но тут уже всё зависит от программиста
8 Fish
 
гуру
11.06.25
14:44
(7) Надо делать, чтобы отдельная форма не открывалась, а данные вводились непосредственно в ячейку отчета.
9 vicof
 
11.06.25
14:52
(8)  пора переходить обратно на эксель
10 Fish
 
гуру
11.06.25
14:54
(9) Зачем? Это вполне реализуемо на отчетах 1С. Правда реализация немного геморройная, зато пользователи в восторге - данные можно вводить прямо в отчете!
11 Fish
 
гуру
11.06.25
14:55
+(10) Примеров реализации полно. Вот, навскидку: https://infostart.ru/1c/tools/1619546/?ysclid=mbrw7hqmjs600315243
12 vicof
 
11.06.25
15:07
(10)Куча скрытых косяков.
Например, запрос тянет данные в одно поле из трех источников. Естьнуллы и плюсы/минусы в одном поле, которое меняет пользователь. исправлять потом это дело - геморрой в большой буквы Гэ.
13 Fish
 
гуру
11.06.25
15:31
(12) Понятно, что данный подход нужно применять с умом, а не везде подряд. Но там, где требуется внести, например, некий текстовый комментарий, который потом все увидят в отчете - вполне себе работает.
Главный плюс, что не требуется переформировывать отчёт, что может быть долго.
14 BRabbitB
 
naïve
16.06.25
06:44
(13) Ага , задача в том , чтобы комментарии написал с помощью формы регистра сведении в отчете, записал туда комментарии и от туда при переформирование брать данные, это плюс минус понятно как сделать.

Но ведь пользователь должен еще увидеть , что написал моментально

И хочется чтобы после того как закрыли ФормуДополнительную - кнопкой - записать - комментарии встал сразу в ячейку без переформирование , вот отловить данные не могу, которые ввели , чтобы уже манипуляции проводить
15 Мультук
 
гуру
16.06.25
07:59
(14)

В пункте (2) жирно намекнули



0) Как вызывать форму "Ввода комментария"
https://курсы-по-1с.рф/news/skd-reports-ext-10-samples/

1)
>>после того как закрыли ФормуДополнительную - кнопкой записать

Размести в этой кнопке код
Оповестить("ПРЕВЕД_МЕДВЕД", мояСтруктараСНужнымиДанными);

2) В форме отчёта лови это событие "ПРЕВЕД_МЕДВЕД" в "ОбработкаОповещения" и обрабатывай мояСтруктараСНужнымиДанными

3) Меняй текст в отчёте
{гуглим или думаем головой}
16 СвинТуз
 
16.06.25
09:19
(0)
Лень в отчете свою форму сделать? Типовую используете?

"ОткрытьФорму" с указанием владельца более модная команда? Нет?
17 BRabbitB
 
naïve
16.06.25
09:31
(16) Да , вы правы. Уже исправил этот момент , что через ОткрытьФорму лучше будет решением
18 BRabbitB
 
naïve
16.06.25
09:31
(15) Благодарю , буду пробовать :)