|
v7: использоватьсписокэлементов() Пустой Список | ☑ | ||
---|---|---|---|---|
0
CepeLLlka
27.08.13
✎
10:57
|
Не могу найти ошибку.. аналогичный код для Контрагентов работает..
Если НазваниеНабораПрав() = "Менеджер" Тогда СЗ = СоздатьОбъект("СписокЗначений"); Кнт = СоздатьОбъект("Справочник.РазрешенныеКонтрагенты"); Кнт.ИспользоватьВладельца(глПользователь); Кнт.ВыбратьЭлементы(); Пока Кнт.ПолучитьЭлемент() = 1 Цикл СЗ.ДобавитьЗначение(Кнт.ТекущийЭлемент().Контрагент.ЮрФизЛицо); КонецЦикла; ИспользоватьСписокЭлементов(СЗ); ИерархическийСписок(0, 0); Иначе ИерархическийСписок(1, 1); КонецЕсли; Список пустой.. не вопросительные знаки как в большинстве тем что я нагуглил.. а пустой.. Ёпрст.. где ты :( |
|||
1
CepeLLlka
27.08.13
✎
10:57
|
Это код процедуры - ПриОткрытии()
|
|||
2
CepeLLlka
27.08.13
✎
11:02
|
Денис.. вот смари.. в ПриОткрытии() формы списка справочника Контрагенты вот такой код и всё работает.
А аналогичный для СторонниеЮрЛица не работает :( Если НазваниеНабораПрав() = "Менеджер" Тогда СЗ = СоздатьОбъект("СписокЗначений"); Кнт = СоздатьОбъект("Справочник.РазрешенныеКонтрагенты"); Кнт.ИспользоватьВладельца(глПользователь); Кнт.ВыбратьЭлементы(); Пока Кнт.ПолучитьЭлемент() = 1 Цикл СЗ.ДобавитьЗначение(Кнт.ТекущийЭлемент().Контрагент); КонецЦикла; ИспользоватьСписокЭлементов(СЗ); ИерархическийСписок(0, 0); Иначе ИерархическийСписок(1, 1); КонецЕсли; |
|||
3
oslokot
27.08.13
✎
11:04
|
непонятно, в цикл чтоле не попадает?
|
|||
4
Ёпрст
27.08.13
✎
11:04
|
||||
5
CepeLLlka
27.08.13
✎
11:05
|
(3) В цикл попадает.. Проверяю через РазмерСписка() и СЗ.ПолучитьЗначение(1) всё там есть
|
|||
6
Rie
27.08.13
✎
11:06
|
(0) Так, на всякий случай - а в каком справочнике этот код используешь?
|
|||
7
Ёпрст
27.08.13
✎
11:07
|
Это всё в какой форме списка пишешь ?
У тебя в первом случае, в списке значений справочник одного вида, в другом - другово. Тебе нужно пихать ссылки именно того вида, который совпадает с видом формы открываемого справочника. |
|||
8
CepeLLlka
27.08.13
✎
11:07
|
(7) Я именно так и делаю.
|
|||
9
CepeLLlka
27.08.13
✎
11:08
|
(7) Пишу в форме списка справочников, в первом случае - ЮрЛица, во втором в Контрагенты.
|
|||
10
Ёпрст
27.08.13
✎
11:08
|
Кнт.Контрагент - это Справочник.Контрагенты
Кнт.Контрагент.ЮрФизЛицо - это либо ЮрЛица либо ФизЛица .. работать не будет, если всё это в форме списка клиентосов. |
|||
11
CepeLLlka
27.08.13
✎
11:09
|
(10) Второй вариант в форме списка справочника "ЮрЛица"
|
|||
12
Ёпрст
27.08.13
✎
11:11
|
ну проверь на то, что юрфизЛицо вообще есть и что оно, именно того вида.
|
|||
13
Ёпрст
27.08.13
✎
11:12
|
Если ПустоеЗначение(Кнт.Контрагент.ЮрФизЛицо) = 0 Тогда
Если Кнт.Контрагент.ЮрФизЛицо.Вид()= "ЮрЛица" Тогда СЗ.ДобавитьЗначение(Кнт.Контрагент.ЮрФизЛицо); КонецЕсли; КонецЕсли; |
|||
14
CepeLLlka
27.08.13
✎
11:19
|
(12)Так я в СЗ.ПолучитьЗначение(1) вижу что оно того вида то :( Я пробую на 1ом элементе справочника
|
|||
15
Rie
27.08.13
✎
11:22
|
(14) Попробуй на втором. На третьем. На тринадцатом...
Проверку на Вид()=... - разве сложно поставить? |
|||
16
CepeLLlka
27.08.13
✎
11:23
|
(13) Ок ок.. щас всё попробую как ты нарисовал
|
|||
17
Морозов Александр
27.08.13
✎
11:27
|
а енто... ЮрФизЛицо должен быть признаком (перечислением).... ну в нормальных конфах.
каким образом признак влияем на ИспользоватьСписокЭлементов, если ЮрФизЛицо обычно имеет всего два значения? |
|||
18
Ёпрст
27.08.13
✎
11:31
|
(12) у него тис/комплексная, там ЮрФизЛицо - тип <справочник> без вида, как правило, либо ЮлЛица либо ФизЛица..
|
|||
19
CepeLLlka
27.08.13
✎
11:32
|
||||
20
CepeLLlka
27.08.13
✎
11:50
|
(18) Всё равно не работает... никак.. что с (13), что без..
С (13) правильно конечно всё.. но не работает всё равно :( В сз есть записи :( |
|||
21
CepeLLlka
27.08.13
✎
11:51
|
(18) Попробуй у себя может где?
|
|||
22
пипец
27.08.13
✎
11:55
|
юрфизлицо реквизит неопределенного вида если мне память не изменяет
|
|||
23
Ёпрст
27.08.13
✎
11:57
|
(20) поправил на (13) и не работает ?
|
|||
24
CepeLLlka
27.08.13
✎
11:58
|
(22) Возможно кстати..
Может нужно новую выборку открывать из справочника ЮрЛица и искать по коду полученному? Но в Отладчике то я вижу что у меня ссылка именно справочника.. там же и код показан даже.. |
|||
25
CepeLLlka
27.08.13
✎
11:58
|
(23) Угу
|
|||
26
Ёпрст
27.08.13
✎
11:59
|
закрой отладчик, сохрани конфу и проверь..
+ turbomd, надеюсь не стоит ? |
|||
27
Ёпрст
27.08.13
✎
11:59
|
а то, может, не измененый модуль глядишь всегда.
|
|||
28
CepeLLlka
27.08.13
✎
11:59
|
(22) Да.. тип значения - Справочник.. из-за этого видимо.. буду второй выборкой ещё искать как писал выше..
(26) Нее.. не дорос до такого.. :) |
|||
29
Ёпрст
27.08.13
✎
11:59
|
ну или дай по тимке посмотреть
|
|||
30
Ёпрст
27.08.13
✎
12:00
|
не надо искать еще раз.
|
|||
31
Ёпрст
27.08.13
✎
12:01
|
ради извращения, так можешь еще:
Если ПустоеЗначение(Кнт.Контрагент.ЮрФизЛицо) = 0 Тогда Если Кнт.Контрагент.ЮрФизЛицо.Вид()= "ЮрЛица" Тогда СЗ.ДобавитьЗначение(Кнт.Контрагент.ЮрФизЛицо.ТекущийЭлемент()); КонецЕсли; КонецЕсли; хотя, это лишнее |
|||
32
Ёпрст
27.08.13
✎
12:02
|
+ смотри в ПриОткрытии, у тя там отбора не стоит в этом справочнике еще при этом ?
|
|||
33
mishaPH
модератор
27.08.13
✎
12:16
|
юрлицо элемент на контрагенте разве не периодический?
|
|||
34
пипец
27.08.13
✎
12:21
|
(33) Оо :))))) чо курил ?
ЗЫ теперь я знаю кто в типовых на "пол" - поставил справочник ;))) |
|||
35
mishaPH
модератор
27.08.13
✎
12:25
|
(34) а что не так. контрагент может остатся "василек". а юрлицо у него меняться.
|
|||
36
mishaPH
модератор
27.08.13
✎
12:26
|
именно по этому в (0) и пустой список. там добавлять нечего. Попытка получить без даты периодический реквизит дает как раз пустоту
|
|||
37
mishaPH
модератор
27.08.13
✎
12:27
|
(22) кстати да. посмотрел у себя в торговле. он не периодический но неопределенный. точнее тупо справочник. Но не факт что у автора так
|
|||
38
CepeLLlka
27.08.13
✎
12:49
|
Ходил кушать..
(37) Если я тебя понял.. то у меня именно так.. об этом говорю в (28) |
|||
39
CepeLLlka
27.08.13
✎
13:00
|
Да, в (28) я был прав..
Вот это работает.. очень тяжко всё это по сравнению с 8.х :) Если НазваниеНабораПрав() = "Менеджер" Тогда СЗ = СоздатьОбъект("СписокЗначений"); Кнт = СоздатьОбъект("Справочник.РазрешенныеКонтрагенты"); ЮЛ = СоздатьОбъект("Справочник.ЮрЛица"); Кнт.ИспользоватьВладельца(глПользователь); Кнт.ВыбратьЭлементы(); Пока Кнт.ПолучитьЭлемент() = 1 Цикл Контрагент = Кнт.ТекущийЭлемент().Контрагент; Если ПустоеЗначение(Контрагент.ЮрФизЛицо) = 0 Тогда Если Контрагент.ЮрФизЛицо.Вид() = "ЮрЛица" Тогда Если ЮЛ.НайтиПоКоду(Контрагент.ЮрФизЛицо.Код) = 1 Тогда СЗ.ДобавитьЗначение(ЮЛ.ТекущийЭлемент()); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ИспользоватьСписокЭлементов(СЗ); ИерархическийСписок(0, 0); Иначе ИерархическийСписок(1, 1); КонецЕсли; |
|||
40
mishaPH
модератор
27.08.13
✎
13:05
|
(39) (38) да. вспоминается такой глючек с объектами если реквизит не определен.
|
|||
41
CepeLLlka
27.08.13
✎
13:12
|
Забыл кое-что кстати..
Огромное всем спасибо за участие! Очень рад что вы есть.. что вы отзывчивые такие.. С П А С И Б О ! |
|||
42
Ёпрст
27.08.13
✎
13:55
|
(39) изврат какой, тогда уж, найтиЭлемент, а не НайтиПоКоду
и.. для начала, как в (31). |
|||
43
cincout
27.08.13
✎
14:16
|
(34) пол - тоже периодический?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |