|
Как связать документы разных типов без изменения конфигурации? | ☑ | ||
---|---|---|---|---|
0
slafor
22.07.20
✎
12:11
|
1С БП 3.0.
Необходимо на основании документов Реализация товаров и услуг автоматически создавать документы Перемещение товаров. В типовой БП между ними связи нет никакой, а менять конфигурацию нельзя - все нужно сделать с помощью внешней обработки. В то же время надо, чтобы впоследствии можно было выяснить, есть ли Перемещение на основании Реализации. И лучше выяснить это с помощью запроса. Сначала я попробовал создавать Перемещения с особым префиксом номера + префикс реализации + последние цифры номера реализации, и устанавливал связь по номеру документа: ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка, РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Цена, РеализацияТоваровУслугТовары.Сумма, ПеремещениеТоваров.Ссылка КАК Перемещение ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров ПО (РеализацияТоваровУслугТовары.Ссылка.Номер = &ПрефиксПеремещения + ПОДСТРОКА(ПеремещениеТоваров.Номер, 1, 5) + ПОДСТРОКА(ПеремещениеТоваров.Номер, 9, 3)) Но мне не удалось добиться полной уникальности кодов новых документов перемещения при их создании (строка создания нового номера: Перемещение.Номер = "ПР-" + Сред(Реализация.Номер, 1, 5) + Сред(Реализация.Номер, 9, 3); выдавала уже существующий код. Менять длину кода (11 символов) я тоже не могу, потому что нельзя менять типовую конфигурацию. Есть идея воспользоваться УникальнымИдентификатором, но я прочитал, что его нельзя использовать в запросе. Можно самому создавать свой идентификатор, скажем, НомерРеализации + ДатаРеализации, сувать его в Перемещение в конец Комментария (в начало нежелательно - там уже есть свое начало), но тут другая проблема - поскольку комментарий - это поле неограниченной длины, в запросе для использования в соединениях таблиц я могу использовать его только в выражении ВЫРАЗИТЬ(Комментарий КАК СТРОКА(КоличествоСимволов)), а мне нужно будет получить именно последние символы, но как узнать длину строки неограниченной длины? Сделать это нужно только в запросе, при создании нового перемещения я просто-напросто добавлю мой идентификатор к уже имеющемуся комментарию. |
|||
1
polosov
22.07.20
✎
12:12
|
(0) Расширение не хочешь?
|
|||
2
slafor
22.07.20
✎
12:13
|
(1) Нежелательно.
|
|||
3
Strogg
22.07.20
✎
12:14
|
Есть же механизм допрекаизитов. Чем он не подходит?
|
|||
4
slafor
22.07.20
✎
12:41
|
(3) Идея хорошая, для многих вещей подойдет, жаль, что раньше не пользовался...
Но для моей задачи - не подходит. В тип значения характеристик ПВХ ДополнительныеРеквизитыИСведения документ РеализацияТоваровУслуг не входит. Да и вообще документы туда не входят, только справочники. А менять типовую нельзя. |
|||
5
Garykom
гуру
22.07.20
✎
13:01
|
(3) Дополнительные сведения только у документов
|
|||
6
Garykom
гуру
22.07.20
✎
13:01
|
(4) Строковое дополнительное сведение у перемещения и туда пиши уид реализации
|
|||
7
slafor
22.07.20
✎
14:52
|
(6)
Да, там все так "перевывернуто"... То есть моя задача - это при создании перемещения на основании реализации создать запись в регистре сведений ДополнительныеСведения, где объектом будет Перемещение, значением - УИД Реализации (кстати, а нельзя ли писать не строковый УИД, а прямую ссылку на Реализацию?), а вот что будет Свойством?.. |
|||
8
slafor
22.07.20
✎
15:53
|
Даже так, тогда бы я поставил вопрос по-другому.
Можно ли средствами стандартной типовой БП 3.0 решить вопрос так, чтобы, не меняя конфигурации, связать ссылки двух документов разных видов, если это не предусмотрено специальными реквизитами? |
|||
9
DJ Anthon
22.07.20
✎
16:00
|
но в допреквизиты можно засунуть номер документа и дату, не?
|
|||
10
RomanYS
22.07.20
✎
16:02
|
(8) Если эта связь будет писаться и читаться кодом (например внешними обработками), то решение предложено в (6).
|
|||
11
slafor
22.07.20
✎
16:04
|
(9) В принципе, ничего не мешает.
(10) Тут проблема с обращением к УИД из запроса. Просто было бы приколько, если был бы РС где Измерение - ДокументСсылка, и Значение - ДокументСсылка )) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |