Имя: Пароль:
1C
1С v8
Кнопка для выборки данных
,
0 vasiliyegorov
 
22.05.18
05:43
Вот мой код &НаСервере
Функция КурсДляИзменения(Семестр)
    



    
    
    Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли  Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ВторойКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр =  Перечисления.Семестры.ШестойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ТретийКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ  Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ШестойКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
    Возврат КурсСеместра;

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

&НаКлиенте
Процедура ДисциплиныСеместрПриИзменении(Элемент)
    СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    СеместрИКурс.Курс = КурсДляИзменения(СеместрИКурс.Семестр);
КонецПроцедуры

Вот скриншот https://cloud.mail.ru/home/Помогите/6.png , При нажатии на кнопку Расчёт должно всё подставиться правильно, ну мол если 1 и 2 семестр, то это 1 курс, если это 3 и 4 семестр, то это 2 курс и тд, как правильно реализовать не знаю, знаю что надо использовать цикл Для Каждого, но как с переменными работать и тд (какие брать и где) не знаю, помогите пожалуйста!
1 hhhh
 
22.05.18
05:53
(0) вот тут бред чего-то

СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;

ТекущиеДанные  - текущие данные - это совсем не перечисление.  Это целая строка в вашейц таблице Дисциплины.
2 vasiliyegorov
 
22.05.18
05:57
Вот код забыл закинуть ,


&НаСервере
Функция КурсДляИзменения(Семестр)
    
    Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли  Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ВторойКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр =  Перечисления.Семестры.ШестойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ТретийКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ  Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ШестойКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
    Возврат КурсСеместра;

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

&НаКлиенте
Процедура ДисциплиныСеместрПриИзменении(Элемент)
    СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    СеместрИКурс.Курс = КурсДляИзменения(СеместрИКурс.Семестр);
КонецПроцедуры
3 hhhh
 
22.05.18
05:58
( вы дайте код кнопки Расчет
4 vasiliyegorov
 
22.05.18
05:59
&НаСервере
Функция РасчетНаСервере()
    Для Каждого Цикл
        
    КонецЦикла;
КонецФункции

&НаКлиенте
Процедура Расчет(Команда)
    РасчетНаСервере();
КонецПроцедуры
5 igorPetrov
 
22.05.18
06:01
(4) Нафига третья тема для одного и того же? Ты издеваешься?
И да, начни уже доки читать.
6 igorPetrov
 
22.05.18
06:02
(0) Картинки по ссылке нет. Научись уже хоть это делать.
7 hhhh
 
22.05.18
06:11
(4) ну и тут нет ничего у тебя про Семестр. Поэтому Семестр и не присваивается. Напиши так

&НаКлиенте
Процедура Расчет(Команда)

    СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    СеместрИКурс.Курс = РасчетНаСервере(СеместрИКурс.Семестр);

КонецПроцедуры
8 vasiliyegorov
 
22.05.18
06:11
Я тебя просто буду игнорить, ты много говоришь, а помочь так и не разу не смог, самоутверждайся дальше. IgorPetrov
9 vasiliyegorov
 
22.05.18
06:11
https://cloud.mail.ru/public/JBiz/zaXLqhpss вот ссылка на картинку
10 catena
 
22.05.18
06:12
Для Каждого ТутНадоНаписатьУдобныйИСПонятнымНазваниемОтражающимЕгоСутьИдентификаторСчетчика из АТутНазваниеТойКоллекцииКоторуюХочетсяПеребрать Цикл
        
    КонецЦикла;
11 catena
 
22.05.18
06:13
(9)Если сменишь хостинг картинок, аудитория существенно вырастет. Майл.ру у многих на рабочем месте блокируется.
12 SleepyHead
 
гуру
22.05.18
06:15
(8) Правильно, продолжай игнорить того, кто говорит неудобные для тебя вещи, но по делу. Молодец :)
13 Мимохожий Однако
 
22.05.18
06:17
(0) Доброе утро!
14 vasiliyegorov
 
22.05.18
06:19
SleepyHead, ты так сказал, как будто я не читаю справочник, в котором нормально ничего не сказано и нет примера
15 vasiliyegorov
 
22.05.18
06:20
https://drive.google.com/file/d/16NyBZDCbbfUG4VLvtJum6gaXzBRER9OD/view?usp=sharing  Вот открыл на гугле, теперь не должно блокировать
16 Мимохожий Однако
 
22.05.18
06:20
(14) Расскажи, что ты читаешь и что уже прочитал. Так будет легче подсказать.
17 vasiliyegorov
 
22.05.18
06:21
catena, я понял Для Каждого ТутНадоНаписатьУдобныйИСПонятнымНазваниемОтражающимЕгоСутьИдентификаторСчетчика из АТутНазваниеТойКоллекцииКоторуюХочетсяПеребрать Цикл, я просто не могу разбираться как это для моего проекта делать, чтобы заработало, какую информацию из существующей мне брать в цикл и тд
18 vasiliyegorov
 
22.05.18
06:21
19 vasiliyegorov
 
22.05.18
06:26
Подскажите, какую информацию брать в плане моего проекта, как мне сделать цикл с моими уже имеющимися данными, я просто понять не могу
20 Мимохожий Однако
 
22.05.18
06:27
21 Мимохожий Однако
 
22.05.18
06:30
(19) Сначала определись какие нужные данные и в каких объектах конфигурации хранятся. Запиши это в блокнотик в виде таблички. Потом напиши, что тебе надо  получить и куда. Разберись про объекты, в которые эти данные положишь. А вот после этого можно начинать кодировании и подбор наиболее удобных методов.
22 igorPetrov
 
22.05.18
06:37
(19) Определись для себя сначала с понятиями, объект, регистр, пречисление, цикл и т.д. Правильно сказали,нарисуй все на бумажке. Продумай и когда появится ясное понятие, тогда садись писать.
23 vasiliyegorov
 
22.05.18
06:40
Нужные данные находятся в перечисления(х), Перечисления.Курсы.ПервыйКурс, .ВторойКурс и тд;
Так же и с семестрами, Перечисления.Семестры.ПервыйСеместр, .ВторойСеместр и тд;

Мне надо получается оттуда получить семестры и курсы, чтобы при нажатии на кнопку, семестры и курсы становились в правильном порядке, например: если в поле табличной части стояло 1 курс но 4 семестр(2 курс) чтобы при нажатии на кнопку изменились данные на 4 семестр и 2 курс заместо первого, то есть в правильном порядке
24 vasiliyegorov
 
22.05.18
06:40
Это как я понял, вот теперь как сделать из моего кода в кнопку не знаю еще
25 igorPetrov
 
22.05.18
06:40
(23) У тебя каша в голове.
26 igorPetrov
 
22.05.18
06:41
(24) "как сделать из моего кода в кнопку" - чего?
27 vasiliyegorov
 
22.05.18
06:42
&НаСервере
Функция КурсДляИзменения(Семестр)
    
    Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли  Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ВторойКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр =  Перечисления.Семестры.ШестойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ТретийКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ  Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ШестойКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
    Возврат КурсСеместра;

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

&НаКлиенте
Процедура ДисциплиныСеместрПриИзменении(Элемент)
    СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    СеместрИКурс.Курс = КурсДляИзменения(СеместрИКурс.Семестр);
КонецПроцедуры


Вот мой код, как его теперь закинуть в

&НаСервере
Функция РасчетНаСервере()
    Для Каждого Цикл
        
    КонецЦикла;
КонецФункции

&НаКлиенте
Процедура Расчет(Команда)
    СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    СеместрИКурс.Курс = РасчетНаСервере(СеместрИКурс.Семестр);
КонецПроцедуры


До конца закинуть и чтобы работало не пойму еще как
28 Мимохожий Однако
 
22.05.18
06:43
(23) Запусти базу в режиме отладки. Возьми свою несчастную функцию РасчетНаСервере() и поставь точку остановки в самое начало. По мере прохождения посмотри , какие значения и какого типа ты получаешь.
PS. Зря игнорируешь изучение до тыков в клаву. По факту время на изучение экономит на порядок меньше общего времени на решение конкретной задачи.
29 igorPetrov
 
22.05.18
06:46
(27) Зачем один и тот же код выкладываешь?
Послушай, что тебе в (28) говорят.
30 vasiliyegorov
 
22.05.18
06:53
Я поставил точку остановы
&НаСервере
Функция РасчетНаСервере()
    Для Каждого Цикл
        
    КонецЦикла;
КонецФункции

&НаКлиенте
Процедура Расчет(Команда)
    //СеместрИКурс = Элементы.Дисциплины.ТекущиеДанные;
    //СеместрИКурс.Курс = РасчетНаСервере(СеместрИКурс.Семестр);
КонецПроцедуры

Но когда запускаю отладку и начинаю работать, она не работает в плане чтобы я запустил shift + f9 Вычислить выражение
31 igorPetrov
 
22.05.18
06:57
(30) Бардак.
32 SleepyHead
 
гуру
22.05.18
07:02
(14) С осмысливанием информации явные проблемы. Ну что ж, время лечит (правда, не всех).
33 Мимохожий Однако
 
22.05.18
07:02
(30) на какой строке поставил точку остановки отладчика?
какой командой запустил отладчик? Документацию про использование отладчика посмотрел?
34 SleepyHead
 
гуру
22.05.18
07:03
(31) Как ему удалось запустить отладку с таким кодом? Автор явно чего-то недоговаривает.
35 igorPetrov
 
22.05.18
07:06
(34) Или банально врет.
36 vasiliyegorov
 
22.05.18
07:14
Я говорю же выше, что не смог запустить отладку
37 SleepyHead
 
гуру
22.05.18
07:16
(36) Сначала добейся, чтобы не было хотя бы синтаксических ошибок  в коде. А они есть, и их видно невооруженным глазом.
38 igorPetrov
 
22.05.18
07:18
(36) "Но когда запускаю отладку  и начинаю работать" - а это что?
39 igorPetrov
 
22.05.18
07:19
(36) У тебя отсутствует понимание элементарных вещей. Ты хоть школу закончил?
40 SleepyHead
 
гуру
22.05.18
07:39
(39) Тсс,, не оскорбляй тру-программиста, который считает 1с-ников животными. Может, он на джаве одной левой три проекта в день закрывает, а ты стебаешься.
41 fgaabbb
 
22.05.18
07:45
(18) ты хоть что-то прочитал? судя по твоему коду, ты либо имеешь проблемы с головой, либо ничего не читал/смотрел. Ты же просто скопировал ссылки с моего прошлого коммента тебе!
42 igorPetrov
 
22.05.18
07:46
(40) упс.
43 vasiliyegorov
 
22.05.18
07:48
https://drive.google.com/file/d/1T3FzypBpcvNu5DsnW5XEu8ZnbNszzwqN/view?usp=sharing  Вот что получилось создать, теперь додумываю, как правильно подставить данные
44 SleepyHead
 
гуру
22.05.18
07:50
(43) Это прорыв!
45 igorPetrov
 
22.05.18
07:51
(43) Ура!!! Браво!!!!
Выключи комп и отойди от него.
46 igorPetrov
 
22.05.18
07:51
(43) Ты не ответил - школу закончил уже?
47 Мимохожий Однако
 
22.05.18
07:53
(43) Ты объявил массив. Он пустой. А теперь ты пытаешься перебрать его элементы. Прикольно.
48 vasiliyegorov
 
22.05.18
07:54
https://drive.google.com/open?id=1SP3FSYKooZ0rXTHp68VamgAy7JGpKmJC Я понимать начал потихоньку
49 igorPetrov
 
22.05.18
07:55
(48) Тебе кажется.
50 vasiliyegorov
 
22.05.18
07:58
МимохожийОднако, как теперь закинуть функционал в кнопку чтобы он работал, ну то есть если я сделаю так:
&НаСервере
Функция РасчетНаСервере()
    Для Каждого СтрокаТЧ из Объект.Дисциплины Цикл
    Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли  Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        КурсСеместра  = Перечисления.Курсы.ВторойКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр =  Перечисления.Семестры.ШестойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ТретийКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.ШестойКурс
    ИначеЕсли Семестр =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         КурсСеместра = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
    Возврат КурсСеместра;
    
    КонецЦикла;
КонецФункции

То у меня выходят 2 ошибки:

Возврат <<?>>КурсСеместра; (Проверка: Тонкий клиент)
{Документ.УчебныйПлан.Форма.ФормаДокумента.Форма(41,1)}: Неопознанный оператор
<<?>>&НаСервере (Проверка: Тонкий клиент)
{Документ.УчебныйПлан.Форма.ФормаДокумента.Форма(1,1)}: Обнаружено логическое завершение исходного текста модуля (Проверка: Тонкий клиент)
51 catena
 
22.05.18
08:01
(50) Кто у тебя будет Семестр при этом коде? Если подумать головой?

Для Каждого СтрокаТЧ из Объект.Дисциплины Цикл
    Если Семестр
52 igorPetrov
 
22.05.18
08:03
(51) Подумать, это не про него похоже.
53 Мимохожий Однако
 
22.05.18
08:03
(50) очепятки...
Например, возврат внутри цикла.

Возврат КурсСеместра;
    
    КонецЦикла;
54 SleepyHead
 
гуру
22.05.18
08:04
Вангую, Семестр и КурсСеместра - колонки в его табличной части. Тогда возврат там нафиг не нужен, а обращаться надо через точку.
55 Мимохожий Однако
 
22.05.18
08:05
Закомментирую весь код в функции кроме и помаленьку добавляй...Если проверка кода не даёт явную ошибку, то запускай отладчик. Но...через задницу. Почитай документацию или  хотя бы Ctrl-f1 почаще запускай.
56 Мимохожий Однако
 
22.05.18
08:05
*закомментируй
57 vasiliyegorov
 
22.05.18
08:11
https://drive.google.com/open?id=1_1V-mAMSudjXkw6NA8qzGHN8uyofcHYU

Мне надо теперь выбрать код мой и добавить его в кнопку, я исправил, теперь не знаю как из выше цикла мне взять данные чтобы закинуть их в кнопку
58 igorPetrov
 
22.05.18
08:13
(57) Да, он или тролль или издевается. Нельзя таким дураком быть упертым.
59 vasiliyegorov
 
22.05.18
08:18
Спасибо всем за помощь, я сделал, всё запускается, теперь ищу ошибку, почему все запускается, но расчет не происходит https://drive.google.com/open?id=15GcPsfJtCZP5ttY0LK8CjAlKx2kuZlbm
60 vasiliyegorov
 
22.05.18
08:21
Кто может сказать из-за чего это?
61 igorPetrov
 
22.05.18
08:22
(60) Подумай!
62 Lexey_
 
22.05.18
08:25
(59) как может запускаться то, чего нет?
63 Lexey_
 
22.05.18
08:27
(62) вернее, не запускаться, а происходить
64 vasiliyegorov
 
22.05.18
08:30
Lexey, можно по подробнее чего нет, я просто зеленый :)
65 Мимохожий Однако
 
22.05.18
08:31
(60) Если что-то не работает, то есть какая-то ошибка и надо что-сделать.)) За тебя код писать никто не будет. Это только твоя дорога.
66 vasiliyegorov
 
22.05.18
08:33
Да я это понял, я сам и делаю, мне бы подробнее объяснить где ошибка то
67 vasiliyegorov
 
22.05.18
08:40
68 Мимохожий Однако
 
22.05.18
08:42
(67) ))
Возврат КурсСеместра;
69 Мимохожий Однако
 
22.05.18
08:43
Отладчик включи. Вынеси процедуру выполнения команды на форму
70 catena
 
22.05.18
08:47
(66)Ты неправильно понимаешь словосочетание "сам и делаю".
71 vasiliyegorov
 
22.05.18
08:48
&НаСервере
Функция РасчетНаСервере()
    Для Каждого СтрокаТЧ из Объект.Дисциплины Цикл
        
         Если СтрокаТЧ = Перечисления.Семестры.ПервыйСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ВторойСеместр Тогда
        КурсСеместра   = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли СтрокаТЧ = Перечисления.Семестры.ТретийСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        КурсСеместра   = Перечисления.Курсы.ВторойКурс
    ИначеЕсли СтрокаТЧ = Перечисления.Семестры.ПятыйСеместр ИЛИ СтрокаТЧ =  Перечисления.Семестры.ШестойСеместр Тогда
         КурсСеместра  = Перечисления.Курсы.ТретийКурс
    ИначеЕсли СтрокаТЧ =  Перечисления.Семестры.СедьмойСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ВосьмойСеместр Тогда
         КурсСеместра  = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли СтрокаТЧ = Перечисления.Семестры.ДевятыйСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ДесятыйСеместр Тогда
         КурсСеместра  = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли СтрокаТЧ =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         КурсСеместра  = Перечисления.Курсы.ШестойКурс
    ИначеЕсли СтрокаТЧ =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ СтрокаТЧ = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         КурсСеместра  = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
      Возврат КурсСеместра;

    КонецЦикла;
КонецФункции

Я вставил Возврат и все равно не работает, Вынеси процедуру выполнения команды на форму, catena не отрицаю
72 vasiliyegorov
 
22.05.18
08:50
Вынеси процедуру выполнения команды на форму, не очень понял ваши слова :D
73 vasiliyegorov
 
22.05.18
08:51
74 user-ok
 
22.05.18
08:51
(59) Очень даже он происходит. Расчет. Не веришь? Глянь значение переменной КурсСеместра  в конце процедуры. В ней будет значение. ну а то, что ты его нигде не используешь - так это твое дело.
СтрокаТЧ.КурсСеместра и КурсСеместра - совершенно разные сущности
75 vasiliyegorov
 
22.05.18
08:51
Команда там тоже есть Расчет, все вроде бы есть, почему не работает не пойму вообще
76 Мимохожий Однако
 
22.05.18
08:56
(75) Встань точкой останова на начало команды. Пока не встанешь - не поймёшь о чём разговор.
77 vasiliyegorov
 
22.05.18
08:58
Всё проходит и не выдаёт ошибку
78 hhhh
 
22.05.18
09:02
(77) вот так фигачь

Если СтрокаТЧ.Семестр = Перечисления.Семестры.ПервыйСеместр
    СтрокаТЧ.КурсСеместра   = Перечисления.Курсы.ПервыйКурс

ну ты меня понял
79 igorPetrov
 
22.05.18
09:09
Он даже читать не хочет, не то что думать)))
80 Мимохожий Однако
 
22.05.18
09:14
(77) Удалось отладчиком встать на начало процедуры в кнопке выполнения? До точки остановки отладчик дошёл?
81 vasiliyegorov
 
22.05.18
09:49
&НаСервере
Функция РасчетНаСервере()
    Для Каждого СтрокаТЧ из Объект.Дисциплины Цикл
        
    Если СтрокаТЧ.Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        СтрокаТЧ.КурсСеместра   = Перечисления.Курсы.ПервыйКурс
    ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда
        СтрокаТЧ.КурсСеместра   = Перечисления.Курсы.ВторойКурс
    ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ СтрокаТЧ.Семестр =  Перечисления.Семестры.ШестойСеместр Тогда
         СтрокаТЧ.КурсСеместра  = Перечисления.Курсы.ТретийКурс
    ИначеЕсли СтрокаТЧ.Семестр =  Перечисления.Семестры.СедьмойСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда
         СтрокаТЧ.КурсСеместра  = Перечисления.Курсы.ЧетвертыйКурс
    ИначеЕсли СтрокаТЧ.Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда
         СтрокаТЧ.КурсСеместра  = Перечисления.Курсы.ПятыйКурс
    ИначеЕсли СтрокаТЧ.Семестр =  Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда
         СтрокаТЧ.КурсСеместра  = Перечисления.Курсы.ШестойКурс
    ИначеЕсли СтрокаТЧ.Семестр =  Перечисления.Семестры.ТринадцатыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда
         СтрокаТЧ.КурсСеместра  = Перечисления.Курсы.СедьмойКурс;
        
    КонецЕсли;
      Возврат СтрокаТЧ.КурсСеместра;

    КонецЦикла;
КонецФункции

&НаКлиенте
Процедура Расчет(Команда)
    РасчетНаСервере();
КонецПроцедуры

Пишет Поле Объекта не обнаружено(Курс Семестра)
82 vasiliyegorov
 
22.05.18
09:52
СтрокаТЧ.КурсСеместра   = Перечисления.Курсы.ПервыйКурс
вот здесь встала точка остановы
83 catena
 
22.05.18
09:59
(82) Первый раз это может быть больно, но постарайся подумать: как именно называются у тебя реквизиты таблицы и как это соотносится с кодом? Что делает Возврат и как он повлияет на твой код?
84 hhhh
 
22.05.18
10:25
(82) если смотреть на твои картинки, то у тебя называется "Курс". Так и пиши тогда

СтрокаТЧ.Курс   = Перечисления.Курсы.ПервыйКурс
85 vasiliyegorov
 
22.05.18
10:34
Спасибо hhhh работает, Я теперь хотел бы спросить
    
    Если СтрокаТЧ.Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ СтрокаТЧ.Семестр = Перечисления.Семестры.ВторойСеместр Тогда
        СтрокаТЧ.Курс   = Перечисления.Курсы.ПервыйКурс


Почему Строка.ТЧ и почему СтрокаТЧ.Курс?
86 igorPetrov
 
22.05.18
11:10
(85) Думай тебе говорят!!! Думай, даже если ты не привык.
87 user-ok
 
22.05.18
11:41
(83) (86) чем???
88 igorPetrov
 
22.05.18
11:42
(87) ТС уже новую тему создал. Там хвастается чем ))))
89 SleepyHead
 
гуру
22.05.18
11:45
(88) Вот ты терпеливый...
90 Tateossian
 
22.05.18
11:58
(71) Мсье, налицо у вас индусский код. Вам не кажется, что в нем слегка много повторений?

CASE шаблон делается так:

СЗ = Новый СписокЗначений;
СЗ.Тип = ...
Для i=0 По Макс Цикл

СЗ.Добавить(ПолноеИмяПредопределенного, "ПеречислениеКурс");

КонецЦикла

А потом найти по значению, и Вычислить(Эл.Представление). 10 строче кода