|
Добавление реквизитов табличной части справочника в реквизит документа | ☑ | ||
---|---|---|---|---|
0
cobra152
30.11.22
✎
06:42
|
Добрый день. Я новичок в 1с, сам толком код ещё писать не умею. Создаю программу "Система электронных голосований" и возникла проблема, у меня есть справочник "СозданиеГолосования" и справочник "Кандидаты", в справочнике "СозданиеГолосования" есть табличная часть куда я вношу кандидатов, а так же есть документ "Голосование". Мне нужно в реквизит документа "Голосование" вносить реквизит "Кандидат" из табличной части справочника. Так сказать предоставить пользователю выбор кандидата из голосования. Последовательность такая Справочник.Кандидат -> СправочникСозданиеГолосования.ТабличнаяЧастьГолоса.РеквезитКандидат -> ДокументГолосования.РеквизитКандидат
|
|||
1
RomaH
naïve
30.11.22
✎
07:16
|
наименование справочника не верное
создание... какое же это создание - это СпискиКандидатов |
|||
2
RomaH
naïve
30.11.22
✎
07:18
|
и ... эта .. ты заходи елис
тьфу, правильный вопрос должен содержать в себе 80% ответа ... у тебя вопрос не правильный ... в сымсле его нету |
|||
3
Индиго
30.11.22
✎
07:19
|
(0)Сделай в документе реквизит "Голосование" и реквизит "Кандидат". в "Кандидат" настрой связи при выборе чтобы только из выбранного голосования давала список
|
|||
4
cobra152
30.11.22
✎
07:42
|
Я правильно понял что это делать через "Связи параметров выбора" ?
|
|||
5
cobra152
30.11.22
✎
07:49
|
https://imgur.com/a/ZScD4kK
Это для лучшего понимания что сейчас у меня есть |
|||
6
Мимохожий Однако
30.11.22
✎
08:11
|
Для лучшего понимания озвучь задачу, а не то, что успел наваять. Для чего используешь объект Документ "Голосование"?
|
|||
7
cobra152
30.11.22
✎
08:19
|
Задача - создать систему электронных голосований, пользователь может создать голосование, добавить туда кандидатов или принять участие уже в существующим голосовании, так же посмотреть результаты голосований. А документ "Голосование" используется для того что бы пользователь смог поучаствовать в каком-либо голосовании выбрав голосование и кандидата
|
|||
8
RomaH
naïve
30.11.22
✎
08:20
|
(4) нет - насколько я знаю через "связи" не получится такое - код надо писать
|
|||
9
cobra152
30.11.22
✎
08:25
|
В этом и проблема, код я писать почти не умею, а толковых примеров с похожей проблемой не нашёл
|
|||
10
Serg_1960
30.11.22
✎
08:58
|
Имхо, справочники: Кандидаты, Голосования; документы - Регистрации, Выборы...
Вам пора изучать регистры сведений :) В типовых конфигурация много "примеров", когда в формах справочников вместо табличных частей используются наборы записей из регистров сведений или, например, отфильтрованные списки записей других справочников. Записи регистров, как правило, вносятся документами при их приведении. Чем удобны регистры сведений? Например тем, что можно не изменять сами справочники (суть которых - редко изменяемая информация), но использовать их для просмотра часто изменяемой информации другими источниками информации. Например, сегодня один кандидат на должность, а завтра - может быть и другой выдвинут... оформить документы на каждого из них по датам, провести движения по регистрам... и тогда в справочнике можно показать кандидатов по датам их выдвижения. К чему это я? К тому, что сначала нужно чётко представить задачу - тогда и программировать её будет значительно проще. |
|||
11
cobra152
02.12.22
✎
12:12
|
ну так что, может кто помочь с кодом для моей проблемы или тему можно закрывать?
|
|||
12
ass1c
02.12.22
✎
12:45
|
(11) Т.е. У тебя в документе реквизит "Голосование" - которые ты заполняешь и есть реквизит "Кандидат", в которым ты хочешь выбирать только кандидатов, которые указаны в табличной части выбранного согласования?
|
|||
13
cobra152
02.12.22
✎
12:47
|
Да, так и есть
|
|||
14
ass1c
02.12.22
✎
13:04
|
(13) Ну если совсем просто и на коленке, то реквизит формы "Кандидат" - свойства РежимВыбораИзСписка = Истина, КнопкаВыпадающегоСписка = Да
реквизит "Голосование" - процедура "ПриИзменении" &НаСервере Процедура ГолосованиеПриИзмененииНаСервере() Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", Голосование); Запрос.Текст = "ВЫБРАТЬ | ГолосованиеТабличнаяЧастьКандидаты.Кандидат КАК Кандидат |ИЗ | Справочник.Голосование.ТабличнаяЧастьКандидаты КАК ГолосованиеТабличнаяЧастьКандидаты |ГДЕ | ГолосованиеТабличнаяЧастьКандидаты.Ссылка = &Ссылка"; Элементы.Кандидат.СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Кандидат")); КонецПроцедуры &НаКлиенте Процедура ГолосованиеПриИзменении(Элемент) ГолосованиеПриИзмененииНаСервере(); КонецПроцедуры Пробуй. //Элементы.Кандидат - имя на элемента на форме //Справочник.Голосование.ТабличнаяЧастьКандидаты - имя справочника и имя табличной части //.Кандидат - имя реквизита табличной части с кандидатом |
|||
15
cobra152
02.12.22
✎
13:42
|
Это в модуль менеджера или модель объекта?
|
|||
16
cobra152
02.12.22
✎
13:49
|
Ошибка если в модуле объекта работать
{Документ.Голос.МодульОбъекта(14,5)}: Переменная не определена (Элементы) <<?>>Элементы.Кандидат.СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Кандидат")); (Проверка: Сервер) |
|||
17
ass1c
02.12.22
✎
14:07
|
(16) Ну ты чего: ) Открываешь форму, ищешь на ней элемент "Голосование" в свойствах ищешь процедуру "При изменении" - создаешь её и т.д.
В общем если ты совсем первый раз открыл конфигуратор, то тут будет сложно объяснить к сожалению... |
|||
18
cobra152
02.12.22
✎
14:20
|
Нашёл, вставил, но так же ошибка
{Документ.Голос.Форма.ФормаДокумента.Форма(5,44)}: Переменная не определена (Голосование) Запрос.УстановитьПараметр("Ссылка", <<?>>Голосование); (Проверка: Сервер) |
|||
19
cobra152
02.12.22
✎
14:21
|
А так я разрабатывал только пару систем по книге и одну свою, опыта слишком мало
|
|||
20
ass1c
02.12.22
✎
14:45
|
(18) Объект.Голосование
это же реквизит документа... |
|||
21
cobra152
02.12.22
✎
14:53
|
https://imgur.com/a/osMhgEL
При запуске ошибок нет, но при выборе голосования выскакивает это, а так же до сих пор я могу выбрать любого кандидата даже который не занесён в табличную часть выбранного лосования |
|||
22
ass1c
02.12.22
✎
15:05
|
(21) - Справочник.Голосование.ТабличнаяЧастьКандидаты
Я ж не знаю как у тебя объекты называются... назови их сам как у тебя в конфигураторе заданы... Справочник.ИмяСправочника.ИмяТабличнойЧасти |
|||
23
cobra152
02.12.22
✎
15:25
|
https://imgur.com/a/ZScD4kK
Это ссылка на фото, там отображены все объекты |
|||
24
cobra152
02.12.22
✎
15:29
|
Ошибку исправил, но всё та же проблема, я могу выбрать любого кандидата, даже если его нет в списке голосования
|
|||
25
ass1c
02.12.22
✎
15:34
|
(24) Если нет секретной инфы и конфигурация пустая с нуля, скинь мне dt шник на почту в профиле, я вечером быстренько гляну и подскажу... Тут вообще нет смысла переписываться, так как это можно растянуть на сотни сообщений...
|
|||
26
cobra152
02.12.22
✎
15:38
|
Скинул, версия 1с у меня если что 21
|
|||
27
ass1c
02.12.22
✎
15:48
|
(26) кк, вечером быстренько гляну...отвечу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |