|
Почему вылетает 1с? | ☑ | ||
---|---|---|---|---|
0
pro3ri
26.05.15
✎
08:35
|
День добрый!
Запускаю обработку, вылетает 1с: &НаКлиенте Процедура Команда1(Команда) ВыходныеДни = Новый Структура; ПодсчитатьКоличествоРабДней(ВыходныеДни, 0, Дата(2010,1,1),2010); КонецПроцедуры &НаСервере Процедура ПодсчитатьКоличествоРабДней(ВыходныеДни, РабДней, ТекДата, Год) Если Год(ТекДата)>Год Тогда ВыходныеДни.Вставить("Год" + Формат(Год, "ЧГ=0"), РабДней); Сообщить("" + Год +" год - "+РабДней+ " рабочих дней"); РабДней = 0; КонецЕсли; Если ДеньНедели(ТекДата)<6 И Не (ДеньГода(ТекДата) = 1 Или ДеньГода(ТекДата) = 54) И Не (Месяц(ТекДата) = 3 И День(ТекДата)=8) Тогда РабДней = РабДней +1; КонецЕсли; Если Год(ТекДата)<2017 Тогда ПодсчитатьКоличествоРабДней(ВыходныеДни, РабДней, ТекДата+60*60*24, Год(ТекДата)) КонецЕсли; КонецПроцедуры // ПодсчитатьКоличествоРабДней() разве есть ограничения на стэк? |
|||
1
ДенисЧ
26.05.15
✎
08:36
|
Ограничения есть всегда. Например - доступная память.
|
|||
2
pro3ri
26.05.15
✎
08:42
|
использование физич памяти 66%
|
|||
3
ДенисЧ
26.05.15
✎
08:42
|
И что?
|
|||
4
orangekrs
26.05.15
✎
08:43
|
А как вылетает то ? На улицу,в окно ?
|
|||
5
pro3ri
26.05.15
✎
08:47
|
(4) try
|
|||
6
Andy13
26.05.15
✎
08:49
|
Рекурсивный вызов в бесконечность?
|
|||
7
pro3ri
26.05.15
✎
08:51
|
если поставить вместо 2017 2012 то все ворк
|
|||
8
kosts
26.05.15
✎
08:56
|
(0) Сотри и никому не показывай.
Наверняка в базе есть какой-то производственный календарь или график его заменяющий. Открой для себя запросы. |
|||
9
fisher
26.05.15
✎
09:23
|
(0) А когда их не было? И всегда это зависело от реализации и окружения. У меня, например, за 5 лет считает.
Да и вообще рекурсия - это дело такое. Лекарство с инструкцией, показаниями к применению, ограничениями и списком побочных эффектов. Умные языки автоматом заменяют хвостовую рекурсию на циклы при компиляции. |
|||
10
Fragster
гуру
26.05.15
✎
09:24
|
около 1000-1500 ограничение уровня рекурсии
|
|||
11
Господин ПЖ
26.05.15
✎
09:25
|
(0)
>Сотри и никому не показывай. +1 так кодируют .удаки... |
|||
12
fisher
26.05.15
✎
09:26
|
У меня около 2000 получилось в файловой. Сейчас клиент-сервер попробую.
|
|||
13
fisher
26.05.15
✎
09:28
|
В клиент-серверной тоже самое, зато не коврик свернуло, а выдало вменяемое исключение "Переполнение стека встроенного языка на сервере"
|
|||
14
Andy13
26.05.15
✎
09:29
|
(13) Ну ты прям аглицкий естествоиспытатель...
|
|||
15
fisher
26.05.15
✎
09:32
|
(0) ТС, у тебя талант. Не уверен, что программист из тебя хороший, но тестер отменный бы вышел. Постоянно на нештатные ситуации натыкаться и в граничные условия упираться - это уметь надо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |