Имя: Пароль:
1C
 
Рассчет данных из Реквизитов
0 Peshalkin
 
24.09.20
10:03
Есть код, который при совпадении введённых данных в реквизит формы выводит Значение структуры, но нужно сделать, что по нажатию кнопки выводилась дата вписанная в реквизит ДеньПервогоПриёма, после значение Соответствия + определённое количество дней, которое указывается в реквизите частота приёма и так, пока данные не совпадут с реквизитом ВсегоДней(2-х значное число), его тут не указал, потому что не совсем понимаю, как это реализовать  
Частоте приёма,
Для Каждого эл из ДеньНачала Цикл
            Если эл.Ключ = ДеньНачалаМесяца Тогда
                Если эл.Ключ = 6 или 7 Тогда
                    Сообщить(""+ДеньПервогоПриёма+" Число "+"("+эл.Значение+"): "+КоличествоПротеинаВВыходные);
                    ДеньПервогоПриёма = ДеньПервогоПриёма + ЧастотаПриёма;
                Иначе
                    Сообщить(""+ДеньПервогоПриёма+" Число "+"("+эл.Значение+"): "+КоличествоПротеинаВБудни);
                    ДеньПервогоПриёма = ДеньПервогоПриёма + ЧастотаПриёма;
                КонецЕсли;
            КонецЕсли;
            КонецЦикла;
        КонецЕсли;
1 hhhh
 
24.09.20
10:09
(0) во-первых, тут какая-то хрень

             Если эл.Ключ = 6 или 7 Тогда

пишите

             Если эл.Ключ = 6 или эл.Ключ = 7 Тогда
2 Peshalkin
 
24.09.20
10:14
(1) да, я уже исправил эту строку, я сделал так, чтобы числа считались вплоть до указанного дня в реквизите ВсегоДней, но у меня почему-то не меняется эл.Значение после каждого вывода
3 Deon
 
24.09.20
11:00
(2) Скорее всего, эл.Значение где-то раньше заполнилось одинаковыми значениями для каждого дня
4 Peshalkin
 
24.09.20
11:07
(3) нет, эл.Значение указывается только 1 раз это в Сообщить, т.к. значение ключа менять нельзя, я добавил строку ДеньНачалаМесяца = ДеньНачалаМесяца + ЧастотаПриёма, он же должен плюсавать частоту и менять день недели, но он все равно выводит изначальное значение, которое было указано в реквизите(ДеньНачалаМесяца)
5 Peshalkin
 
24.09.20
11:09
Извиняюсь, я изменил код и он не выводит из-за цикла пока, который я добавил, не пойму только почему
Для Каждого эл из ДеньНачала Цикл
            Если эл.Ключ = ДеньНачалаМесяца Тогда
                Пока ДеньПервогоПриёма < КоличествоДнейВМесяце Цикл
                Если эл.Ключ = 6 или эл.Ключ = 7 Тогда
                    Сообщить(""+ДеньПервогоПриёма+" Число "+"("+эл.Значение+"): "+КоличествоПротеинаВВыходные);
                    ДеньПервогоПриёма = ДеньПервогоПриёма + ЧастотаПриёма;
                    ДеньНачалаМесяца = ДеньНачалаМесяца + ЧастотаПриёма;
                Иначе
                    Сообщить(""+ДеньПервогоПриёма+" Число "+"("+эл.Значение+"): "+КоличествоПротеинаВБудни);
                    ДеньПервогоПриёма = ДеньПервогоПриёма + ЧастотаПриёма;
                    ДеньНачалаМесяца = ДеньНачалаМесяца + ЧастотаПриёма;
                КонецЕсли;
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
        КонецЕсли
Закон Брукера: Даже маленькая практика стоит большой теории.