Проблемы с

1. Devilion 24.09.20 14:11 Сейчас в теме
Проблема в том, что программа зацикливается из-за цикла Пока ДеньПервогоПриёма < КоличествоДнейВМесяце Цикл если его вписать выше,а если его оставить на том же месте, то просто не суммируется ДеньНачалаМесяца, он при выводе всех нужных данных, остаётся одинаковый, уже 2 часа бьюсь с кодом, не могу понять, куда мне засунуть этот грёбанный цикл, с другими циклами у меня только 2-3 раза выводит число, не более. Помогите разобраться пожалуйста
Пример:
3 Число (Понедельник): 200
6 Число (Понедельник): 200
9 Число (Понедельник): 200
12 Число (Понедельник): 200
Вплоть до введённого в Реквизите(КоличествоДнейВМесяце)
а должно быть - Пример:
3 Число (Понедельник): 200
6 Число (Четверг): 200
9 Число (Воскресенье): 100
12 Число (Среда): 200
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
19. Release 24.09.20 15:11 Сейчас в теме
(18) Попробуйте такой вариант.
Прикрепленные файлы:
Просчет Протеина.epf
Devilion; +1 Ответить
27. Release 24.09.20 16:07 Сейчас в теме
(26) Вот под вашу задачу.
Прикрепленные файлы:
Просчет Протеина2.epf
Devilion; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Release 24.09.20 14:19 Сейчас в теме
(1) Число месяца - ДеньПервогоПриема, день недели - эл.Значение.
В цикле число месяца возрастает на ЧастотаПриема, в примере 3. А день недели нет, т.к. для него это цикл верхнего уровня.
Т.е. несоответствие между получение/вычислением дня месяца и дня недели.
9. Devilion 24.09.20 14:31 Сейчас в теме
(4)да, это я знаю, он просто зацикливается, если их поменять местами или поставить выше цикла Для каждого, уже пробовала
6. Release 24.09.20 14:23 Сейчас в теме
(1) Поменяйте местами условие:
Если эл.Ключ = ДеньНачалаМесяца Тогда
и цикл:
Пока ДеньПервогоПриема < КоличествоДнейВМесяце Цикл
8. Devilion 24.09.20 14:30 Сейчас в теме
(6)Если я поменяю их местами, то цикл зациклится
11. Release 24.09.20 14:33 Сейчас в теме
(8) Тогда вместо цикла:
Пока ДеньПервогоПриема < КоличествоДнейВМесяце Цикл

используйте условие:
Если ДеньПервогоПриема > КоличествоДнейВМесяце Тогда
    Прервать;
КонецЕсли;


Но вообще у вас весь приведенный код криво написан. Сначала должен быть цикл смещения по числу месяца, а потом только определение дня недели, а не наоборот.
12. Devilion 24.09.20 14:40 Сейчас в теме
(11)Поменять на условие Если я тоже уже пыталась, выводит только 2 раза, не расчитывает дальше до введённого числа в Реквизит КоличествоДнейВМесяце
14. Devilion 24.09.20 14:41 Сейчас в теме
(11)Могу отправить сам файл с кодом, если так будет проще понять
15. Release 24.09.20 14:42 Сейчас в теме
(14) Или так, или запостите код сюда. Со скрина неудобно набирать, да и анализировать тоже.
16. Devilion 24.09.20 14:43 Сейчас в теме
(15)Если человек найден необходимо произвести расчёт принимаемого протеина на месяц и вывести информацию через сообщить.
Что необходимо выводить пользователю:
1. Общее количество принятого протеина в граммах.
2. Количество приемов в днях
3. День недели и количество приема с количеством протеина. (Например: 15 число (среда): 100гр.)


3 Пункт не получается вывести никак
Прикрепленные файлы:
Просчет Протеина.epf
17. Release 24.09.20 14:57 Сейчас в теме
(16) А что такое ДеньНачалаМесяца? Каково его назначение?
18. Devilion 24.09.20 14:58 Сейчас в теме
(17)ДеньНачалаМесяца – Число (1, 0)
День недели с которого начался месяц (1 – ПН, 2 – ВТ, 3 – СР …. 7 - ВС)

Там есть соответствие с данными для проверки
19. Release 24.09.20 15:11 Сейчас в теме
(18) Попробуйте такой вариант.
Прикрепленные файлы:
Просчет Протеина.epf
Devilion; +1 Ответить
20. Devilion 24.09.20 15:14 Сейчас в теме
(19)Да, так всё работает, спасибо, но та форма которая была изначально она обязательна, сейчас попробую разобраться что к чему)
21. Release 24.09.20 15:16 Сейчас в теме
(20) А что конкретно в ней обязательно? Я привязал начало приема к реальной дате и убрал "лишние" поля. Также пользоваться проще.
22. Devilion 24.09.20 15:27 Сейчас в теме
(21)Это просто задачка идёт
КоличествоДнейВМесяце – Число (2, 0)
Количество дней в рассчитываемом месяце
200
КоличествоПротеинаВБудни – Число (3, 0)
Количество протеина, принимаемое в будни (ПН-ПТ)
КоличествоПротеинаВВыходные – Число (3, 0)
Количество протеина, принимаемое в выходные (СБ-ВС)

Группа “Информация о человеке” содержит информацию о человеке принимающего протеин.
ФИО – Строка (150)
ФИО человека принимающего протеин
ДеньПервогоПриема – Число (2, 0)
День месяца, с которого человек начал прием протеина (Например, с 15 для месяца)
ЧастотаПриема – Число (2, 0)
Интервал приема протеина в днях
ПриемСПервогоДня– Булево
Признак того, что человек начал прием протеина в день первого приема.

Действие кнопки “Вывести график”
а. Произвести проверку заполнения реквизита ПоискПоФИО, значение не может быть пустым
б. Произвести поиск в таблице по реквизиту ПоискПоФИО, если человек не найден уведомить об этом пользователя. (Например: “Данный человек не найден в таблице”)ц22
в. Если человек найден необходимо произвести расчёт принимаемого протеина на месяц и вывести информацию через сообщить.
Что необходимо выводить пользователю:
1. Общее количество принятого протеина в граммах.
2. Количество приемов в днях
3. День недели и количество приема с количеством протеина. (Например: 15 число (среда): 100гр.)
23. Release 24.09.20 15:29 Сейчас в теме
(22) А так это для какого-то теста? Нужно было сразу указать, я бы не менял вводные условия.
24. Devilion 24.09.20 15:31 Сейчас в теме
(23)Извиняюсь, да это задачка, большая часть завершена, осталось только посчитать данные, но у меня не получается расчет 3 пункта произвести никак
25. FatPanzer 24.09.20 15:43 Сейчас в теме
(23) Тут уже вторую неделю два или три человека протеин считают...
26. Devilion 24.09.20 15:51 Сейчас в теме
(25)Не знаю, кто и что там считает, нужна помощь просто, по какой причине у меня во всех просчетах выдаёт один и тот же день недели, я не могу понять
27. Release 24.09.20 16:07 Сейчас в теме
(26) Вот под вашу задачу.
Прикрепленные файлы:
Просчет Протеина2.epf
Devilion; +1 Ответить
28. Devilion 24.09.20 16:11 Сейчас в теме
(27)Спасибо большое за помощь, а не подскажите, по какой причине у меня зацикливание происходило? если цикл пока поменять местами с Если эл.Ключ = ДеньНачалаМесяца Тогда
29. Release 24.09.20 16:22 Сейчас в теме
(28) Потому что после первого срабатывания перестает увеличиваться ДеньПервогоПриема, т.к. условие с Если больше никогда не срабатывает.
Devilion; +1 Ответить
30. Devilion 24.09.20 16:35 Сейчас в теме
(29)всё понятно, спасибо большое, теперь немного понятнее стало
2. user1373297 24.09.20 14:14 Сейчас в теме
у вас наверно частотаприёма = 0
попробуйте отладчиком остановиться и посмотреть

и да, вынесите две одинаковые строчки за условие. они же всегда выполняются
7. Devilion 24.09.20 14:29 Сейчас в теме
(2)Вот как выглядят мои реквизиты на форме, если я впишу Частота приёма = 0, то у меня не будет промежутка между датами
Прикрепленные файлы:
3. FatPanzer 24.09.20 14:14 Сейчас в теме
Давайте-ка угадаю... ЧастотаПриёма = 0, поэтому ДеньПервогоПриёма не увеличивается
13. Devilion 24.09.20 14:41 Сейчас в теме
5. herfis 498 24.09.20 14:20 Сейчас в теме
Не связывайтесь с человеком, который использует "ё". Это страшный человек. Если ему не лень тянуться до "ё", он и до вас дотянется!
10. Devilion 24.09.20 14:32 Сейчас в теме
Вот что у меня получается на выходе и на скрине так же видно, как заполнены значения
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот