Имя: Пароль:
1C
 
Заполнить реквизиты документа, которых нет в объекте
0 betelgeuse
 
24.06.24
09:44
Добрый день. Как правильно заполнять такие реквизиты документа, которые есть на форме, но нет в объекте? Значения хранятся в регистре сведений, я хотел сделать через менеджер записи, но регистр подчинен регистратору, и через менеджер записи добавить в него не получится. Платформа 8.3.22.1851
1 lEvGl
 
24.06.24
09:47
(0) читать: запросом? менеджером записи? набором записей?
получить данные, положить в реквизиты формы
2 1Снеговик
 
24.06.24
10:38
(0) что ты собрался добавлять через менеджер записи?
Ты же говоришь на форму надо прочитать.
3 DJ Anthon
 
24.06.24
10:42
(0) при обработке проведения, наверное. Движения называется
4 Волшебник
 
24.06.24
10:42
(0) Правильно их заполнять из модуля проведения документа
5 betelgeuse
 
24.06.24
10:52
(1) Спасибо, сделал вот так, работает:

// создали набор
НаборЗаписей = РегистрыСведений.упПеревозчикПоРейсу.СоздатьНаборЗаписей();

// установили в нем отбор по измерениям
                    НаборЗаписей.Отбор.Регистратор.Установить(стр.Рейс);                    НаборЗаписей.Отбор.Регистратор.Использование = Истина;

// прочитали то, что есть в базе
                    НаборЗаписей.Прочитать();

// добавили свое
НоваяЗапись = НаборЗаписей.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяЗапись, СтруктураЗаполненияРегистра);

// записали общий набор обратно
                    НаборЗаписей.Записать();
6 betelgeuse
 
24.06.24
10:53
(4) Почему через набор записей неправильно?
7 Волшебник
 
24.06.24
10:54
(6) Потому что Вы не умеете им пользоваться.
8 KJlag
 
24.06.24
11:01
(5) а если во время проведения будет отказ=истина?
запись в регистре так и останется

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

https://www.koderline.ru/expert/narabotki/article-programma-1s-dopolnitelnye-svoystva/
9 DJ Anthon
 
24.06.24
11:42
(8) еще надо предусмотреть ОбменДанными.Загрузка = Истина. еще надо предусмотреть локализационные процедуры обработки. еще надо предусмотреть проверку на существование нетипового регистра. еще надо....
10 betelgeuse
 
24.06.24
12:05
(8) Я не делаю проведение, а заполняю регистр внешней обработкой. Подставляю перевозчика в документ рейс. Разве обязательно для этого проводить документ?
11 Волшебник
 
24.06.24
12:37
(10) Плохая архитектура
12 betelgeuse
 
24.06.24
13:06
(11) Подскажите, пожалуйста, новоиспеченному программисту, в чем вы видите проблему? Перевозчика в рейс пользователи указывают интерактивно, когда фактически известно кто повезет. А до этого момента нужны примерные плановые расходы, которые считаются только при установке перевозчика, для этого есть фиктивный перевозчик. Чтобы пользователям не проставлять вручную одно и то же в несколько десятков рейсов, я пишу обработку
13 Wern
 
24.06.24
13:16
(12) Что произойдет когда пользователи захотят перепровести документы за месяц например?
14 Волшебник
 
24.06.24
13:27
(12) Со слова "фикция" начинаются все беды и баги. Программы должны быть честными, как молитвы.
15 Ногаминебить
 
24.06.24
13:30
(12) Чем ПустоеЗначение хуже фиктивного перевозчика? :)
16 betelgeuse
 
24.06.24
14:05
(13) Пока не знаю, зачем им может понадобиться перепроводить рейсы... Перевозчика назначают через некоторое время (в течение дня, недели). Если не назначат, то при перепроведении останется фиктивный, уже записанный в регистр, или я не прав?
17 betelgeuse
 
24.06.24
14:08
(15) Плановые расходы по рейсу рассчитываются из номера тарифа, который указывается в соглашении, которое заключается с перевозчиком. Считаю что проще указать фиктивного перевозчика с неким тарифом, чем переписывать логику формирования расходов
18 Волшебник
 
24.06.24
14:14
(17) Вы Ваше "считаю" согласовали с аналитиками, архитекторами, пользователями?
19 betelgeuse
 
24.06.24
14:50
(18) Если бы в нашей организации были аналитики и архитекторы, я бы сюда не писал :) А пользователи сами и попросили это
20 Волшебник
 
24.06.24
14:52
(19) Тогда Вы сами себя назначили архитектором и Вам самим расхлёбывать последствия Ваших решений. Можете считать как Вам угодно. Можете загонять фиктивные значения в регистры, редактировать их внешними обработками, короче творить любую дичь с базой и конфой. Только имейте в виду, что всё записывается в этот долбанный блокчейн и другой программист обязательно наткнётся на Ваш программный код, на Ваши архитектурные решения. И вот тогда он выйдет на Вас...
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший