Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Хранить ссылки на заполненные на основании документы

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

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

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

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


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

Для того чтобы знать для каких Д1 есть Д2, в Д2 хранят ссылку на Д1, обычно это реквизит ДокументОснование
   osa1C
 
14 - 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) А я узнаю...
А теперь подумай, в чём между нами разница ))
   osa1C
 
17 - 11.10.21 - 11:40
(15) Воооть оно как .... ДокументОснование это не пользовательский реквизит!!! Документы создаются либо сами, либо на основании других документов. Причем на основании одного документа Д1 могут быть созданы документы Д2, Д3, Д4 ... и т.д. и все разных видов
   osa1C
 
18 - 11.10.21 - 11:41
(15) позови программиста
   exwill
 
19 - 11.10.21 - 11:50
(15) Можно ведь у системы спросить "а нет ли Д2 для этого документа". Она ответит. Быстро
   Bigbro
 
20 - 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, сосредоточиться и научиться пользоваться запросами, консолью запросов и прочему благами цивилизации.
   Dmitrii
 
25 - 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) Подскажи)
   acanta
 
27 - 11.10.21 - 12:24
В 8 нет общего журнала документов и соответственно журнала подчиненных тоже нет. Все логично.
   Bigbro
 
28 - 11.10.21 - 12:26
(22) быстрее выполнить запрос с условием.
вы что собрались реально базу лопатить переборами?
   exwill
 
29 - 11.10.21 - 12:31
(21) Почему?
   СемёнКим
 
30 - 11.10.21 - 12:31
(28) я это понимаю, что запросы быстрее. Но запросы применяются к результату сбора информации, а я хотел найти метод сохранения ссылки документа на ходу.  
```вы что собрались реально базу лопатить переборами?``` Я собирался сделать с табл. частью, как описано в (25) , но после понял, что тоже будет долго.
 
 
   СемёнКим
 
31 - 11.10.21 - 12:33
(25) Я конечно всегда благодарен умным людям за советы)
   Bigbro
 
32 - 11.10.21 - 12:57
(30) велосипед с квадратными колесами тоже может ехать. но лишь по специальной поверхности. вам оно надо?
оставьте в покое типовой механизм, как получить документы-основания без заполненных на их основании документов вам написали.
делаете запрос по всем Д2.ДокОснование - получаете список Д1
делаете запрос по всем Д1 которые не в списке.
все.
2 простейших быстрых запроса к базе, и не нужно костылей.
   George Wheels
 
33 - 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, спасибо за обсуждение.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.