Имя: Пароль:
1C
 
Запись док при создании с записью данных в регистр сведений
0 Kongo2019
 
14.02.25
10:49
Тема, наверное, для пятницы.
Хочу странного. Пользователь жмакает создать док, ему на экран выводится ну пусть общая форма с выбором варианта, потом док должен записаться, бо если не запишется у меня ссылки по идее не будет, и сделать записи в починенному доку регистре сведений в соответствии с выбранным вариантом.
Вопрос как это грамотно сделать?
1 Волшебник
 
14.02.25
10:50
Форму выбора варианта открыть модально.
Передать вариант в параметр закрытия.
Далее сделать движения в модуле объекта в процедуре ОбработкаПроведения.
2 Kongo2019
 
14.02.25
10:52
(1) А док не проводится.
3 Ногаминебить
 
14.02.25
10:58
Если мы пишем что-то в регистр сразу при записи документа независимо от проведения - может логичнее это все вынести в его реквизиты?
4 Мультук
 
гуру
14.02.25
10:58
(2)

1) Модуль

ПриЗаписи()

там у ЭтотОбъект.Ссылка имхо уже есть



2) "бо если не запишется у меня ссылки по идее не будет"

ну как сказать есть
УстановитьСсылкуНового(<Ссылка>)

но лучше см пункт 1
5 Волшебник
 
14.02.25
11:00
(2) Должен проводиться, раз делает движения по подчинённому регистру сведений.
6 Kongo2019
 
14.02.25
11:02
(3) Эти реквизиты в доке не нужны.
7 Волшебник
 
14.02.25
11:03
(6) Нужны
8 Kongo2019
 
14.02.25
11:12
(4) Тут логика немного дебильная заказана как по мне.
Есть регистр сведений починенный доку. Но с данными не дока.
просто некие данные из разных справочников. Док там токо как ссылка работает.

Пользователь создает док. То бишь жмакает кнопку создать док  обычном.
Тут надо всунуть общую форму, что не сам док создавался.
А появлялась форма, с выбором варианта.
Потом открывается док.
У него есть связанный регистр. То бишь пользователь должен иметь возможность редактировать связанный регистр и док.
А это можно сделать только на записанном же.

Почему регистр, не табличная часть, потому что регистр один а доков типов доков много, и каждый раз рисовать таб часть мне неохота.
9 Волшебник
 
14.02.25
11:12
(8) Исправьте архитектуру. Сделайте нормально!
10 Kongo2019
 
14.02.25
11:16
(9) Есть варианты как сделать нормально?
Спасибо.
11 Волшебник
 
14.02.25
11:18
(10) см (1)
12 Ногаминебить
 
14.02.25
11:27
(8) Что может быть проще, чем создание табличной части в документе? Схема в перспективе может вылиться в такой ад, перед которым рисование табличной части - слезы. Сделали ТЧ, пользователь туда удобно добавил реквизиты, провел документ, регистр заполнился. Пускать юзеров самим ручками заполнять регистр - ну не знаю...
13 программистище
 
14.02.25
11:28
А в чем проблема если форма отдельная выбрать нужные данные, заполнить как надо документ и сопуствующие реквизиты для регистра, записать документ, записать регистр?
14 Kongo2019
 
14.02.25
11:43
(12) а потом у меня регистр поменялся, и я буду бегать по куче доков табличную часть перерисовывать.
15 Ногаминебить
 
14.02.25
11:50
(14) Не только ТЧ, но и алгоритм проведения. Это нормально. :) Другой вопрос, что регистр часто меняться не должен.
16 Bigbro
 
14.02.25
12:05
(14) а зачем вообще регистратор? пусть будет независимый регистр.
17 maxab72
 
14.02.25
12:05
(0) Смотри как сделан документ "КорректировкаРегистров" в типовых. Там ничего не проводится, а в регистрах записи сохраняются.
18 Eiffil123
 
14.02.25
12:12
(0) " потом док должен записаться" - не надо его записывать. В набор записей подчиненного регистра можно добавлять записи даже у незаписанного документа.

Посмотрите как устроен документ "Операция" в БП-3.0 (операция введенная вручную). Там регистры вынесены на форму, пользователь фактически правит движения прямо в наборе записей, без табличной части.

После выбора вида операции заполняйте движения и показывайте незаписанный документ пользователю.
19 Fedor-1971
 
14.02.25
14:53
(10) Если так уж хочешь странного, то алгоритм примерно такой:
1. Делаешь общую форму с вариантами выбора
2. После выбора варианта в форму нового документа передаёшь параметр Структура с данными для твоего регистра, например, ЖутьКакаСтрашная
3. При открытии формы документа (для УФ ПриСозданииНаСервере) проверяешь наличие параметра ЖутьКакаСтрашная и записываешь оный в реквизиты формы
Если Объект.Ссылка.Пустая()  и нет параметра тогда
  отказываешь в создании документа
Иначе
  читаешь данные для ЖутьКакаСтрашная из твоего регистра
КонецЕсли;
4. В событии формы ПослеЗаписиНаСервере тупо пишешь данные из ЖутьКакаСтрашная в свой регистр

Таки, сплошной гешефт: мусорных ссылок нет и регистр всегда красивый
20 ptiz
 
14.02.25
12:56
(0) Если пользователь работает с данными без документов - это обработка.
Документ - это фиксация определенных событий (хоз.операции).
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс