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

Хранилище

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

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




>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 17.04.12, 8:19


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


Да, а объявление как для переменной модуля

Перем РазницаНДС;
//===================
//здесь процедуры-функции модуля
...
...
//дальше
Процедура ОбработкаПроведения()
...
       ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
    
        //сюда вставил первичную инициализацию для каждой строки, в типовой ее нету
        РазницаНДС = 0;    
    
        Если глСчетаПоставщиковПокупателей.Принадлежит(Число(Счет.Код)) = 1 Тогда
            РассчитатьСтроку(); //ВОТ ТУТ ИНИЦИАЛИЗИРУЕТСЯ ПЕРЕМЕННАЯ
        КонецЕсли;        
        ПроводкиСтрока();        //А ВОТ ТУТ ОНА ИСПОЛЬЗУЕТСЯ    
    КонецЦикла;
...
КонецПроцедуры



 i 

Выделяем же код, ё-маё
 


<Выделяем же код, ё-маё>
Прошу прощения. Я "не писатель". Читал форум часто...
Появился повод сообщить коллегам(посоветоваться) - зарегистрировался...
Как собственно и на мисте, а ранее на Т1С...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48709 · Ответов: 12 · Просмотров: 4732
 

>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 13.04.12, 11:29


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


То XBrut. Вот точное определение- премерзкий случай. Как-то начинаешь сомневаться в незыблемости знаний... Основ, что-ли :-)
И дело даже не в ошибке в типовой конфиге. Их много было. А в непонятном поведении платформы(вроде все нормально, 27-й релиз на ХР-юше)...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48614 · Ответов: 12 · Просмотров: 4732
 

>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 13.04.12, 10:53


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


Да я сюда специально запостил, в надежде, что у участников этого раздела форума типовой ПУБ для Украины под рукой и найдется минутка для эксперимента. У меня получился такой результат, который я описал. Пользуясь отладчиком я увидел значение переменной РазницаНДС в начале работы процедуры ПриПроведении(). Она должна была быть неопределенной, но на самом деле ее значение равнялось числу из последней строки предыдущего дока. Причем, если документ проводить групповым проведением, а открыть и провести, то все нормально. Естественно операция будет отличаться на 2 проводки...

Поправка к сообщ №8.
Причем, если документ проводить НЕ групповым проведением, а открыть и провести, то все нормально. Естественно операция будет отличаться на 2 проводки...
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48610 · Ответов: 12 · Просмотров: 4732
 

>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 13.04.12, 10:28


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


<А может переменная это глобальная переменная?>

Проверял... В первом посте сказал.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48606 · Ответов: 12 · Просмотров: 4732
 

>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 13.04.12, 10:02


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


Да, ребята, все так как вы говорите. Перебор строк идет в процедуре ПриПроведении(). Оттуда и вызывается Процедура РассчитатьСтроку(), где инициализируется переменная РазницаНДС. И переменную я уже обнулил :-) . Эффект передачи значения переменной из документа в документ при перепроведении - вот что вызывает интерес. По-этому и поднял тему. Может кто что знает об особенностях работы кода модуля документа именно при перепроведении.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48600 · Ответов: 12 · Просмотров: 4732
 

>  Интересный глюк в документе "Расходы на приобретение"
VladRd
Отправлено: 13.04.12, 9:10


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 28.04.11
Пользователь №: 8982


В модуле документа есть переменная модуля - РазницаНДС. Значение ей присваивается в процедуре РассчитатьСтроку(). Эта процедура вызывается не для каждой строки (там стоит условие на вызов). То есть, если для первой строки документа процедура вызывалась, переменная получила значение, а для второй строки не вызывалась, переменная осталась со значением предыдущей строки. Эта переменная выступает как сумма(или при расчете суммы) в двух проводках(строка 488 и 490 в модуле типового ПУБа). Если значение переменной 0, то проводки естественно не формируются. Формирование проводок тоже сопровождается условием.
Так вот, эта схема иногда приводит к появлению тех двух проводок для строки, в которой нет НДС(а значение РазницаНДС осталось от предыдущей строки). Но еще интересней то, что иногда при восстановлении последовательности через "Операции-Проведение документов" значение переменной РазницаНДС передается из документа в документ! Давно работаю с 1С, но с таким столкнулся впервые. Слышал что-то об особом порядке вызова процедур модуля при таком перепроведении, но увидел впервые. Проверку на наличие глобальных переменных с таким именем и реквизитов делал - нет таких.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #48594 · Ответов: 12 · Просмотров: 4732
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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