Имя: Пароль:
1C
1С v8
Остатки на начало и конец
0 goleaff2006
 
28.02.13
06:21
Есть запрос
ВЫБРАТЬ
   ПартииНоменклатурыОстаткиИОбороты.Номенклатура,
   ПартииНоменклатурыОстаткиИОбороты.Характеристика,
   ПартииНоменклатурыОстаткиИОбороты.МестоХранения,
   ПартииНоменклатурыОстаткиИОбороты.Статус,
   ПартииНоменклатурыОстаткиИОбороты.Партия,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоПриход,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоРасход,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьНачальныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьКонечныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьПриход,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьРасход,
   ВЫБОР
       КОГДА ПартииНоменклатурыОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
           ТОГДА NULL
       ИНАЧЕ ПартииНоменклатурыОстаткиИОбороты.Регистратор
   КОНЕЦ КАК Регистратор,
   ПартииНоменклатурыОстаткиИОбороты.ПериодДень,
   ПартииНоменклатурыОстаткиИОбороты.ПериодМесяц,
   ПартииНоменклатурыОстаткиИОбороты.ПериодПолугодие,
   ПартииНоменклатурыОстаткиИОбороты.ПериодГод,
   ПартииНоменклатурыZ.СебестоимостьРасход КАК СебестоимостьРасходZ,
   ПартииНоменклатурыZ.КоличествоРасход КАК КоличествоРасходZ,
   ПартииНоменклатурыОстаткиИОбороты.ПериодСекунда
ИЗ
   РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , {(МестоХранения).*, (Номенклатура).*, (Партия).*, (Статус), (Характеристика).*}) КАК ПартииНоменклатурыОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, , {(МестоХранения).*, (Номенклатура).*, (Партия).*, (Статус), (Характеристика).*}) КАК ПартииНоменклатурыZ
       ПО ПартииНоменклатурыОстаткиИОбороты.Регистратор = ПартииНоменклатурыZ.Регистратор
           И ПартииНоменклатурыОстаткиИОбороты.Номенклатура = ПартииНоменклатурыZ.Номенклатура
           И (ПартииНоменклатурыZ.Регистратор ССЫЛКА Документ.Zотчет)
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
           СвойстваОбъектов.Ссылка,
           СвойстваОбъектов.Наименование,
           СвойстваОбъектов.ТипЗначения
       ИЗ
           ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
       ГДЕ
           СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
           ЗначенияСвойствОбъектов.Объект,
           ЗначенияСвойствОбъектов.Свойство,
           МАКСИМУМ(ЗначенияСвойствОбъектов.Значение) КАК Значение
       ИЗ
           РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
       
       СГРУППИРОВАТЬ ПО
           ЗначенияСвойствОбъектов.Объект,
           ЗначенияСвойствОбъектов.Свойство)
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }
роли настроены как положено у полей. Когда выводишь данные только по группировке Номенклатура он не правильно выводит остатки в итогах.Он их суммирует. если отдельно выполнить запрос
ВЫБРАТЬ
   ПартииНоменклатурыОстаткиИОбороты.Номенклатура,
   ПартииНоменклатурыОстаткиИОбороты.Характеристика,
   ПартииНоменклатурыОстаткиИОбороты.МестоХранения,
   ПартииНоменклатурыОстаткиИОбороты.Статус,
   ПартииНоменклатурыОстаткиИОбороты.Партия,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоПриход,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоРасход,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьНачальныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьКонечныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьПриход,
   ПартииНоменклатурыОстаткиИОбороты.СебестоимостьРасход,
   ВЫБОР
       КОГДА ПартииНоменклатурыОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
           ТОГДА NULL
       ИНАЧЕ ПартииНоменклатурыОстаткиИОбороты.Регистратор
   КОНЕЦ КАК Регистратор,
   ПартииНоменклатурыОстаткиИОбороты.ПериодДень,
   ПартииНоменклатурыОстаткиИОбороты.ПериодМесяц,
   ПартииНоменклатурыОстаткиИОбороты.ПериодПолугодие,
   ПартииНоменклатурыОстаткиИОбороты.ПериодГод,
   ПартииНоменклатурыОстаткиИОбороты.ПериодСекунда
ИЗ
   РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , {(МестоХранения).*, (Номенклатура).*, (Партия).*, (Статус), (Характеристика).*}) КАК ПартииНоменклатурыОстаткиИОбороты
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
           СвойстваОбъектов.Ссылка,
           СвойстваОбъектов.Наименование,
           СвойстваОбъектов.ТипЗначения
       ИЗ
           ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
       ГДЕ
           СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура))
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК (ВЫБРАТЬ
           ЗначенияСвойствОбъектов.Объект,
           ЗначенияСвойствОбъектов.Свойство,
           МАКСИМУМ(ЗначенияСвойствОбъектов.Значение) КАК Значение
       ИЗ
           РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
       
       СГРУППИРОВАТЬ ПО
           ЗначенияСвойствОбъектов.Объект,
           ЗначенияСвойствОбъектов.Свойство)
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }
то выводит все нормально.Как можно сделать чтобы правильно выводил остатки когда соединяешь две виртуальные таблицы?
1 el-gamberro
 
28.02.13
06:26
А зачем для ПартииНоменклатурыZ использовать ОстаткиИОбороты ? По сути запроса достаточно таблицы оборотов.
А если все таки хочешь верные остатки для ОстаткиИОбороты, нужно:
а. Период - Авто
б. в выборку ПартииНоменклатурыZ.ПериодСекунда
2 el-gamberro
 
28.02.13
06:28
А это вообще забавно. С одной стороны:
ВЫБОР
       КОГДА ПартииНоменклатурыОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
           ТОГДА NULL
       ИНАЧЕ ПартииНоменклатурыОстаткиИОбороты.Регистратор
   КОНЕЦ КАК Регистратор
С другой:
ЛЕВОЕ СОЕДИНЕНИЕ
       ПО ПартииНоменклатурыОстаткиИОбороты.Регистратор = ПартииНоменклатурыZ.Регистратор
3 goleaff2006
 
28.02.13
06:35
Ну да можно и обороты но остатки то не правильно выводит по  первому регистру.
4 goleaff2006
 
28.02.13
06:37
(2)все правильно он  в строку где регистратор zотчет подставит данные полученные из второго регистра.
5 goleaff2006
 
28.02.13
06:39
(1)ничего не поменялось я так уже делал.
6 goleaff2006
 
28.02.13
06:47
А скд формирует скотина  <query>ВЫБРАТЬ
   ПартииНоменклатурыОстаткиИОбороты.Номенклатура КАК Номенклатура,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход,
   ПартииНоменклатурыОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,
   ПартииНоменклатурыZ.КоличествоРасход КАК КоличествоРасходZ,
   ПРЕДСТАВЛЕНИЕССЫЛКИ(ПартииНоменклатурыОстаткиИОбороты.Номенклатура) КАК НоменклатураПредставление,
   ПартииНоменклатурыОстаткиИОбороты.Номенклатура.Наименование КАК НоменклатураНаименование
ИЗ
   РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты(&amp;П, &amp;П2, Авто, , Номенклатура В ИЕРАРХИИ(&amp;П3)) КАК ПартииНоменклатурыОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты(&amp;П, &amp;П2, Авто, , Номенклатура В ИЕРАРХИИ(&amp;П3)) КАК ПартииНоменклатурыZ
       ПО ПартииНоменклатурыОстаткиИОбороты.Регистратор = ПартииНоменклатурыZ.Регистратор
           И ПартииНоменклатурыОстаткиИОбороты.Номенклатура = ПартииНоменклатурыZ.Номенклатура
           И (ПартииНоменклатурыZ.Регистратор ССЫЛКА Документ.Zотчет)</query> такой запрос
7 goleaff2006
 
28.02.13
07:14
ап
8 goleaff2006
 
28.02.13
07:14
где же вы гении?
9 goleaff2006
 
28.02.13
11:19
Если кому интересно, поставил галку обязательное у поля регистратор и секунда, и скд начало нормально все рассчитывать.
10 Jaffar
 
28.02.13
11:31
остатки на начало. и конец.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.