Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Кнопка для выборки данных

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



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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    //СеместрИКурс.Курс = РасчетНаСервере(СеместрИКурс.Семестр);

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

КонецЦикла

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует