Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) В регистре хранится ссылка на Счет, как получить движения подчиненных счету (число прочтений - 3711 )
Vix
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
В регистре хранится ссылка на Счет, как получить движения подчиненных счету
25. Марта 2011 :: 05:18
Печать  
В регистре остаткиПоСчетам хранится ссылка на документ Счет, у документа Счет есть подчиненные документы Реализация, которые тоже двигают регистр остатки по счетам. Счет двигает регистр по измерению количество, а реализация по измерению отгружено. В следующем запросе выводятся все измерения, но не понятно какие документы двинули регистр по измерению отгружено. Подскажите какие нибудь идеи как это можно вывести?
[code]Процедура Сформировать()
     Перем тз; //:ТаблицаЗначений
     
     рс = СоздатьОбъект("ODBCRecordset");
     ТекстЗапроса = "
           |SELECT NullIf(ОстаткиПоСчетамИтоги.PERIOD, '17530101') Период
           |      , $ОстаткиПоСчетамИтоги.СсылкаНаДокумент [СсылкаНаДокумент $Справочник.Сопровождение]
           |      , $ОстаткиПоСчетамИтоги.Номенклатура [Номенклатура $Справочник.Номенклатура]
           |      , Sum($ОстаткиПоСчетамИтоги.Количество) СуммаКоличество
           |      , Sum($ОстаткиПоСчетамИтоги.Отгружено) СуммаОтгружено
           |      , Sum($ОстаткиПоСчетамИтоги.Зарезервировано) СуммаЗарезервировано
           |      , Sum($ОстаткиПоСчетамИтоги.НаСборку) СуммаНаСборку
           |      , Sum($ОстаткиПоСчетамИтоги.Собрано) СуммаСобрано
           |      , Sum($ОстаткиПоСчетамИтоги.ОтгруженоПоСкладу) СуммаОтгруженоПоСкладу
           |FROM $РегистрИтоги.ОстаткиПоСчетам AS ОстаткиПоСчетамИтоги (NOLOCK)
           |WHERE (ОстаткиПоСчетамИтоги.PERIOD = :ПериодТА)
           |GROUP BY ОстаткиПоСчетамИтоги.PERIOD
           |      , $ОстаткиПоСчетамИтоги.Номенклатура
           |      , $ОстаткиПоСчетамИтоги.СсылкаНаДокумент
           |HAVING Sum($ОстаткиПоСчетамИтоги.Количество)<>0
           |ORDER BY $ОстаткиПоСчетамИтоги.Номенклатура
           |";
     рс.УстановитьТекстовыйПараметр("ПериодТА", НачМесяца(ТекущаяДата()));
     тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
     тз.Выгрузить(ТабНакладные);
КонецПроцедуры[/code]
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #1 - 25. Марта 2011 :: 06:03
Печать  
Приведите полностью описание регистра
все измерения ресурсы реквизиты с их типами.

база dbf sql ?      


может OFF мне кажеться что такой регистр не будет никогда закрываться со всеми вытекающими последствиями.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #2 - 25. Марта 2011 :: 06:05
Печать  
также по (0)  Nullif yt не нужен у Вас же рассматривается только
один период WHERE (ОстаткиПоСчетамИтоги.PERIOD = :ПериодТА)
  
Наверх
 
IP записан
 
Vix
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #3 - 25. Марта 2011 :: 06:28
Печать  
База SQL
Регистр ОстаткиПоСчетам  ,оборотный по месяцу
Измерение: СсылкаНаДокумент, тип Справочник.Сопровождения, Документ Счет и все остальные при проведении записывается в этот справочник
Измерение Номенклатура, тип справочник Номенклатура
Измерение Склад, тип справочник Склады
Измерение ЗаявкаНаСборку, тип Документ
Ресурс Количество, двигает документ счет
Ресурс Отгружено, двигает документ реализация
Ресурс Зарезервированно, двигает документ Счет
Ресурс НаСборку, двигает документ ЗаявкаНаСборку
Ресурс Собрано, двигает документ РезервированиеПоСкладу
Ресурс ОтгруженоПоСкладу, двигает документ РасходныйОрдерТМЦ
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #4 - 25. Марта 2011 :: 06:37
Печать  
[quote author=Vix link=1301030330/0#0 date=1301030330]В регистре остаткиПоСчетам хранится ссылка на документ Счет, у документа Счет есть подчиненные документы Реализация, которые тоже двигают регистр остатки по счетам.
[/quote]

в твоём запросе не видно Измерения счет с типом Документ.
Видно только СсылкаНаДокумент тип справочник.
Что имеется ввиду под ссылкой на документ ?
Мот ты путаешь с документом движения регистра ?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #5 - 25. Марта 2011 :: 06:42
Печать  
Vix писал(а) 25. Марта 2011 :: 06:28:
Измерение: СсылкаНаДокумент, тип Справочник.Сопровождения, Документ Счет и все остальные при проведении записывается в этот справочник


а в справочнике Справочник.Сопровождени есть реквизит поди с типом <Документ> без вида ?
ЗЫ: делай левое соедиение со справочником Справочник.Сопровождения, далее в селекте case на первые 4 символа(это вид документа в твоём реквизите типа <Документ>) с проверкой на $ВидДокумента.НужныйВид ...

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


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #6 - 25. Марта 2011 :: 06:44
Печать  
Да есть реквизит с типом документ, куда в данном случает записывается документ Счет
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #7 - 25. Марта 2011 :: 07:01
Печать  
Z1 писал(а) 25. Марта 2011 :: 06:03:
может OFF мне кажеться что такой регистр не будет никогда закрываться со всеми вытекающими последствиями.

регистр оборотов так что не очень страшно.
  
Наверх
 
IP записан
 
Vix
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #8 - 29. Марта 2011 :: 07:27
Печать  
[quote author=Eprst link=1301030330/0#5 date=1301035350]
[b]Измерение:[/b] далее в селекте case на первые 4 символа(это вид документа в твоём реквизите типа <Документ>) с проверкой на $ВидДокумента.НужныйВид ...
[/quote]

[code]Перем тз; //:ТаблицаЗначений      
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
SELECT
|, $ОстаткиПоСчетамИтоги.СсылкаНаДокумент [СсылкаНаДокумент $Справочник.Сопровождение]            
|, $ОстаткиПоСчетамИтоги.Номенклатура [Номенклатура $Справочник.Номенклатура]
|, Sum($ОстаткиПоСчетамИтоги.Количество) СуммаКоличество
|, Sum($ОстаткиПоСчетамИтоги.Отгружено) СуммаОтгружено
|, Sum($ОстаткиПоСчетамИтоги.Зарезервировано) СуммаЗарезервировано
|, Sum($ОстаткиПоСчетамИтоги.НаСборку) СуммаНаСборку
|, Sum($ОстаткиПоСчетамИтоги.Собрано) СуммаСобрано
|, Sum($ОстаткиПоСчетамИтоги.ОтгруженоПоСкладу) СуммаОтгруженоПоСкладу
[highlight]|FROM $РегистрИтоги.ОстаткиПоСчетам AS ОстаткиПоСчетамИтоги (NOLOCK) [/highlight]
|LEFT JOIN $Справочник.Сопровождение as Сопровождение (nolock)
|WHERE (ОстаткиПоСчетамИтоги.PERIOD = :ПериодТА)
//|AND
|GROUP BY ОстаткиПоСчетамИтоги.PERIOD
|      , $ОстаткиПоСчетамИтоги.Номенклатура
|      , $ОстаткиПоСчетамИтоги.СсылкаНаДокумент
|HAVING Sum($ОстаткиПоСчетамИтоги.Количество)<>0
|ORDER BY $ОстаткиПоСчетамИтоги.Номенклатура
|";
             рс.УстановитьТекстовыйПараметр("ПериодТА",    
             НачМесяца  (ТекущаяДата()));
     рс.Отладка(1);
     тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);[/code]


не совсем понял, просто недавно начал осваивать прямые запросы.
левое соединение понял, а где select case c проверкой писать?
|FROM  (
|    select
     ...
|   , MAX(ОстаткиПоСчетамИтоги.ВидДокумента) Док_вид
|CASE WHEN   (так чтоли)

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



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #9 - 29. Марта 2011 :: 09:31
Печать  
Код
Выбрать все
		|SELECT
		|    ОстаткиПоСчетамИтоги.PERIOD  Период
		|   ,left (Спр.СсылкаНаДокументВСправочнике,4) [ВидДока $ВидДокумента]
		|	, $ОстаткиПоСчетамИтоги.СсылкаНаДокумент [СсылкаНаДокумент $Справочник.Сопровождение]
		|	, $ОстаткиПоСчетамИтоги.Номенклатура [Номенклатура $Справочник.Номенклатура]
		|	, Sum($ОстаткиПоСчетамИтоги.Количество) СуммаКоличество
		|	, Sum($ОстаткиПоСчетамИтоги.Отгружено) СуммаОтгружено
		|	, Sum($ОстаткиПоСчетамИтоги.Зарезервировано) СуммаЗарезервировано
		|	, Sum($ОстаткиПоСчетамИтоги.НаСборку) СуммаНаСборку
		|	, Sum($ОстаткиПоСчетамИтоги.Собрано) СуммаСобрано
		|	, Sum($ОстаткиПоСчетамИтоги.ОтгруженоПоСкладу) СуммаОтгруженоПоСкладу
		|FROM $РегистрИтоги.ОстаткиПоСчетам AS ОстаткиПоСчетамИтоги (NOLOCK)
		|Left join $Справочник.Сопровождение Спр (nolock) on Спр.id = $ОстаткиПоСчетамИтоги.СсылкаНаДокумент
		|WHERE (ОстаткиПоСчетамИтоги.PERIOD = :ПериодТА)
		|GROUP BY
		|    ОстаткиПоСчетамИтоги.PERIOD
		|   , left (Спр.СсылкаНаДокументВСправочнике,4)
		|   , $ОстаткиПоСчетамИтоги.Номенклатура
		|   , $ОстаткиПоСчетамИтоги.СсылкаНаДокумент
		|HAVING Sum($ОстаткиПоСчетамИтоги.Количество)<>0

		|"; 

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


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #10 - 30. Марта 2011 :: 04:05
Печать  
Ничего не меняется, только показывает еще вид документа. Получается так, в движениях по Счету, ссылканадокумент это сам документ Счет, Реализация тоже двигает регистр ОстаткиПоСчетам по другому ресурсу, но в измерение ссылканадокумент также записывается докоснование, т.е. Счет.  Это сделано для работы с заявками, т.е. все подчиненые документы Счету двигают один и тотже регистр по разным ресурсам, но в измерение ссылканадокумент всегда записывается счет, чтобы было видно сколько выставили по счету, собрали,  отгрузили. В запросе у меня выводится не совсем нужная информация. Выводится общее количество отгруженных по счету, а хотелось бы развернуть именно по документам которые сделали это движение, т.е. документы подчиненные счету так сказать.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #11 - 30. Марта 2011 :: 04:38
Печать  
Vix писал(а) 30. Марта 2011 :: 04:05:
Ничего не меняется, только показывает еще вид документа. Получается так, в движениях по Счету, ссылканадокумент это сам документ Счет, Реализация тоже двигает регистр ОстаткиПоСчетам по другому ресурсу, но в измерение ссылканадокумент также записывается докоснование, т.е. Счет.  Это сделано для работы с заявками, т.е. все подчиненые документы Счету двигают один и тотже регистр по разным ресурсам, но в измерение ссылканадокумент всегда записывается счет, чтобы было видно сколько выставили по счету, собрали,  отгрузили. В запросе у меня выводится не совсем нужная информация. Выводится общее количество отгруженных по счету, а хотелось бы развернуть именно по документам которые сделали это движение, т.е. документы подчиненные счету так сказать.


Чего ?
Ты же смотришь ОСТАНКИ.. а там только ИЗМЕРЕНИЯ ...
Если у тебя в измерении СсылкаНаДокументВСправочнике всегда один и тот-же вид документа, то что ты хочешь тогда ?

ЗЫ: чтобы увидеть документ движения регистра, нужно как минимум смотреть ДВИЖЕНИЯ (т.е табличку движений) за период, а не табличку останков, в которой только промежуточные итоги по набору измерений.
  
Наверх
 
IP записан
 
Vix
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #12 - 30. Марта 2011 :: 10:21
Печать  
Вышел из ситуации следующим способом, просто создал новое измерение в регистре ОстаткиПоСчетам, чтобы записывать движения документа реализация по ресурсам отгружено и отгруженопоскладу. Теперь в запрос попадают движения счетов и реализаций. Спасибо всем за ответы!
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #13 - 30. Марта 2011 :: 10:28
Печать  
Vix писал(а) 30. Марта 2011 :: 10:21:
Вышел из ситуации следующим способом, просто создал новое измерение в регистре ОстаткиПоСчетам, чтобы записывать движения документа реализация по ресурсам отгружено и отгруженопоскладу. Теперь в запрос попадают движения счетов и реализаций. Спасибо всем за ответы!


Нафига ?

Только сейчас прочитал, что у тебя ОБОРОТНЫЙ регистр...
Нафига ты в нём вообще смотришь табличку Остатков ???
Когда нужно смотреть табличку движений.
Выкидывай к едрени фени своё новое измерение, делай запрос к табличке движений регистра и смотри документ движения регистра, от него свой вид документа получишь, по нему и сгруппируешь.

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


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Марта 2011
Re: В регистре хранится ссылка на Счет, как получить движения подчиненных счету
Ответ #14 - 31. Марта 2011 :: 04:44
Печать  
Просто есть документ реализация основание его счет, и есть документ реализация складская основание его реализация. Получается мне нужно видеть сколько по реализации отгружено, сколько по складской реализации отгруженопоскладу, ну и сколько заказано было счетом. Просто запрос я себе не представляю, выбрать счета, из этих счетов получить документы реализация или реализация уневерсальная, а из реализаций потом еще и реализацию складскую. А так я создал измерение в регистре, и двигаю по нему и реализацию и реализацию по складу, записывая в ссылкунаотгрузку документ реализация, счет я всегда получу из основания реализаций.  Я погляжу еще примеры, может и найду что-то похожее. Пока вот решил задачу таким образом. Прямые запросы стоящая вещь, выборку документов из регистра уже раз в 20 сократил если не больше
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать