Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Снятие с резерва. Не работает , Перестал "работать" документ снятие с резерва          
Leva Подменю пользователя
сообщение 01.05.12, 21:41
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Хороших всем праздников!

Перестал "работать" документ снятие с резерва. Выводится ошибка на стр. 3561 в основном модуле, в кот. написано:
 ПрошлоДней= Число(НачДата-'03.01.1994')

Вся функция выглядит так:
Функция глБанковскаяДата(НачДата,КолвоДней)  Экспорт
    // функция возвращает дату через заданное
    // количество рабочих дней, т.е.
    // без суббот и воскресений.
    Дней=0;
    К=0;
ПрошлоДней= Число(НачДата-'03.01.1994');
    // в константе надо указать любую
    // дату понедельника в прошлом
    Пока Дней<КолвоДней Цикл
        К=К+1;
        // определим день недели
        ДН=НомерДняНедели(НачДата+К);
        Если НЕ((ДН=6) ИЛИ (ДН=7)) Тогда
            Дней=Дней+1;
        КонецЕсли;
    КонецЦикла;
    Возврат НачДата+К;
КонецФункции


Подскажите плиз что случилось?
P.S. После чего перестал "работать" документ, не помню. upset.gif

Спасибо всем!

Читатель Подменю пользователя
сообщение 01.05.12, 23:14
Сообщение #2

Говорящий
Иконка группы
Группа: Местный
Сообщений: 56
Из: Киевская обл.
Спасибо сказали: 20 раз
Рейтинг: 0

Ошибки никакой не видно. А как программа ругается, интересно?
И зачем нужно это "ПрошлоДней" непонятно. В функции оно не используется. Может, заремить его.

Ardi Подменю пользователя
сообщение 01.05.12, 23:52
Сообщение #3

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Конфигурация "Управление Госрезервом"?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Leva Подменю пользователя
сообщение 02.05.12, 8:56
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Ardi @ 02.05.12, 0:52) *
Конфигурация "Управление Госрезервом"?

Торговля и склад для Украины 7.70.007

Pepe Подменю пользователя
сообщение 02.05.12, 11:45
Сообщение #5

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

Вы б хоть текст ошибки привели, а так вам к екстрасенсам.

Leva Подменю пользователя
сообщение 02.05.12, 17:55
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Pepe @ 02.05.12, 12:45) *
Вы б хоть текст ошибки привели, а так вам к екстрасенсам.

Сорри.
Текст ошибки:
Цитата
ПрошлоДней=Число(НачДата='03.01.1994');
{Глобальный модуль(3561)}: Операция вычитания не определена для строковых величин


09000000.gif

5_kopeek Подменю пользователя
сообщение 02.05.12, 19:29
Сообщение #7

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Напишите так:
ПрошлоДней=Число(НачДата-Дата('03.01.1994'));

Leva Подменю пользователя
сообщение 02.05.12, 19:57
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(5_kopeek @ 02.05.12, 20:29) *
Напишите так:
ПрошлоДней=Число(НачДата-Дата('03.01.1994'));

Спасибо, за совет, но... результат тот же sad.gif

5_kopeek Подменю пользователя
сообщение 02.05.12, 21:37
Сообщение #9

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Текст ошибки тот же? Тогда проверяйте, что передается в переменную НачДата. Если не умеете пользоваться отладчиком, можете перед строкой, в которой возникает ошибка добавить:
Сообщить("НачДата = "+НачДата+" Тип /"+ТипЗначенияСтр(НачДата)+"/");

И скажите, что напишет.

vadim007 Подменю пользователя
сообщение 03.05.12, 8:18
Сообщение #10

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

Цитата(Leva @ 01.05.12, 22:41) *
// в константе надо указать любую
// дату понедельника в прошлом

Вот ключевой момент. Константу трогали?

Leva Подменю пользователя
сообщение 03.05.12, 19:52
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(vadim007 @ 03.05.12, 9:18) *
Вот ключевой момент. Константу трогали?

Я нет. Есть еще один с админ правами...
А какая у Вас дата указана?

vadim007 Подменю пользователя
сообщение 04.05.12, 7:17
Сообщение #12

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

Любая дата в прошлом. Главное, чтобы не пустая.

Leva Подменю пользователя
сообщение 09.05.12, 19:57
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(vadim007 @ 04.05.12, 8:17) *
Любая дата в прошлом. Главное, чтобы не пустая.

Значит, проблемма не в дате, а в чем то другом. help.gif

sercher Подменю пользователя
сообщение 10.05.12, 14:35
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 1 раз
Рейтинг: 0

у меня ощущение что НачДата в функцию пришла строкой вот и чудит, нужно запускать отладчик и тормозить непосредственно перед ошбикой мониторя переменную начДата, и заодно действие в скобках, и мне кажется что функция Число(...) тут не нужна, потому как разница между датами это и так число

проверьте в том месте где эта функция вызывается

а и правда зачем Вам там нужна эта конструкция? вы ведь переменную ПрошлоДней больше не используете

Vofka Подменю пользователя
сообщение 10.05.12, 15:09
Сообщение #15

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(sercher @ 10.05.12, 15:35) *
а и правда зачем Вам там нужна эта конструкция? вы ведь переменную ПрошлоДней больше не используете

Теоретически это может быть глобальная переменная.

alex040269 Подменю пользователя
сообщение 10.05.12, 18:36
Сообщение #16

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(Leva @ 09.05.12, 20:57) *
Значит, проблемма не в дате, а в чем то другом. help.gif

а советом от 5_kopeek
Сообщить("НачДата = "+НачДата+" Тип /"+ТипЗначенияСтр(НачДата)+"/");

не хотите воспользоваться??

Печально. И зачем Вам эти советы?


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Leva Подменю пользователя
сообщение 25.05.12, 19:50
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(alex040269 @ 10.05.12, 19:36) *
а советом от 5_kopeek
Сообщить("НачДата = "+НачДата+" Тип /"+ТипЗначенияСтр(НачДата)+"/");

не хотите воспользоваться??

Печально. И зачем Вам эти советы?

Сорри был завал на работе, и пропустил совет.
Промониторил , выводит:
Цитата
НачДата=02.06.11 Тип/Дата/
НачДата=08.08.11 Тип/Дата/
НачДата=08.06.11 Тип/Дата/
НачДата=08.08.11 Тип/Дата/
НачДата=23.12.11 Тип/Дата/
НачДата=06.08.11 Тип/Дата/
НачДата=17.08.11 Тип/Дата/
НачДата=28.12.11 Тип/Дата/
НачДата=Тип/Строка/

И далее ошибка
ПрошлоДней=Число(НачДата="03.01.1994");
{Глобальный модуль(3562)}; Операция вычитания не определена для строковых величин.
Прошло

Т.е. приходит пустота и после этого выдается ошибка.

mister-x Подменю пользователя
сообщение 25.05.12, 21:44
Сообщение #18

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(Leva @ 25.05.12, 19:50) *
Т.е. приходит пустота и после этого выдается ошибка.

а ось і проблема
Цитата
НачДата=Тип/Строка/

Читатель Подменю пользователя
сообщение 25.05.12, 23:01
Сообщение #19

Говорящий
Иконка группы
Группа: Местный
Сообщений: 56
Из: Киевская обл.
Спасибо сказали: 20 раз
Рейтинг: 0

В самом начале функции вставьте код:
Если ТипЗначенияСтр(НачДата)<>"Дата" Тогда
Сообщить("НачДата = "+НачДата+" Тип /"+ТипЗначенияСтр(НачДата)+"/ - НЕ ДАТА", "!!!");
Возврат 0;
КонецЕсли;

И разбирайте те случаи, когда "приходит" не дата. Если надо.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 3:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!