Имя: Пароль:
1C
1С v8
Пересечение имён
0 FOI1977
 
19.12.13
12:35
Здравствуйте коллеги. Сразу кажу что проблему решил, но не понял отчего она возникла. Может подскажите.

Обычное приложение, УТ-шка.
Есть поле выбора с именем СписокПринтеров, на форме есть реквизит СписокЗначений СписокПринтеров.
Вот как они могли пересечься?

ЭлементыФормы.СписокПринтеров.Значение = "ля-ля-ля" // упорно не работает

Преименовал ПолеВыбора в ПолеВыбораСписокПринтеров и присваивание заработало.
Объясните, пожалуйста.
1 FOI1977
 
19.12.13
12:38
Учитывая то, что ПолеВыбора Список принтеров был многократно просмотрен в отладчике, и то что показывал отладчик ну ни разу не напоминало СписокЗначений!
2 Адский плющ
 
19.12.13
12:38
Я ничего не понял.
3 Адский плющ
 
19.12.13
12:39
Это русский?
4 FOI1977
 
19.12.13
12:40
(3) переформулировать?
5 Адский плющ
 
19.12.13
12:42
Ну сначала стоит определиться как не путать типы, названия переменных и обычные слова.
6 FOI1977
 
19.12.13
12:44
На форме есть элемент управления ПолеВыбора, он называется СписокПринтеров

У формы есть реквизит - СписокЗначений с тем же именем СписокПринтеров

ЭлементыФормы.СписокПринтеров.Значение - тип Неопределено
При присваивании:
ЭлементыФормы.СписокПринтеров.Значение = <имя принтера>, где <Имя принтера> строка, ЭлементыФормы.СписокПринтеров.Значение - никак не изменяется.

Если переименовать ПолеВвода СписокПринтеров в ПолеВводаСписокПринтеров, то присваивание начинает работать.

Адский плющ, так понятнее?
7 Адский плющ
 
19.12.13
12:49
А ты когда элемент формы заводишь, не видишь что он создает одноименный реквизит? Нахрена вообще через элемент формы к значению обращаться? Это наркомания.
8 Ёпрст
 
19.12.13
12:53
На вот, занимайся
http://rusfolder.com/39227330
9 FOI1977
 
19.12.13
12:54
(7) попробуй воспроизведи описанную тобой свою ошибку. При создании элемента управления с именем таким же как и у реквизита формы конфигуратор создаёт элемент управления с именем типа "ПолеВыбора1".
10 FOI1977
 
19.12.13
12:55
(8) Спасибо, а что там?
11 FOI1977
 
19.12.13
12:58
(8) а у меня ещё в настройках пользователя сохраняет последний принтер. жаль что это форма документа Заказпокупателя, а то бы то же кинулся. Но попробую в обработку переделать.
12 Адский плющ
 
19.12.13
12:58
(9) Описанную мной мою ошибку? При создании элемента с именем..., конфигуратор создает элемент с именем...

Сорри. Не могу понять.
13 Ёпрст
 
19.12.13
12:58
(10) пример с принтёрами.
14 Ёпрст
 
19.12.13
12:59
(11) ну дык сохраняй имя принтера.. делов то.
Потом при восстановлении настроек - ищи это имя в списке.. делай активным его.
15 Ёпрст
 
19.12.13
13:00
да и разницы никакой, что это за форма..
16 FOI1977
 
19.12.13
13:02
(13) http://yadi.sk/d/gcnKg38rEZy2e Вот моя. Но она создаёт автоматом реализацию, не только печатает.
17 FOI1977
 
19.12.13
13:03
(15) но мне всё же не понятно отчего имена пересеклись. Согласись имя элемента управления, и имя реквизита формы одинаково названные не должны пересекаться...
18 Ёпрст
 
19.12.13
13:10
(17)мне лень смотреть, че там у тебя, если честно..
я тебе дал залипуху на получение списка принтёров и принтёра по-умолчанию в системе.. бери, да пользуйся
19 FOI1977
 
19.12.13
13:13
(18) спасибо, да я её сам написал, вся проблема была с выводом имени принтера в ПолеВыбора, и ту решил, смотри (0), мне не понятно было да и сейчас неясно как имена пересеклись.
20 FOI1977
 
19.12.13
13:14
Кстати получение имён принтеров и ещё куча всего от элементарщины до работы с ВК и пр есть на http://help1c.com интерфейсик там не ахти, но сайт дельный.
21 Ёпрст
 
19.12.13
13:20
(20) жалкий плагиат идей с мисты и проклаба..
22 Ёпрст
 
19.12.13
13:21
и с кубани
23 FOI1977
 
19.12.13
13:27
(22) зато всё в одном месте.