8.х Как перед началом запроса, очистить колонку ТабЧасти?

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

  1. TopicStarter Overlay
    Student15
    Offline

    Student15 Опытный в 1С

    Регистрация:
    10 апр 2011
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    26
    Привет!
    Кто в курсе, подскажите перед началом запроса и цикла, очистить ячейку ТабличнойЧасти, чтобы выполнился запрос, все подсчиталось, но когда запрос выполниться еще раз, перед этим, табличное поле очистилось(т.е. чтобы значения не накапливались, а стирались перед каждым запросом)! Пробывал Неопределенно, но ячейка так и остаётся пустой!
    Заранее спасибо!
    Код:
    ТекущаяСтрока=ЭлементыФормы.РеализацияТоваров.ТекущиеДанные;
    ТекущаяСтрока.Цена=Неопределено;
    
    Запрос=Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    |	ТипыЦенСрезПоследних.Наценка / 100 КАК Поле1,
    |	ТипыЦенСрезПоследних.ТипЦены,
    |	ТипыЦенСрезПоследних.Номенклатура,
    |	РеализацияРеализацияТоваров.Цена
    |ИЗ
    |	Документ.Реализация.РеализацияТоваров КАК РеализацияРеализацияТоваров
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТипыЦен.СрезПоследних КАК ТипыЦенСрезПоследних
    |		ПО РеализацияРеализацияТоваров.Номенклатура = ТипыЦенСрезПоследних.Номенклатура
    |ГДЕ
    |	ТипыЦенСрезПоследних.ТипЦены = &ТипЦены
    |	И РеализацияРеализацияТоваров.Ссылка = &Ссылка
    |	И ТипыЦенСрезПоследних.Номенклатура = &Номенклатура";			  
    Запрос.УстановитьПараметр("ТипЦены", ТекущаяСтрока.ТипЦен);
    Запрос.УстановитьПараметр("Номенклатура", ТекущаяСтрока.Номенклатура);
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    //ТекущаяСтрока.Цена.Очистить();		
    ТекущаяСтрока.Цена=(ТекущаяСтрока.Цена+(ТекущаяСтрока.Цена*Выборка.Поле1));
    КонецЦикла;
    
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Цена - это же число...
    Может, его обнулять???
  3. TopicStarter Overlay
    Student15
    Offline

    Student15 Опытный в 1С

    Регистрация:
    10 апр 2011
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    26
    Присваивать ТекущаяСтрока.Цена= 0 ?
    При выполнении колонка, становиться пустой(т.е. 0), где поставить ТекущаяСтрока.Цена= 0 , перед началом цикла - колонка обнуляется и все. Что можно сделать чтобы значение считалось, а когда новый цикл, сначала обнулялось предыдущее значение, а потом выполнялся результат запроса?!
  4. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Что-то мне непонятно, что вы пытаетесь сделать. В запросе выбираете цену и наценку на номенклатуру в текущей строке. А в формле умножаете и складываете своё "Неопределено".

    Может так надо?

    Код:
    ТекущаяСтрока=ЭлементыФормы.РеализацияТоваров.ТекущиеДанные;
    //ТекущаяСтрока.Цена=Неопределено;
    Пока Выборка.Следующий() Цикл
    //ТекущаяСтрока.Цена.Очистить();        
    ТекущаяСтрока.Цена=(Выборка.Цена+(Выборка.Цена*Выборка.Поле1));
    КонецЦикла;
    
    
    А для чего используется этот код? Пересчет цены в одной строке, может можно сразу всю ТЧ обработать?
  5. TopicStarter Overlay
    Student15
    Offline

    Student15 Опытный в 1С

    Регистрация:
    10 апр 2011
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    26
    Выборка.Цена - это цена поставщиков, заносящаяся приходной накладной в Регистр цены, в Расходной она автоматически подставляющаяся при выборе номенклатуры. Цена Закупочная!
    Выборка.Поле1 - это наценка, физическое число, хранящяся в РегистреСведений и задающаяся документом Установка цен номенклатуры, вместе с наценкой в регистп попадает и номенклатура!
    ТЧ обработать конечно правильно, но существует реквезит ТЧ ТипЦена, При изменении которого должна меняться цена, причем , значение реквезита, нужно задавать к каждому реквезиту Номенклатура!
  6. TopicStarter Overlay
    Student15
    Offline

    Student15 Опытный в 1С

    Регистрация:
    10 апр 2011
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    26

    А хочу я сделать следующее, Реквезит ТЧ ТипЦены изменился, выполнилась процедура значение реквезита Цена посчиталось. Затем при следующем изменении реквезита ТЧ ТипЦены, чтобы значение реквезита Цена обнулялось, и потом выполнялась функция пересчета и так по кругу()чтобы не накапливалось, в реквезитте Цена значение и не перемножалось в геометрической прогресии).!

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