Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) dbf Получение остатков из регистров остатков, (число прочтений - 6346 )
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #15 - 24. Марта 2011 :: 08:26
Печать  
И еще такой вопрос, если допустим я хочу получить данные с середины одного месяца до середины другово например, мне что получается, надо
1)Получить остатки на начало первого месяца
2)Прибавить обороты за первую половину, чтобы получить начОст
3)прибавить обороты за период?
  
Наверх
 
IP записан
 
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #16 - 24. Марта 2011 :: 08:47
Печать  
Если сделать вот так
Код
Выбрать все
ТекстЗапроса = "
	|SELECT  
	//|		СпрНоменклатура.descr as НаименованиеНом,
	//|		СпрФирмы.descr as НаименованиеФирмы,
	|    Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],
	|    Рег.Фирма as [Фирма $Справочник.Фирмы],
	|    Рег.Склад as [Склад $Справочник.Склады],
	//|    SUM(Рег.КоличествоОстаток) as Количество,
	|    SUM(Рег.НачОст) as НачОст,
	|    SUM(Рег.Приход) as Приход,
	|    SUM(Рег.Расход) as Расход,
	|    SUM(Рег.КонОст) as КонОст
	|FROM
	|    (SELECT
	|        $Р.Номенклатура AS Номенклатура,
	|    	 $Р.Фирма AS Фирма,
	|    	 $Р.Склад AS Склад,
//	|        $Р.Количество AS КоличествоОстаток,
	|        $Р.Количество AS НачОст,
	|        0 AS Приход,
	|        0 AS Расход,
	|        0 AS КонОст
	|    FROM
	|        $РегистрИтоги.ОстаткиТМЦ as Р
	|    WHERE
	|        (period = :ПредМесяц~~)
	//|        AND ($Р.Склад=:ВыбСклад)
	|
	|    UNION ALL
	|
	|    SELECT
	|        $Р.Номенклатура AS Номенклатура,
	|    	 $Р.Фирма AS Фирма,
	|    	 $Р.Склад AS Склад,
//	|        $Р.Количество * (1 - Р.debkred * 2) AS КоличествоОстаток,
	|        0 AS НачОст,
	|        ($Р.Количество * (1 - (Р.DEBKRED+1)%2)) AS Приход,
	|        ($Р.Количество * (Р.debkred)) AS Расход,
	|        0 AS КонОст
	|    FROM
	|        $Регистр.ОстаткиТМЦ AS Р
	|    INNER JOIN
	|        1sjourn jr ON Р.iddoc = jr.iddoc
//	|            AND (jr.date BETWEEN :НачалоМесяца~~ AND :ПредДата~~)
//	|            AND ($ФлагРегистра.ОстаткиТМЦ = 1)
	//|    WHERE
//	|        ($Р.Склад=:ВыбСклад)
	|    ) Рег
	//|		LEFT JOIN $Справочник.Номенклатура As СпрНоменклатура ON СпрНоменклатура.ID = Рег.Номенклатура
	//|		LEFT JOIN $Справочник.Фирмы As СпрФирмы ON СпрФирмы.ID = Рег.Фирма
	|GROUP BY
	|    Номенклатура,Фирма,Склад";
 


То какие то обороты, выводит, то есть у меня как то не так задан период в джойне к журналу документов
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: dbf Получение остатков из регистров остатков,
Ответ #17 - 24. Марта 2011 :: 09:19
Печать  
галка быстрая обработка движений, или флаг отбора движений на любом из измерений/реквизитов стоит в регистре у тебя ?

А так, запрос у тебя не верный.

Для получения останков(не важно, КонОст или НачОст) ты должен взять итоги с таблички итогов, где Период = предыдущей дате начала хранения останков + прибавить движения из таблички движений от текущей даты начала хранения останков до нужной даты.

Для получения прихода/расхода ты должен просто взять строчки из таблички движений между выбранными датами.

Если нужен КонОст на ТА, то для получения останков достаточно прросто взять строчки с таблички итогов регистра, где период =
текущей дате начала периодичности хранения останков.
  
Наверх
 
IP записан
 
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #18 - 24. Марта 2011 :: 09:28
Печать  
Пробывал и с галкой и без галки, один результат
  
Наверх
 
IP записан
 
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #19 - 24. Марта 2011 :: 09:33
Печать  
Ну допустим НаЧОст на 01.03.11. Это что надо взять Остаток на 1 февраля
Если на 5 марта, то  остаток на 1 февраля + обороты за 1-5 марта так?
  
Наверх
 
IP записан
 
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #20 - 24. Марта 2011 :: 09:44
Печать  
--Для получения прихода/расхода ты должен просто взять строчки из таблички движений между выбранными датами.

Не получается, нули выводит, если между датами, если отбор по датам не ставить то какие то оборты выводит.

По начОст, конОст учту замечание.
Код
Выбрать все
|    SELECT
|	  $Р.Номенклатура AS Номенклатура,
|	     $Р.Фирма AS Фирма,
|	     $Р.Склад AS Склад,
|	  0 AS НачОст,
|	  ($Р.Количество * (1 - (Р.DEBKRED+1)%2)) AS Приход,
|	  ($Р.Количество * (Р.debkred)) AS Расход,
|	  0 AS КонОст
|    FROM
|	  $Регистр.ОстаткиТМЦ AS Р
|    INNER JOIN
|	  1sjourn jr ON Р.iddoc = jr.iddoc
	|		AND (jr.date BETWEEN :НачалоМесяца~~ AND :ПредДата~~)
 

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: dbf Получение остатков из регистров остатков,
Ответ #21 - 24. Марта 2011 :: 10:10
Печать  
Если галка быстрая обработка движений стоит, то на вот, развлекайся:

ЗЫ: фирму сам добавишь (у меня её нет, она в реквизитах болтается у меня..)
  

_________001.ert ( 104 KB | Загрузки )
Наверх
 
IP записан
 
evy16ni16
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 13
Зарегистрирован: 30. Августа 2010
Re: dbf Получение остатков из регистров остатков,
Ответ #22 - 24. Марта 2011 :: 10:17
Печать  
Спасибки, работаетУлыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать