Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 06:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Список выбора  (Прочитано 8715 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн omahi

  • *
  • Сообщений: 19
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-17
  • Сайт: 
  • Профессия: Бухгалтер
Всем привет!

Имею УТ 10.3, неуправляемая форма. На форме имеется Поле выбора, программно добавляю в него возможные значения. Подскажите, пожалуйста, способ ПриОткрытии формы установить для этого поля определенное значение из списка.

Пробовал по-разному. Вот завершающая на сегодня попытка:
 
Для Каждого Элемент Из СписокЭлементов Цикл
     Если МояФункция() Тогда
          ЭлементыФормы.МоеПолеВыбора.ВыделенныйТекст = Элемент.Значение;
     КонецЕсли;
КонецЦикла;

Итог: Отражается значение в Поле выбора формы и только.
Форма ведет себя так как-будто Поле выбора пустое, пока не перевыберешь значение из списка интерактивно.


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Список выбора
« Ответ #1: 26 Окт 2014, 15:52 »
Форма ведет себя так как-будто Поле выбора пустое, пока не перевыберешь значение из списка интерактивно.

переведите
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Re: Список выбора
« Ответ #2: 27 Окт 2014, 05:28 »
Если программно добавляете, то может попробовать так:
В процедуре "ПриЗакрытии" прописать - СохранитьЗначение("ПолеВыбора", ЭлементыФормы.ПолеВыбора.Значение);
А потом в процедуре "ПриОткрытии" - ПолеВыбора = ВосстановитьЗначение("ПолеВыбора").
Немного не ясна задача. Вы хотите программно добавить значения в список выбора, а потом при открытии указывать их заполнение? В таком случае список придётся где-то сохранять.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн omahi

  • *
  • Сообщений: 19
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-17
  • Сайт: 
  • Профессия: Бухгалтер
Re: Список выбора
« Ответ #3: 28 Окт 2014, 01:58 »
Согласен, немного неясно выразил мысли. В 2 часа ночи, когда я создавал тему, в голове было очень туманно.
Немного поясню. Передо мной стоят задачи:
 
1). программно наполнить список выбора на форме Обработки значениями, перечень которых устанавливался бы ПриОткрытии и зависел от ряда обстоятельств, не имеющих прямого отношения к вопросу (выполнено).
2). (Этот пункт - суть вопроса.) При открытии формы Обработки, значение в списке выбора не заполнено - нужно выбирать руками, но заказчик не хочет выбирать руками, хочет чтобы значение в этом списке выбора проставлялось по некоему условию уже ПриОткрытии.

Допустим: список выбора программно наполнен тремя значениями: Стол, Стул, Шкаф. ПриОткрытии на форме в поле выбора должно выбраться без участия пользователя значение: "Шкаф". Пишу для этого:
ЭлементыФормы.МоеПолеВыбора.ВыделенныйТекст = "Шкаф"
. Форма открылась, в поле выбора вписано "Шкаф", но если я смотрю в отладчике ЭлементыФормы.МоеПолеВыбора, то нигде нет даже намека на значение "Шкаф". Стоит мне руками на форме открыть список выбора и выбрать "Шкаф" и все сразу становится на свои места. Элемент формы приобретает значение "Шкаф" и с этим значением дальше можно работать.

К слову сказать были попытки решить так:
ЭлементыФормы.МоеПолеВыбора.Значение = "Шкаф"
- безрезультатно. В то время как
ЭлементыФормы.МоеПолеВыбора.Значение = ""
работает. Может потому что установить значение поля выбора я пытаюсь ПриОткрытии, а очищаю его Кнопкой на уже открытой форме.

Эта проблема была решена в рамках задуманного изначально функционала несколько иным способом (через назначение дополнительной глобальной переменной в модуле формы), но это скорее костыль, чем нормальное решение. Так что вопрос как при заданных параметрах выбрать значение из списка выбора программно для меня актуален.           

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Список выбора
« Ответ #4: 28 Окт 2014, 04:24 »
что за данные отображает поле выбора?
1. реквизит документа (справочника или пр.)?
2. реквизит формы?

в первом случае присвойте ему значение через
    Объект.МойРеквизитСвязанныйСПолем = "Шкаф";
во втором
    МойРеквизитФормыСвязанныйСПолем = "Шкаф";
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 41
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Re: Список выбора
« Ответ #5: 28 Окт 2014, 04:50 »
Если не получается, значит тип данных поля выбора и тип данных, которыми надо заполнить из базы данных не совпадает.
Добавлено: 28 Окт 2014, 05:17

Кароче. Самому даже интересно стало.
СписокЗнач = Новый СписокЗначений;
СписокЗнач.Добавить("Шкаф");
СписокЗнач.Добавить("Стол");
СписокЗнач.Добавить("Стул");
ЭлементыФормы.ПолеВыбора1.СписокВыбора = СписокЗнач;
ЭлементыФормы.ПолеВыбора1.Значение = "Стул"; // Шкаф или Стол
Добавлено: 28 Окт 2014, 05:19

Надеюсь хоть что-то понятно?
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Последний раз редактировалось: Luzer1C; 28 Окт 2014, 05:19. Причина: Объединение сообщений

Оффлайн omahi

  • *
  • Сообщений: 19
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-17
  • Сайт: 
  • Профессия: Бухгалтер
Re: Список выбора
« Ответ #6: 28 Окт 2014, 12:23 »
что за данные отображает поле выбора?
1. реквизит документа (справочника или пр.)?
2. реквизит формы?


Как же я тебе признателен за пинок в нужную сторону!!! Забыл включить поле в состав реквизитов формы, от этого все глюки. Нужно больше отдыхать.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Список выбора
« Ответ #7: 28 Окт 2014, 12:26 »
Забыл включить поле в состав реквизитов формы

Обычно сперва создается реквизит формы, а потом он мышью переносится в элементы формы... :zebzdr:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 221
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal