|
v7: Неопределенный тип справочника | ☑ | ||
---|---|---|---|---|
0
BLP
05.11.12
✎
00:42
|
Есть...
Документ... внутри документа есть поле типа справочник. Раньше это был определенный вид... Но понадобилось, чтобы выбор делался не из одного какого-то справочника, а из двух. (так надо)... Выставил вид справочника - неопределенный. Проблема: Но... теперь при щелчке на кнопке выбора справочника выдаются ВСЕ имеющиеся, а их оч.много (у меня)... Вопрос: Что нужно сделать, чтобы показывались для выбора только 2 вида справочников? |
|||
1
Voronve
05.11.12
✎
00:44
|
.НеИзменятьВид и через список значений эмулировать выбор
|
|||
2
welwel
05.11.12
✎
00:46
|
ВидыДляВыбора(<?>)
Синтаксис: ВидыДляВыбора(<СписокВидов>) Назначение: Установка выбираемых видов для справочника неопределенного вида. |
|||
3
BLP
05.11.12
✎
00:47
|
а подробнее можно? пожалуйста...
|
|||
4
BLP
05.11.12
✎
00:49
|
не понял, что на кнопке выбора писать... и что в модуле
|
|||
5
welwel
05.11.12
✎
00:49
|
(2)+
Метод можно использовать только для объектов-справочников неопределенного вида, созданных функцией СоздатьОбъект, либо определенных в конфигураторе как реквизит диалога или реквизит другого объекта. см. СП, ЖКК |
|||
6
Voronve
05.11.12
✎
00:50
|
(2) Не пойдеть - у него не создается справочник через СОздатьОбъект, а является элементом диалога.
(3) Синтаксис-помошник продать ? А так же учу искать в типовой ТиС по всем модулям. Дорого. |
|||
7
welwel
05.11.12
✎
00:51
|
(6)
-> (5) |
|||
8
Voronve
05.11.12
✎
00:53
|
хммм )
|
|||
9
Отладчик
05.11.12
✎
00:55
|
Назначить вид реквизиту не предлагать? Я прошу прощения - в 1с слаб, ибо не разбирался, но в данном случае мне кажется что где то я прав...
|
|||
10
Отладчик
05.11.12
✎
00:57
|
Там еще подчиненность есть. Хозяин, владелец, родичи... В ГБ формируется список справочников. А если совсем ступил - то движок тебе все нарисует.
|
|||
11
Voronve
05.11.12
✎
00:59
|
молодец ;)
|
|||
12
1Сергей
05.11.12
✎
06:51
|
(9) не в теме.
Правильный ответ в (2). Только, если реквизит в табличной части, то это надо делать в двух процедурах ПриВводеНовойСтроки и ПриНачалеРедактирования строки. За точность не ручаюсь |
|||
13
Тьма
05.11.12
✎
10:07
|
Из украинской типовой БУ
Реквизит табличной части в УстДоступность() // ТМЦ.ВидыДляВыбора("ТМЦ,НеоборотныеАктивы"); // реквизит шапки просто в основном модуле формы ДокументОснование.ВидыДляВыбора("Перемещение, ПриходнаяНакладная"); |
|||
14
BLP
05.11.12
✎
10:28
|
Спасибо, 1Сергей и Voronve (Вам не за все, конечно, посты ;-)) )
Нет, у меня этот реквизит НЕ в табличной части... а внизу, где кнопки разные... )) А я так и не понял, что или как записать в поле Функции у этого реквизита... И где писать НЕИзменятьВид? Ну, честно, всю ночь гуглил, пытался разные варианты из предложенного выше... но не получилось... запутался совсем... Надо очень! P.S. К данному сабжу не относится... А как Вы делаете ссылку в начале поста на другой, т.е. то, что в скобках (9) (5) и т.д. ? )) |
|||
15
BLP
05.11.12
✎
10:35
|
Упс! Вижу, что у меня получилась ссылка на посты... Я думал, что надо где-то кликнуть... А получается, вручную вводить номер поста в скобках... Ну, хоть это стало понятным ))
|
|||
16
ТакВотЖе
05.11.12
✎
10:35
|
(14) Россия?
|
|||
17
ТакВотЖе
05.11.12
✎
10:38
|
Если Россия, то смотри в типовой бухгалтерии документ СчетФактура, процедура ПриНачалеВыбораЗначения.
|
|||
18
viktor_vv
05.11.12
✎
10:38
|
(14) Да не в поле Функции.
Напиши в ПриОткрытии() ИдентификаторТвоегоРеквизита.ВидыДляВыбора("ВидСправочника1, ВидСправочника2"); |
|||
19
BLP
05.11.12
✎
10:43
|
(16) Да, но конфа не бухгалтерская )))
(18) СПА-СИ-БО! Вот это да! Проще НЕ бывает! |
|||
20
BLP
09.11.12
✎
15:07
|
С вышеописанным все нормально, работает... но понадобилась необходимость немного изменить условия...
Все, что выше - касается случая, если реквизит с Неопределнным справочником установлен в теле документа... Теперь мне нужна другая форма, которая во внешней обработке. Есть кнопка с вызовом процедуры Процедура блаблабла() ВыбЗнач=СоздатьОбъект("Справочник"); // Указываю справочники, котороые будут предложены для выбора ВыбЗнач.ВидыДляВыбора("АА, ББ"); Если ВыбЗнач.Вид()="АА" Тогда Адрес=ВыбЗнач.ТекущийЭлемент().АдрФ; Иначе Адрес=ВыбЗнач.ТекущийЭлемент().АдрEN; КонецЕсли; КонецПроцедуры Проблема в том, что "ЕСЛИ" не работает, т.е. всегда , какой бы ни был выбран справочник, выдается значение со справочника "ББ" В чем проблема? Что не так делаю? |
|||
21
1Сергей
09.11.12
✎
15:10
|
(20) Сначала выбор надо произвести
|
|||
22
BLP
09.11.12
✎
19:47
|
((( Ну,Ю не получается... Где именно нужно...
Уже по-всякому перепробовал, все время какие-то ошибки выскакивают, импа этих... Короче... запутался, а оч. надо (( ВыбЗнач.Выбрать(); {C:\USERS\ADMIN\11111\EXTFORMS\1C-MAIL-ENTRYFORM.ERT(627)}: Недостаточное число параметров передано при вызове функции/процедуры объекта ВыбЗнач.ВыбратьЭлементы(); {C:\USERS\ADMIN\11111\EXTFORMS\1C-MAIL-ENTRYFORM.ERT(627)}: Не задан вид. Если ВыбЗнач.ВыбратьЭлементы.Вид()="Справочник.CatBreeders" Тогда {C:\USERS\ADMIN\1111\EXTFORMS\1C-MAIL-ENTRYFORM.ERT(631)}: Поле агрегатного объекта не обнаружено (ВыбратьЭлементы) |
|||
23
welwel
09.11.12
✎
19:50
|
(20) ВыбЗнач нужно сначала спозиционировать
Например, если нужно, чтоб это сделал пользователь, методом Выбрать() |
|||
24
welwel
09.11.12
✎
19:53
|
+(20) см. СП, ЖКК
|
|||
25
BLP
09.11.12
✎
22:04
|
Не понимаю...
Дело еще в том, что это не поле-реквизит диалога со Справочником... А просто кнопка... с указанной на ней процедурой, которая и должна открыть окно с выбором справочников.... что и получается у меня... т.е. открывается окно, вс котором указаны для выбора 2 нужных мне справочника... Так надо... А вот как дальше? (возможно я как-то не понятно объясняю... запутался сам) |
|||
26
welwel
09.11.12
✎
22:20
|
(25)
ВыбЗнач=СоздатьОбъект("Справочник"); // Указываю справочники, котороые будут предложены для выбора ВыбЗнач.ВидыДляВыбора("АА, ББ"); Если ВыбЗнач.Выбрать("Выберите блаблабла","ФормаСписка") = 0 Тогда Возврат; КонецЕсли; и далее по тексту |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |