Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 13:49

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

Автор bek007, 12 мая 2016, 16:30

0 Пользователей и 1 гость просматривают эту тему.

bek007

средную цену поставил из регистр накопление теперь когда изменяю цену на одну дату не изменяются на следующих дат помогите пожалюста.

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

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

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


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

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

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

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

Rasty

Цитата: bek007 от 12 мая 2016, 16:30изменяю цену на одну дату не изменяются на следующих дат
?


Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

bek007

Цитата: Rasty от 12 мая 2016, 16:43
Цитата: bek007 от 12 мая 2016, 16:30изменяю цену на одну дату не изменяются на следующих дат
?
например из поставшика пришел что небуд цена вводится ручную  и средная цена изменяется но не изменяется на следуюшие дни тоесть надо вручную открыт все партии и провести

Rasty

Поставщик, который извергает товары :D , есть метод пересчет итогов в регистрах накопления
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

bek007

Цитата: Rasty от 12 мая 2016, 16:51
Поставщик, который извергает товары :D , есть метод пересчет итогов в регистрах накопления
я новичок в этом деле надо сделать так чтобы при изменение цену на пример 10,05,2016 изменилса цена этого товара на 11,05,2016 ...... пожалюста
Добавлено: 12 мая 2016, 17:26


помогите пожалуйста дайте хот направление типа пробуй так или так очень прошу

cska-fanat-kz

1. возьмите не таблицу ОстаткиИОбороты а таблицу Остатки
2. цену (=Сумма/Количество) сразу в запросе посчитайте
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

bek007

Цитата: cska-fanat-kz от 13 мая 2016, 08:15
1. возьмите не таблицу ОстаткиИОбороты а таблицу Остатки
2. цену (=Сумма/Количество) сразу в запросе посчитайте
1. так тоже можно 2. сумма расчитивается сумма=количество*цена проблема в том что я немогу цену поставит на следуюших месяцев. когда добавлю не переодично цена не изменяется на следуюших месяцев((
Добавлено: 13 мая 2016, 10:13


может я не туда пишу события. их пишу в модуле формы так правилно?

cska-fanat-kz

вы меня конечно извините...
ваще ничего не понятно что вы пишите :trhregerhg:
нету никого рядом кто лучше говорит по-русски?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

bek007

Цитата: cska-fanat-kz от 13 мая 2016, 12:20
вы меня конечно извините...
ваще ничего не понятно что вы пишите :trhregerhg:
нету никого рядом кто лучше говорит по-русски?
пример: на складе цемент - средная цена  1 тн 1500 на 12.05.2016| сделаю  приход на 13.05.2016| от поставшика цемент - цена 1 тн 2000 на 08.05.2016| от поставшика цена пишется в ручную а не средная. проблема: чтобы правильно все было(сред.цена на 12.05.2016 - 1750) мне надо открыт и препровести все документы, тоесть 08.05.2016, 09.05.2016, ... и.т.д тут документов много надо все это автоматом сделалас помоги пожалюста:(   
Добавлено: 13 мая 2016, 18:05


Цитата: cska-fanat-kz от 13 мая 2016, 12:20
вы меня конечно извините...
ваще ничего не понятно что вы пишите :trhregerhg:
нету никого рядом кто лучше говорит по-русски?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Стр1= Объект.Дата;
   Стр = Объект.Товары[0].Материал;
   стр3 = Объект.Товары[0].ЕднИзм;
   Стр2 = Объект.От.Наименование;
   Если ОстатокНаСкладе(Стр1,Стр1,Стр,Стр3)<>0 и стр2 <> "Поставшик" тогда
   Объект.Товары[0].Цена = ОстатокНаСкладе(Стр1,Стр1,Стр,Стр3);
Иначе Объект.Товары[0].Цена = Объект.Товары[0].Цена
   Команды
   КонецЕсли;

КонецПроцедуры
помоги с этим пожалюста

Rasty

Цитата: bek007 от 13 мая 2016, 14:57Команды
Это что?

Цитата: bek007 от 13 мая 2016, 14:57ОстатокНаСкладе(Стр1,Стр1,Стр,Стр3)
а это что?

Цитата: bek007 от 13 мая 2016, 14:57Объект.Товары[0].Цена = Объект.Товары[0].Цена
в чем прикол этого?

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск