Отображение док-ов в Embedded View

San40S

Well-known member
15.04.2009
69
0
#1
Всем доброго времени суток!
Есть форма (карточка сотрудника), на ней Embedded View, которая отображает документы людей.
У каждого человека есть свой номер, например:
Иванов - "1"
Петров - "2"
Сидоров - "3"
...
Казявкин - "22"
...
Бородавкин - "33"

Когда создается какой-то документ, в него записывается номер человека, который создает этот документ.
Есть отдельная создана, категоризированная по номерам, вьюха с документами, которая юзается для встроенной вьюхи.
Открываю карточку Петрова (его номер "2"), если у него есть документы (с тем же номером "2"), то встроенная вьюха показывает эти документы, если же документов Петрова (с номером "2") - нету, то встроенная вьюха показывает почему-то документы Казявкина (его номер "22").
Тоесть, насколько я понял, встроенная вьюха смотрит, если есть документы с номером "2", то отображать их, если же нету конкретно с номером "2", то отоборажу-ка я документы с номером "22".
А МНЕ ТАК НЕ НАДО! Мне нужно, чтобы если у Петрова нету документов, то не отображать документы Казявкина!!!

Кто подскажет что за штука и как ее обойти.

Спасибо!
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Было такое, пришлось добавлять длину к полю. Типа, 2~1, 22~2. Не знаю из-за чего это.
Может пересоздать представление?
 

San40S

Well-known member
15.04.2009
69
0
#5
Было такое, пришлось добавлять длину к полю. Типа, 2~1, 22~2. Не знаю из-за чего это.
Может пересоздать представление?
Не совсем понял Вас :)
Можете подробней написать?!

З.Ы. Пересоздать представление - не помогает :)
 

Omh

Lotus team
04.07.2007
2 210
1
#6
Похоже, как буд-то юзаются PartialMatches.
Насколько я знаю, так быть не должно.

Надо бы расчехлить бубен.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#7
San40S
В столбце к значению поля добавь его длину. Т.е. формула @Text(Номер сотрудника) + "~" + @Length(@Text(Номер сотрудника)). И соответственно в Show single category.
Но мне такое решение не нравится. Нужно исправить причину. Пересоздание представления не помогает?
 

San40S

Well-known member
15.04.2009
69
0
#9
сделал так @Right( "00000" + <поле>; 6 )
Пасиб, все воркинг :)


В столбце к значению поля добавь его длину. Т.е. формула @Text(Номер сотрудника) + "~" + @Length(@Text(Номер сотрудника)). И соответственно в Show single category.
Но мне такое решение не нравится. Нужно исправить причину. Пересоздание представления не помогает?
Сделал так как NickProstoNick подсказал и все заработало, но и тебе пасиб за идеи! :)
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#10
San40S
Тебе спасибо :)
Только после твоей темы задумался как у меня работает. Оказалось та же проблема :)
 

San40S

Well-known member
15.04.2009
69
0
#11
San40S
Тебе спасибо :)
Только после твоей темы задумался как у меня работает. Оказалось та же проблема :)
А бывает иногда такое, что кому-то подскажешь... потом смотришь у себя, а там такая же трабла, которую сам и не замечал раньше :))
 

TIA

:-)
Lotus team
15.05.2009
790
3
#12
Single category работает по такому же принципу, как GetAllDocumentsByKey(key,FALSE). Т.е. ищет значения, начинающиеся с заданного ключа. Для решения проблемы надо обеспечить, чтобы ключ был началом только одной категории. Потому к предложенным вариантам можно добавить такой: прибавить к значению колонки какой-нибудь не используемый символ и к ключу single category добавить его же.
 

Omh

Lotus team
04.07.2007
2 210
1
#13
TIA
А это документировано?
Сейчас посмотрел по хелпу, там только про "*" написано, а про партиал матчес - молчёк.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#14
В документации я такого не встречал. Но утверждение не плохо подтверждается практикой. Только надо ещё уточнить, что в обоих случаях берутся не все значения, начинающиеся с ключа, а только имеющие значение равное первому найденному по частичному ключу.

Например, если имеются категории "cat1","cat12", "catA", то по ключу "cat" отобразится категория "cat1", как первая найденная.
 

San40S

Well-known member
15.04.2009
69
0
#16
В документации я такого не встречал. Но утверждение не плохо подтверждается практикой. Только надо ещё уточнить, что в обоих случаях берутся не все значения, начинающиеся с ключа, а только имеющие значение равное первому найденному по частичному ключу.

Например, если имеются категории "cat1","cat12", "catA", то по ключу "cat" отобразится категория "cat1", как первая найденная.
Абсолютно верно, но еще такое...
если, в качестве ключа, указать "cat12", но самой категории "cat12" - не будет, то отобразятся документы из категории "cat1". В этом и была моя проблема, но к счастью решилась :)
 

TIA

:-)
Lotus team
15.05.2009
790
3
#17
если, в качестве ключа, указать "cat12", но самой категории "cat12" - не будет, то отобразятся документы из категории "cat1"
Проверил по данному сценарию. Получилась пустая категория. Т.е. документы из категории "cat1" НЕ отобразились.
 

Kee_Keekkenen

Well-known member
05.09.2006
639
4
#18
м-да, береженого бог бережет.. никогда не сталкивался с таким..всегда стараюсь создавать уникальные ключи, поэтому видимо и пронесло :)