8.х средную цену поставил из регистр накопление....?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем bek007, 12 май 2016.

  1. TopicStarter Overlay
    bek007
    Offline

    bek007

    Регистрация:
    12 май 2016
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    средную цену поставил из регистр накопление теперь когда изменяю цену на одну дату не изменяются на следующих дат помогите пожалюста.

    &НаСервере
    Функция ОстатокНаСкладе(Дата,Дата1,Материал,ЕднИзм)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЦенаОстаткиИОбороты.Прораб) КАК Прораб,
    |ЦенаОстаткиИОбороты.Материал,
    |ЦенаОстаткиИОбороты.ЕднИзм,
    |СУММА(ЦенаОстаткиИОбороты.КолвоНачальныйОстаток) КАК КолвоНачальныйОстаток,
    |СУММА(ЦенаОстаткиИОбороты.КолвоКонечныйОстаток) КАК КолвоКонечныйОстаток,
    |СУММА(ЦенаОстаткиИОбороты.КолвоПриход) КАК КолвоПриход,
    |СУММА(ЦенаОстаткиИОбороты.КолвоРасход) КАК КолвоРасход,
    |СУММА(ЦенаОстаткиИОбороты.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
    |СУММА(ЦенаОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
    |СУММА(ЦенаОстаткиИОбороты.СуммаПриход) КАК СуммаПриход,
    |СУММА(ЦенаОстаткиИОбороты.СуммаРасход) КАК СуммаРасход
    |ИЗ
    |РегистрНакопления.Цена.ОстаткиИОбороты(&Дата,&Дата1,День,ДвиженияИГраницыПериода,&Материал = Материал И &ЕднИзм = ЕднИзм) КАК ЦенаОстаткиИОбороты

    |СГРУППИРОВАТЬ ПО
    |ЦенаОстаткиИОбороты.Материал,
    |ЦенаОстаткиИОбороты.ЕднИзм";

    Запрос.УстановитьПараметр("Дата",Дата);
    Запрос.УстановитьПараметр("Дата1",Дата1);
    Запрос.УстановитьПараметр("Материал", Материал);
    Запрос.УстановитьПараметр("ЕднИзм", ЕднИзм);
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
    Если ВыборкаДетальныеЗаписи.Следующий() Тогда
    Возврат ВыборкаДетальныеЗаписи.СуммаНачальныйОстаток / ВыборкаДетальныеЗаписи.КолвоНачальныйОстаток;


    Иначе
    Возврат 0;
    КонецЕсли;
    КонецФункции

    &НаКлиенте
    Процедура ТоварыМатериалПриИзменении(Элемент)
    Стр1= Объект.Дата;
    Стр2 = Элементы.От.ТекстРедактирования;
    Стр = Элементы.Товары.ТекущиеДанные;
    стр.ЕднИзм = ПолучитьЕднИзм(стр.Материал);
    Если ОстатокНаСкладе(Стр1,Стр1,Стр.Материал,Стр.ЕднИзм)<>0 и стр2 <> "Поставшик" тогда
    стр.Цена = ОстатокНаСкладе(Стр1,Стр1,Стр.Материал,Стр.ЕднИзм);
    РасчитатьСумму();
    Иначе стр.Цена = стр.Цена;
    КонецЕсли;

    КонецПроцедуры

    незнаю так правильно или нет но работает!

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