Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тестирование сотрудников на предприятии
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
kuchatrupov
Добрый день! Я начинающий программист 1с и мне поручили сделать конфигурацию, что то вроде "Тестирование сотрудников на предприятии". В силу неопытности не могу понять как мне вывести список вопросов по одному на общую форму в поле текстового документа и варианты ответа к нему в таблицу значений. У меня получается вывести весь список вопросов в виде сообщений и весь список ответов в таблицу значений, что конечно же не то.

Вот функция которая это делает:

 Функция ВыборкаВопроса()
    
     Запрос = Новый Запрос;
     Запрос.Текст =
     "ВЫБРАТЬ
     |ВопросыТестаВариантыОтветов.Ссылка КАК Ссылка,
     |ВопросыТестаВариантыОтветов.НомерСтроки КАК НомерСтроки,
     |ВопросыТестаВариантыОтветов.Ответ
     |ИЗ
     |Справочник.ВопросыТеста.ВариантыОтветов КАК ВопросыТестаВариантыОтветов
     |ИТОГИ ПО
     |Ссылка";
    
     Результат = Запрос.Выполнить().Выбрать();
    
     Пока Результат.Следующий()  Цикл
         
         НоваяСтрока = ВариантыОтветов.Добавить();              
         НоваяСтрока.Текст = Результат.Ответ;
         НоваяСтрока.НомерСтр = Результат.НомерСтроки;
         
         Переменная = Результат.Ссылка.Вопрос;
                 
         Сообщить(Переменная);
         
     КонецЦикла;
         
КонецФункции // ВыборкаВопроса()
logist
Ваша процедура и выбирает ВСЕ. Для того, что бы выбирать конкретный (каждый раз следующий или случайный) вопрос необходимо определится как оно у вас будет выводится на форме, и в каком порядке будут выбираться вопросы, тогда и встанет вопрос о процедуре которая будет выбирать конкретный вопрос.
kuchatrupov
Цитата(logist @ 02.04.13, 10:51) необходимо зарегистрироваться для просмотра ссылки
Ваша процедура и выбирает ВСЕ. Для того, что бы выбирать конкретный (каждый раз следующий или случайный) вопрос необходимо определится как оно у вас будет выводится на форме, и в каком порядке будут выбираться вопросы, тогда и встанет вопрос о процедуре которая будет выбирать конкретный вопрос.


Вопросы будут выбираться из справочника вопросов, вопросы разбиты на группы (по фамилии начальнику подразделения) к примеру Иванов, Петров, Сидоров. Пользователь заходит под своим именем, выбирает из списка своего начальника и пошли вопросы(последовательность вопросов в пределах группы не важна).
Vofka
Варианты ответа должны быть привязаны к вопросам. Тогда в запросе накладывается условие на конкретный вопрос и вуаля.
kuchatrupov
Цитата(Vofka @ 02.04.13, 11:06) необходимо зарегистрироваться для просмотра ссылки
Варианты ответа должны быть привязаны к вопросам. Тогда в запросе накладывается условие на конкретный вопрос и вуаля.


Это конечно хорошо, но все же полностью не решает моей проблемы.
Vofka
Цитата(kuchatrupov @ 02.04.13, 10:55) необходимо зарегистрироваться для просмотра ссылки
Это конечно хорошо, но все же полностью не решает моей проблемы.

Я сейчас только стелепатирую какой именно проблемы это не решает... Шоу интуиция начинается?
Домовик
не, тут вроде автор знает, что хочет, но механизмов 1С не знает. Вместо Сообщения хочет вывести значение Переменная в поле формы типа текст. Так? но мутно-мутно.
kuchatrupov
Хорошо, скажу по другому. Мне нужен более подробный ответ, то что варианты ответа должны быть привязаны к вопросам это понятно. Не понятно как это реализовать программно: изменить эту функцию или написать еще какую нибудь процедуру?

Цитата(Домовик @ 02.04.13, 12:37) необходимо зарегистрироваться для просмотра ссылки
не, тут вроде автор знает, что хочет, но механизмов 1С не знает. Вместо Сообщения хочет вывести значение Переменная в поле формы типа текст. Так? но мутно-мутно.


Прально прально:)))
alex040269
Сначала нужно решить как будут храниться данные, а потом что с ними делать. Какие данные вроде понятно.

Например Вопросы могут быть Владельцами ответов.

Затем заганяем все это в ТЧ документа с реквизитами Вопрос, Ответ1, Ответ2, Ответ3, Ответ4, Ответ, ПолученОтвет.

ну и пользователь заполняет реквизит ПолученОтвет.
kuchatrupov
Цитата(alex040269 @ 02.04.13, 12:56) необходимо зарегистрироваться для просмотра ссылки
Сначала нужно решить как будут храниться данные, а потом что с ними делать. Какие данные вроде понятно.

Например Вопросы могут быть Владельцами ответов.

Затем заганяем все это в ТЧ документа с реквизитами Вопрос, Ответ1, Ответ2, Ответ3, Ответ4, Ответ, ПолученОтвет.

ну и пользователь заполняет реквизит ПолученОтвет.


Спасибо, попробую реализовать.
Sharki
Как бы я делал:
Сначала нужно получить таблицу значений вопрос, варианты ответа(н колонок) из того справочника вопросников
Далее есть два пути:
1. более сложный вариант в форме опросника по результатам таблицы значений программно добавлять реквизиты формы и выводить их на форму, сгруппировать их например на страницы по количеству вопросов. Каждый вопрос можно реализовать как например числовой реквизит с вариантами выбора и типом отображения на форме = Поле переключателя(в делфях именуется как радиобаттон)
2. по проще можно например реализовать через один уже заданный реквизит и например кнопкой далее менять вопрос, при этом сохранять ответ в таблице. Предоставляя как бы диалог ответ на вопрос, кнопка далее, формируется новый вопрос.

Ну и как таблица заполнена, на все вопросы даны ответы сохранить эту таблицу например в табличной части какого-то справочника типа Анкета.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.