Имя: Пароль:
1C
1С v8
Хранить ссылки на заполненные на основании документы
0 СемёнКим
 
11.10.21
11:16
Всем привет. 1С:8.3 Обычное Приложение.

Один документ Д1 является основанием заполнения для другого документа Д2. Д2 заполняется из Д1 стандартными шагами, т.е. в Д1 нажимаем на Действия -> На основании -> Д2.
Вопрос: Как хранить ссылку на документ Д2 в момент его заполнения?
1 ДенисЧ
 
11.10.21
11:17
есть же реквизит ДокументОснование...
2 George Wheels
 
11.10.21
11:18
В момент заполнения никак.
3 Мультук
 
гуру
11.10.21
11:23
(0)

Все вкусное в момент заполнения в "ДанныеЗаполнения"

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)


КонецПроцедуры
4 exwill
 
11.10.21
11:24
(0) Хранить или сохранить?
5 ptiz
 
11.10.21
11:25
(0) Зачем?
6 СемёнКим
 
11.10.21
11:25
(3) это на стороне документа Д2, как я понял. Но мне нужно в документе Д1 хранить все ссылки на заполненные/созданные им документы Д2.
7 osa1C
 
11.10.21
11:27
(5) явно хочет на основании не записанного документа Д2 делать движения по регистрам или заполнять документы Д3,4-....n
8 exwill
 
11.10.21
11:27
УстановитьСсылкуНового()
9 СемёнКим
 
11.10.21
11:27
(5) есть готовые проводки в Д2. Чтобы не писать проводку для Д1. На основании Д1 создаю Д2. И чтобы знать для каких документов Д1 уже есть Д2,  нужно хранить ссылки на Д2 в Д1.
10 Ёпрст
 
11.10.21
11:28
(6) если очень надо, то установить ссылку нового в помощь
11 osa1C
 
11.10.21
11:28
(6) позови программиста, а сам не лезь в то чего не знаешь. Так проще всего
12 СемёнКим
 
11.10.21
11:28
(1) пока не могу найти инфу про это
13 Мультук
 
гуру
11.10.21
11:30
(6)

Для того чтобы знать для каких Д1 есть Д2, в Д2 хранят ссылку на Д1, обычно это реквизит ДокументОснование
14 osa1C
 
11.10.21
11:30
(12) а сам куда полез? инфу про ДокументОснование в СП найти не может)))
15 СемёнКим
 
11.10.21
11:36
(13) Реквизит ДокументОснование пользовательский реквизит? я думал стандартный. Я создал реквизит ДокументД1 в Д2 и туда записываю ссылку Д1. Но так я могу узнать для каких Д1 есть Д2 только со стороны Д2. Но, например, если я бегаю по списку документов Д1, то там я не узнаю, что для этого документа уже есть Д2.
16 ДенисЧ
 
11.10.21
11:37
(15) А я узнаю...
А теперь подумай, в чём между нами разница ))
17 osa1C
 
11.10.21
11:40
(15) Воооть оно как .... ДокументОснование это не пользовательский реквизит!!! Документы создаются либо сами, либо на основании других документов. Причем на основании одного документа Д1 могут быть созданы документы Д2, Д3, Д4 ... и т.д. и все разных видов
18 osa1C
 
11.10.21
11:41
(15) позови программиста
19 exwill
 
11.10.21
11:50
(15) Можно ведь у системы спросить "а нет ли Д2 для этого документа". Она ответит. Быстро
20 Bigbro
 
11.10.21
12:02
(15) какая по сути разница бегать по списку Д1 в поисках Д2 или по списку Д2 и видеть документы-основания Д1?
21 СемёнКим
 
11.10.21
12:09
(19) Если Вы имеете в виду запросы, то это последнее что буду делать.
22 СемёнКим
 
11.10.21
12:12
(20) Есть 1К документов Д2, половина имеет документ Д2. Осталось 500 доков Д1 для которых нужно создать Д2. С одной стороны, открываю все(500 шт) Д2 сохраняю куда то наименования Д1. Далее, создаю Д2 для Д1, которых нет в собранном списке. Или открываю Д1 и сразу вижу, что для него на такую то дату нет дока Д2 и создаю его. Что быстрее?
23 СемёнКим
 
11.10.21
12:13
""Есть 1К документов Д2, половина"" опечатка "Есть 1К документов Д1, половина..." (22)
24 Мультук
 
гуру
11.10.21
12:18
(23)

Семен, вы уже решите, либо вы сам умный, тогда зачем здесь эта тема?
Либо, послушайте совета, посмотрите как сделано "на основании" в типовых конфигурациях.


P.S.
Нужно забыть про 7.7, сосредоточиться и научиться пользоваться запросами, консолью запросов и прочему благами цивилизации.
25 Dmitrii
 
гуру
11.10.21
12:20
(0) Идея - г*вно. извиняюсь за мой французский.

Документ Д2 может быть заполнен на основании только одного единственного Документа-основания Д1.
Но на основании одного документа-основания Д1 можно создать сколько угодно много документов Д2. Кнопочку "Создать на основании" пользователь может нажимать сколько угодно раз.

Поэтому в обычных ситуациях в документе Д2 делают реквизит - ссылку на документ-основание Д1.

Если пытаться делать в Документе-основании Д1 ссылку на заполненные на его основании документы Д2, мы сталкиваемся сразу с двумя проблемами. Первая - придётся лепить табличную часть. Вторая - каждый раз, заполняя новый документ Д2 на основании документа Д1, нам придётся модифицировать и перезаписывать документ-основание Д1, чтобы добавить в табличную часть новую строчку с очередным Д2, заполненным на основании.

(21) Конечно всегда проще наговнокодить свой велосипед, чем послушать, что умные люди говорят. 👍
26 СемёнКим
 
11.10.21
12:21
(16) Подскажи)
27 acanta
 
11.10.21
12:24
В 8 нет общего журнала документов и соответственно журнала подчиненных тоже нет. Все логично.
28 Bigbro
 
11.10.21
12:26
(22) быстрее выполнить запрос с условием.
вы что собрались реально базу лопатить переборами?
29 exwill
 
11.10.21
12:31
(21) Почему?
30 СемёнКим
 
11.10.21
12:31
(28) я это понимаю, что запросы быстрее. Но запросы применяются к результату сбора информации, а я хотел найти метод сохранения ссылки документа на ходу.  
```вы что собрались реально базу лопатить переборами?``` Я собирался сделать с табл. частью, как описано в (25) , но после понял, что тоже будет долго.
31 СемёнКим
 
11.10.21
12:33
(25) Я конечно всегда благодарен умным людям за советы)
32 Bigbro
 
11.10.21
12:57
(30) велосипед с квадратными колесами тоже может ехать. но лишь по специальной поверхности. вам оно надо?
оставьте в покое типовой механизм, как получить документы-основания без заполненных на их основании документов вам написали.
делаете запрос по всем Д2.ДокОснование - получаете список Д1
делаете запрос по всем Д1 которые не в списке.
все.
2 простейших быстрых запроса к базе, и не нужно костылей.
33 George Wheels
 
11.10.21
13:04
(30) Оно тебе надо перепроводить документ Д1?
34 Злопчинский
 
11.10.21
13:09
(13) это катит если два документа - разные эатпы/стадии/шаги процесса. когда Д2 по сути есть подмножество или состав Д1 - это как-то в консерватории имхо криво. хотя и можно. но придется в Д2 делать кучу ограничений чтобы не допускать "бесхозных" Д2. а в Д1 - делать кучу движений по поддержке связи Д1-Д2. Короче, "неаккуратненько как-то"
35 Злопчинский
 
11.10.21
13:10
(15) "Реквизит ДокументОснование пользовательский реквизит? я думал стандартный. "
имхо плохо думал. несильно. не напрягаясь. один "ДокументОснование" - частный случай "много". Вопрос: почему один а не много сделано типа "стандартно"...
36 СемёнКим
 
11.10.21
13:13
ДенисЧ, George Wheels, Мультук, exwill, Ёпрст, Bigbro, Dmitrii, спасибо за обсуждение.