|
Автоматическое подставление в документе | ☑ | ||
---|---|---|---|---|
0
terletskiyab
21.05.18
✎
06:28
|
Доброго времени суток, друзья! Я новичок и хотел бы спросить, как мне сделать чтобы при выбора семестра - курс подбивался автоматически, это у меня документ Учебный план.
То есть если 1 и 2 семестр, то автоматически подбивался бы 1 курс Если бы 3 и 4 семестр, то автоматически подбивался бы 2 курс и так далее. Курсы и Семестры у меня перечисление. Распишите где нужно написать код и какой он должен быть, заранее благодарю. |
|||
1
Мимохожий Однако
21.05.18
✎
06:30
|
Кофе для телепатов где выдают?
|
|||
2
terletskiyab
21.05.18
✎
06:31
|
Вот скрины https://cloud.mail.ru/public/ATDr/eWydgjBML
|
|||
3
terletskiyab
21.05.18
✎
06:32
|
Я понял что в менеджере объекта, теперь не знаю какой код написать, в событиях ничего не нашел :(
|
|||
4
фросия
21.05.18
✎
06:42
|
> чтобы при выбора семестра
значит код надо засунуть в процедуру при изменении семестра > если 1 и 2 семестр, то автоматически подбивался бы 1 курс так и пишите: Если семестр = перечисление.семестры.семестр1 ИЛИ ...2 тогда курс = перечисл.курсы.курс1 иначеесли .... конецесли; названия объектов свои добавьте |
|||
5
terletskiyab
21.05.18
✎
06:45
|
Какое событие сделать, как оно называется? ПриИзменении, я просто полный новичок
|
|||
6
terletskiyab
21.05.18
✎
06:53
|
Можете написать шаблон кода чтобы я отталкивался, пожалуйста :(
|
|||
7
catena
21.05.18
✎
06:55
|
(5)Ну это наглость уже, хотя бы справку можно прочесть.
|
|||
8
2S
21.05.18
✎
06:57
|
Цел от деления на 2 и все твое решение
|
|||
9
terletskiyab
21.05.18
✎
06:59
|
Ребят извините за наглость, просто я реально не понимаю и справку я читал, вот что получилось:
Процедура ПриИзменениеСеместра() Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Перечисления.Семестры.ВторойСеместр Тогда Курс = Перечисления.Курсы.ПервыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Перечисления.Семестры.ЧетвертыйСеместр Тогда Курс = Перечисления.Курсы.ВторойКурс ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Перечисления.Семестры.ШестойСеместр Тогда Курс = Перечисления.Курсы.ТретийКурс КонецЕсли; КонецПроцедуры А как теперь сделать чтобы автоматически выбиралось смотреть в скриншотах, помогите пожалуйста :( |
|||
10
terletskiyab
21.05.18
✎
07:01
|
То есть при выборе семестра, автоматически подбивался курс
|
|||
11
фросия
21.05.18
✎
07:06
|
тыкни на семестр на форме.перейди в свойства- там есть список действий который можно привязать к полю.
выбери При изменении. т.е. не просто прописать процедуру в модуле а что б она автоматически создалась. второе- у вас УФ или нет? если УФ то надо еще разделить команды #НаКлиенте и #НаСервере далее Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Перечисления.Семестры.ВторойСеместр Тогда Если ( Логическое выражение ) ИЛИ (логическое выражение) ТОгда Семестр = Перечисления.Семестры.ПервыйСеместр - похоже на логическое выражение Перечисления.Семестры.ВторойСеместр - вообще не логическое выражение. Семестр = - тоже работать не будет. надо что-то вроде ТекущиеДанные.Семестр = примерно так |
|||
12
igorPetrov
21.05.18
✎
07:07
|
(9) Плохо читал.
|
|||
13
terletskiyab
21.05.18
✎
07:11
|
У меня УФ
|
|||
14
igorPetrov
21.05.18
✎
07:13
|
(13) Поздравляем!
|
|||
15
фросия
21.05.18
✎
07:14
|
(13) не страшно.
посмотрите как работает заполнение других реквизитов, всегда проще сделать что-то по образцу |
|||
16
terletskiyab
21.05.18
✎
07:15
|
Фросия спасибо, я приблизительно знаю что писать на сервере, а вот на клиенте что писать-то? Вообще не понимаю
|
|||
17
ПегийЛунь
21.05.18
✎
07:23
|
Примерно так:
&НаСервере Функция ПолучитьКурс(Семестр) КурсСеместра = Перечисления.Семестры.ПервыйСеместр; Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Перечисления.Семестры.ВторойСеместр Тогда КурсСеместра = Перечисления.Курсы.ПервыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Перечисления.Семестры.ЧетвертыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ВторойКурс ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Перечисления.Семестры.ШестойСеместр Тогда КурсСеместра = Перечисления.Курсы.ТретийКурс КонецЕсли; Возврат КурсСеместра; КонецФункции &НаКлиенте Процедура СеместрыПриИзменении(Элемент) СеместрИКурс=Элементы.Дисциплины.ТекущиеДанные; СеместрИКурс.Курс=ПолучитьКурс(СеместрИКурс.Семестр); КонецПроцедуры |
|||
18
fgaabbb
21.05.18
✎
07:25
|
дипломники )))
начни с начала - ознакомься хотя бы с одним бесплатным курсом. можно отсюда. http://programmist1s.ru/programmirovanie-1s/ лучше: http://www.spec8.ru/1c-prog-fast-start |
|||
19
terletskiyab
21.05.18
✎
07:29
|
Спасибо fgaabbb, я просто начал работать стажером в компании по 1С, вот учусь на боевых заданиях и дома видеоматериал смотрю, спасибо
|
|||
20
ПегийЛунь
21.05.18
✎
07:34
|
(19) Сей час придут профессионалы и скажут, что реализация задачи в корне не верная (проектировка базы данных).
|
|||
21
terletskiyab
21.05.18
✎
08:09
|
https://cloud.mail.ru/home/Помогите/3.png посмотрите пожалуйста в чем ошибки
|
|||
22
terletskiyab
21.05.18
✎
08:09
|
Я уже как только не исправлял :)
|
|||
23
фросия
21.05.18
✎
08:13
|
(21) не могу вашу картинку открыть
|
|||
24
фросия
21.05.18
✎
08:14
|
параметр не передали на сервер
условия не поправили |
|||
25
фросия
21.05.18
✎
08:15
|
&НаКлиенте
Процедура СеместрыПриИзменении(Элемент) СеместрИКурс=Элементы.Дисциплины.ТекущиеДанные; СеместрИКурс.Курс=ПолучитьКурс(СеместрИКурс.Семестр); вот вам готовый код из двух строк написали, почему вы решили использовать только одну строку и то не полностью? |
|||
26
terletskiyab
21.05.18
✎
08:18
|
Фросия, я вот поправил https://cloud.mail.ru/home/Помогите/4.png
|
|||
27
Мимохожий Однако
21.05.18
✎
08:19
|
(0) научись пользоваться отладчиком для проверки кода
|
|||
28
terletskiyab
21.05.18
✎
08:20
|
Я отладчиком как раз таки не могу воспользоваться, пока выше на скрине 2 ошибки не уйдут, я бы давно уже посмотрел, а они не дают мне посмотреть
|
|||
29
фросия
21.05.18
✎
08:23
|
ну давайте почитаем вместе сообщения об ошибке.
начинайте , я вам подскажу что не так |
|||
30
terletskiyab
21.05.18
✎
08:23
|
https://cloud.mail.ru/home/Помогите/4.png Вот я загрузил
|
|||
31
фросия
21.05.18
✎
08:24
|
давайте с первый вы сами разберетесь, а второе я подскажу?
|
|||
32
фросия
21.05.18
✎
08:25
|
процедура или функция ПолучитьКурс() не определена.
вы вызываете одно а на сервере описали другое. (название к одному приведите) чем функция от процедуры отличается знаете? |
|||
33
terletskiyab
21.05.18
✎
08:25
|
Да
|
|||
34
фросия
21.05.18
✎
08:26
|
(33) чем?
|
|||
35
terletskiyab
21.05.18
✎
08:27
|
Функции 1С и процедуры в 1С работают аналогично другим языкам — функция это именованная подпрограмма для вызова из других мест программного кода.
|
|||
36
terletskiyab
21.05.18
✎
08:28
|
https://cloud.mail.ru/home/Помогите/5.png я тут изменил ранее, но вышли ошибки и я по разному пробывал
|
|||
37
фросия
21.05.18
✎
08:30
|
(35) вопрос- в чем отличие процедуры от функции
|
|||
38
terletskiyab
21.05.18
✎
08:31
|
Из любой функции можно сделать процедуру. Функция отличается тем, что ее имени можно присвоить изнутри функции значение и использовать это имя как обычную переменную с параметрами в скобках, а процедуру нужно вызывать отдельным оператором.
|
|||
39
фросия
21.05.18
✎
08:31
|
(36) вот там где ошибки вышли- там же написано какие ошибки, прочитайте , все по-русски ведь
|
|||
40
фросия
21.05.18
✎
08:34
|
(38)
главное отличие:функция возвращает значение, процедура нет функция Реши мне задачку(условие задачки) решает; решает; решил; Возврат ответ; конецфункции процедура Реши мне задачку (Условие Задачки) решает; решает; решил; КонецПроцедуры |
|||
41
Irbis
21.05.18
✎
08:37
|
(40) Тоже не права, процедура может возвращать значения, да ещё и не одно, а может и не возвращать, в отличие от функции, которая возвращает всегда и только одно.
|
|||
42
фросия
21.05.18
✎
08:39
|
(41) Ответ = РешиМнеЗадачку(условиеЗадачки);
в такой конструкции можно использовать процедуру? |
|||
43
фросия
21.05.18
✎
08:40
|
1ска говорит попытка использования процедуры как функции.
|
|||
44
2S
21.05.18
✎
08:41
|
(41) че?
параметры хоть напередавайтесь |
|||
45
igorPetrov
21.05.18
✎
08:58
|
(41) Ась?
|
|||
46
terletskiyab
21.05.18
✎
09:06
|
&НаСервере
Функция КурсДляИзменения(Семестр) Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда КурсСеместра = Перечисления.Курсы.ПервыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ВторойКурс ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ШестойСеместр Тогда КурсСеместра = Перечисления.Курсы.ТретийКурс ИначеЕсли Семестр = Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ПятыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ШестойКурс ИначеЕсли Семестр = Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда КурсСеместра = Перечисления.Курсы.СедьмойКурс; КонецЕсли; Возврат Семестр; КонецФункции &НаКлиенте Процедура ДисциплиныСеместрПриИзменении(Элемент) СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные; СеместрИКурс.Курс = КурсДляИзменения(СеместрИКурс.Семестр); КонецПроцедуры Конечный итог, но почему-то не работает |
|||
47
2S
21.05.18
✎
09:09
|
Возврат Семестр;
бьемся головой об стену до понимания |
|||
48
2S
21.05.18
✎
09:14
|
и вообще - решение говеное, нах это все держать в перечислениях.
|
|||
49
catena
21.05.18
✎
09:15
|
(48)Ну наконец-то, с (20) ждем))
|
|||
50
фросия
21.05.18
✎
09:16
|
(46) курсСеместра надо либо определить до условий, либо в условия добавить ИНАЧЕ курсСеместр- чего нибудь присвоить
|
|||
51
2S
21.05.18
✎
09:16
|
(49) в (8) все написано
|
|||
52
фросия
21.05.18
✎
09:16
|
(46) отладчик что говорит?
|
|||
53
Мимохожий Однако
21.05.18
✎
09:20
|
(28) Поставь точку останова еще раньше. Закомментируй явно ошибочные строки
|
|||
54
Мимохожий Однако
21.05.18
✎
09:21
|
ОФФ: ТС уволили
|
|||
55
ПегийЛунь
21.05.18
✎
09:23
|
(54)Возьмите вместо ТС меня. У умею пользоваться головой и гуглом :)
|
|||
56
Segate
21.05.18
✎
09:23
|
А зачем вообще курсы и семестры хранить в перечислениях, когда это числа?
1е задается руками, второе - расчетное и получается целочисленным делением первого на 3 |
|||
57
Segate
21.05.18
✎
09:24
|
(56) тьфу... на два конечно же
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |