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

Автор Тема: Список значений в поле ввода, как правильно реализовать?  (Прочитано 11165 раз)

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

Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
Всем привет.
Работаю в 8.3.5
Только начинаю разбираться в платформе, до этого с 1С имел дело только как пользователь. Сейчас стоит задача написать свою небольшую конфу для нашего маленького предприятия. Накупил кучку книжек, сижу изучаю. Голова уже пухнет. Не могу своим мозгом понять как реализовать такой функционал:

Есть документ ЗаказНаряд в котором есть реквизит Комплектность с типом Поле ввода.
Ясен пень, у документа есть форма с этим реквизитом.
В форме документа, требуется вызывать кнопкой выбора (...) у этого поля, окно в котором можно отметить галочками значения которые по нажатию ОК в этом окне, попадут в это поле ввода.
Сами значения в этом окне должны браться из наименований элементов справочника Подстановки, причем из элементов находящихся в определенной группе этого справочника.
Поле ввода необходимо, что бы помимо того, что выберет пользователь, он мог в некоторых случаях дописать некоторые данные руками.

Прошу ткнуть носом как это сделать, ибо голова уже кипит...

Последний раз редактировалось: SJslava; 13 Апр 2015, 11:41


Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
На всякий набросал как я себе это вижу.

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
если из справочника нужно выбрать НЕСКОЛЬКО значений то логично что их выбирают в ТАБЛИЧНУЮ ЧАСТЬ
а вот тип колонки может быть как ссылка на справочник, так и строка или составной (ссылка+строка).
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
если из справочника нужно выбрать НЕСКОЛЬКО значений то логично что их выбирают в ТАБЛИЧНУЮ ЧАСТЬ
а вот тип колонки может быть как ссылка на справочник, так и строка или составной (ссылка+строка).

Подскажите пожалуйста подробнее. Если возможно с примером кода.
Насколько я понимаю, в модуле формы где находится поле ввода, нужно создать две процедуры. Одна на сервере, которая будет получать таблицу элементов справочника. Вторая по событию НачалоВыбора у поля ввода в которой я задаю список значений и помещаю туда эту таблицу. Верно?

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. Посмотрите на Help1C.com примеры работы со справочником (https://helpf.pro/faq8/cat/9.html) и формами (https://helpf.pro/faq8/cat/39.html).
2. Основная мысль: список выбранных элементов из справочника должны "сидеть" не внутри поля ввода а в ТАБЛИЧНОЙ ЧАСТИ. Не спорю, что есть возможность задать полю ввода тип "СписокЗначений", но потом чтобы сохранить этот список в базе - замучаетесь.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
Путем долгих мучений получилось добиться промежуточного результата.

Я написал функцию которая получает колонку "Наименование" справочника Подстановки, и вызвал ее в событии начала выбора в поле комплектности.

&НаСервере
Функция Комплектность();

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Подстановки.Наименование КАК Наименование,
| Подстановки.ЭтоГруппа,
| Подстановки.Родитель
|ИЗ
| Справочник.Подстановки КАК Подстановки
|ГДЕ
|    Подстановки.ЭтоГруппа = ЛОЖЬ
| И Подстановки.Родитель = &Родитель";

Запрос.УстановитьПараметр("Родитель", Справочники.Подстановки.НайтиПоНаименованию("Комплектность"));

РезультатЗапроса = Запрос.Выполнить();


Список = Новый СписокЗначений;
Список.ЗагрузитьЗначения(РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Наименование"));
Возврат Список;

КонецФункции


&НаКлиенте
Процедура КомплектностьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

Объект.Комплектность=ВыбратьИзСписка(Комплектность(), Элементы.Комплектность);

КонецПроцедуры

В результате стал выпадать список с нужными мне значениями.

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

Тут у меня случился ступор, из которого я не могу выйти. Прошу подсказать как это сделать.

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. Посмотрите на Help1C.com примеры работы со справочником (https://helpf.pro/faq8/cat/9.html) и формами (https://helpf.pro/faq8/cat/39.html).
2. Основная мысль: список выбранных элементов из справочника должны "сидеть" не внутри поля ввода а в ТАБЛИЧНОЙ ЧАСТИ. Не спорю, что есть возможность задать полю ввода тип "СписокЗначений", но потом чтобы сохранить этот список в базе - замучаетесь.

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

Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
вы пункт 2 читали?

Да, читал.


Насколько я понял Вы предлагаете, в форму документа поместить таблицу с значениями и флажками?
Мне очень критично именно поле ввода с таким функционалом как я описал выше, просто таблица в форме не подойдет :fdbsdfbsd:

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

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

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

Оффлайн SJslava

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-04-13
  • Сайт: 
  • Профессия: Программист 1С
  • К этому привыкли пользователи предыдущей базы.
  • Эту строку потом будет необходимо вывести на печатную форму.
  • Это экономит место на форме.
  • Да и просто это логичнее и удобнее целой таблицы на форме.

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

Вроде осталось немного. Код:
        Если Комплектность().ОтметитьЭлементы("Комплектность") Тогда 
        Для каждого Элемент из Комплектность() Цикл
Если Элемент.Пометка Тогда

                 //Тут не могу сообразить как действовать дальше
         
        КонецЕсли;
        КонецЦикла;
КонецЕсли;

Я доверяю Вашему опыту, я отразил Ваше предупреждение, но ведь возможно сделать так как это пытаюсь сделать я. Подскажите пожалуйста конкретнее, что мне делать дальше.


Теги:
 

Поле не найдено"ЗаказПокупателя.Услуги.Ссылка"<<?>>ЗаказПокупателя.Услуги.Ссылка

Автор romanprogrammistРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 7188
Последний ответ 05 Дек 2013, 00:01
от romanprogrammist
{Форма.Форма.Форма(11)}: Поле объекта не обнаружено

Автор OksРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2409
Последний ответ 09 Дек 2015, 19:33
от Oks
Вывод информации: если поле не заполнено, то вывод иной информации. Новичок

Автор kiksiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 394
Последний ответ 10 Окт 2017, 12:33
от kiksi
Поле "ВаловаяПрибыль" не может быть использовано в группировке "Store" СКД

Автор virtusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 6604
Последний ответ 10 Июл 2014, 15:16
от virtus
Не заполняется поле "Цена" при формировании документа "Пересчет товаров"

Автор InnakechaРаздел Пользователям "1С - Предприятие 8"

Ответов: 4
Просмотров: 1188
Последний ответ 29 Дек 2016, 09:54
от Innakecha

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
99 Сообщений
AIFrame
65 Сообщений
alex0402
32 Сообщений
kiksi
26 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

  • Точка Гостей: 118
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal