7.7 Не правильно выводятся остатки при сравнении двух ТЗ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем xDee, 28 ноя 2011.

  1. TopicStarter Overlay
    xDee
    Offline

    xDee

    Регистрация:
    16 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток всем! Нужна ваша помощь! Есть обработка загрузки прайса из Excel в ТиС, необходимо контролировать изменение новой цены на 1% от старой и выводить эти позиции в ТЗ на форме обработки. Написал обращение к регистру ОстаткиТМЦ и загнал данные в тзОстатки, проверил все выводится корректно. Теперь на форме создаю еще одну ТЗ и заполняю ее данными которые соответствуют условиям
    Код:
    Если (Число(КолВоПроц)>1) И (Число(_Остатки)>0) Тогда
    
    . Проценты считаются все правильно, а вот с остатками неправильно. Что я делаю не так ?
    Получаю остатки :
    Код:
    	Рег=СоздатьОбъект("Регистр.ОстаткиТМЦ");
    тзОстатки = СоздатьОбъект("ТаблицаЗначений");
    тзОстатки.НоваяКолонка("Номенкл");
    тзОстатки.НоваяКолонка("Кол");
    Рег.ВременныйРасчет();	
    РассчитатьРегистрыПо(ТекущаяДата());	
    Рег.ВыбратьИтоги(); 	
    Пока Рег.ПолучитьИтог()=1 цикл
    тзОстатки.НоваяСтрока();
    тзОстатки.Кол = Рег.Количество;
    тзОстатки.Номенкл = Рег.Номенклатура;
    КонецЦикла;
    
    Ищу номенклатуру в тзОстатки:
    Код:
    тзОстатки.ВыбратьСтроки();
    Стр = "";
    Если тзОстатки.НайтиЗначение(ТекущийТовар,Стр,"Номенкл") = 1 Тогда
    тзОстатки.ПолучитьСтрокуПоНомеру(Стр);
    _Остатки=тзОстатки.Кол;
    КонецЕсли;
    Сообщить(Лев(КолВоПроц,3)+"_"+_Остатки);
    
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Для чего делается
    Код:
     
    тзОстатки.ВыбратьСтроки();
    
    
    ????

    И обнулите переменную _Остатки перед поиском по тзОстатки

    Т.е. Д.б. так
    Код:
    Стр = 0;
    _Остатки=0;
    Если тзОстатки.НайтиЗначение(ТекущийТовар,Стр,"Номенкл") = 1 Тогда
    тзОстатки.ПолучитьСтрокуПоНомеру(Стр);
    _Остатки=тзОстатки.Кол;
    КонецЕсли;
    
    
  3. TopicStarter Overlay
    xDee
    Offline

    xDee

    Регистрация:
    16 авг 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    тзОстатки.ВыбратьСтроки(); это были попытки забыл закоментировать, в самой обработке этого нет.
    Спасибо, забыл обнулять остатки, строку обнулял а остатки нет.

Поделиться этой страницей