![]() |
![]() |
![]() |
|
Регистр накопления Остатки и обороты. Получить остатки за каждый месяц | ☑ | ||
---|---|---|---|---|
0
dimoff
29.04.11
✎
13:25
|
Сейчас при обращении к
РегистрНакопления.ИмяРегистра.ОстаткиИОбороты(&ДатаС, &ДатаПо, Месяц, , ) КАК ОстаткиОбороты остатки считаются только по месяцам в которых были обороты, нет ли возможности получить виртуальную таблицу с остатками по всем месяцам независимо от наличия оборотов? Внимание: интересует именно средствами таблицы Остатки и Обороты |
|||
1
Megas
29.04.11
✎
13:26
|
СКД метод дополнения месяц
|
|||
2
GROOVY
29.04.11
✎
13:26
|
Запрос: выборка с указанием ключевого слова ВСЕ.
|
|||
3
dimoff
29.04.11
✎
13:30
|
(1) Где указывается?
(2) Пример пожалуйста, про ВСЕ слышал только вместо с ОБЪЕДИНИТЬ |
|||
4
73
29.04.11
✎
13:32
|
||||
5
dimoff
29.04.11
✎
13:32
|
(1) На закладке Компановка данных в методе дополнения доступны только параметры
|
|||
6
dimoff
29.04.11
✎
13:33
|
(4) Мне не нужны итоги
|
|||
7
Megas
29.04.11
✎
13:34
|
На закладке настройки.
У поля твоего Там есть НачальнаяДатапериода, КонечнаяДатаПериода, тип дополнения |
|||
8
GROOVY
29.04.11
✎
13:35
|
(4) точно, спутал.
Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все"); |
|||
9
IronDemon
29.04.11
✎
13:38
|
||||
10
Megas
29.04.11
✎
13:39
|
(8)Хрень какаято
|
|||
11
IronDemon
29.04.11
✎
13:41
|
(10) Нормальная хрень, рабочая.
|
|||
12
dimoff
29.04.11
✎
13:43
|
(9) Там много всего. Например
"У группировки "ПериодМесяц" (или как ты назвала) нужно указать тип дополнения "Месяц" и указать начальную и конечную дату периода" Где указать тип дополнения месяц для группировки? |
|||
13
GROOVY
29.04.11
✎
13:43
|
(12) При описании настроек варианта отчета, в свойствах группировки.
|
|||
14
GROOVY
29.04.11
✎
13:44
|
(10) К чему выпад?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиТоваровОстаткиИОбороты.Период КАК Период, | ОстаткиТоваровОстаткиИОбороты.Номенклатура, | ОстаткиТоваровОстаткиИОбороты.КоличествоНачальныйОстаток, | ОстаткиТоваровОстаткиИОбороты.КоличествоПриход, | ОстаткиТоваровОстаткиИОбороты.КоличествоРасход, | ОстаткиТоваровОстаткиИОбороты.КоличествоКонечныйОстаток |ИЗ | РегистрНакопления.ОстаткиТоваров.ОстаткиИОбороты(, , Месяц, , ) КАК ОстаткиТоваровОстаткиИОбороты |ИТОГИ ПО | Период ПЕРИОДАМИ(МЕСЯЦ, , )"; РезультатЗапроса = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период", "Все"); Пока РезультатЗапроса.Следующий() Цикл КонецЦикла; |
|||
15
Megas
29.04.11
✎
13:45
|
(14) Наверное я тупой... просто по описанию в СП не похоже что оно делает как надо. А если делает то я каюсь!
|
|||
16
dimoff
29.04.11
✎
13:45
|
(13) Нашел. Начальную дату периода и конечную дату периода можно приравнять к параметрам виртуальной таблицы?
|
|||
17
GROOVY
29.04.11
✎
13:47
|
(15) Зачастую СП читать надо на астральном уровне...
|
|||
18
dimoff
29.04.11
✎
13:48
|
Не получилось. Попробую подробней
Вот текст запроса ВЫБРАТЬ ОстаткиОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, ОстаткиОбороты.ДоговорКонтрагента, ОстаткиОбороты.СуммаКонечныйОстаток КАК Долг, ОстаткиОбороты.Период, ИСТИНА КАК Остатки, НЕОПРЕДЕЛЕНО КАК Документ, НЕОПРЕДЕЛЕНО КАК Дата, 0 КАК СуммаПлан, 0 КАК СуммаФакт ИЗ РегистрНакопления.ъПланированиеПоДоговорамФранчайзи.ОстаткиИОбороты(&ДатаС, &ДатаПо, Месяц,, ) КАК ОстаткиОбороты В настройках период зафигачен в колонки. Для него указал метод дополнения Месяц, результат тот же. Что ещё нужно сделать? |
|||
19
GROOVY
29.04.11
✎
13:49
|
(16) Можно.
(18) Ты СКД делаешь? |
|||
20
IronDemon
29.04.11
✎
13:50
|
||||
21
dimoff
29.04.11
✎
13:51
|
(19) Да. То есть сами периоды он может и выводит, но мне нужны периоды с остатками. А у меня полчается что по тем месяцам где были движения остатки указываются, по остальным нет.
|
|||
22
IronDemon
29.04.11
✎
13:55
|
>> (17) Действительно :) Существенным оказалось то, что нужно выбирать все поля, за исключением ОБОРОТА ! :) Спасибо большое!
|
|||
23
GROOVY
29.04.11
✎
13:59
|
(21) Сча, погодь я тебе ролик пришлю.
|
|||
24
dimoff
29.04.11
✎
14:03
|
(20) Вроде делаю все то же, но месяца выводятся без остатков. Все месяца из периода но без остатков, хотя остатки конечно же есть.
|
|||
25
GROOVY
29.04.11
✎
14:03
|
||||
26
dimoff
29.04.11
✎
14:03
|
То есть ощущение что это дополнение никак не связано с виртуальной таблицей, может таки надо в параметрах виртуальной таблицы что-то ещё указать?
|
|||
27
GROOVY
29.04.11
✎
14:09
|
(26) ДвиженияИГраницыПериода? Так вроде оно по дефолту...
|
|||
28
DrHiHi
29.04.11
✎
14:14
|
(0) ща наваяю
|
|||
29
Shurjk
29.04.11
✎
14:15
|
В КЗ по этому поводу есть статья.
|
|||
30
dimoff
29.04.11
✎
14:44
|
(25) Всё делаю в точности как на видео. за исключение того что у меня период в вирт. таблице задан датаС и датаПо, но остатки не выводит, только пустые месяца.
Всем большое спасибо, попробую сам разобраться |
|||
31
DrHiHi
29.04.11
✎
14:55
|
(0) разбирай на досуге
ВЫБРАТЬ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачДата, МЕСЯЦ, aa.a * 10 + bb.b), МЕСЯЦ) КАК ПериодМесяц ПОМЕСТИТЬ ВТОсьВремени ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ГДЕ ДОБАВИТЬКДАТЕ(&НачДата, МЕСЯЦ, aa.a * 10 + bb.b) < &КонДата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Склад, ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры, ТоварыНаСкладахОстаткиИОбороты.Качество, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, ТоварыНаСкладахОстаткиИОбороты.Период ПОМЕСТИТЬ ВТРег ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачДата, &КонДата, Месяц, , ) КАК ТоварыНаСкладахОстаткиИОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТРег.Период КАК ПериодС, МИНИМУМ(ЕСТЬNULL(ДОБАВИТЬКДАТЕ(ВТРег1.Период, МЕСЯЦ, -1), ВТРег.Период)) КАК ПериодПо, ВТРег.Склад, ВТРег.Номенклатура, ВТРег.ХарактеристикаНоменклатуры, ВТРег.СерияНоменклатуры, ВТРег.Качество, ВТРег.КоличествоНачальныйОстаток, ВТРег.КоличествоКонечныйОстаток, ВТРег.КоличествоОборот, ВТРег.КоличествоПриход, ВТРег.КоличествоРасход ПОМЕСТИТЬ ВТПериодыРег ИЗ ВТРег КАК ВТРег ЛЕВОЕ СОЕДИНЕНИЕ ВТРег КАК ВТРег1 ПО ВТРег.Склад = ВТРег1.Склад И ВТРег.Номенклатура = ВТРег1.Номенклатура И ВТРег.ХарактеристикаНоменклатуры = ВТРег1.ХарактеристикаНоменклатуры И ВТРег.СерияНоменклатуры = ВТРег1.СерияНоменклатуры И ВТРег.Качество = ВТРег1.Качество И ВТРег.Период < ВТРег1.Период СГРУППИРОВАТЬ ПО ВТРег.Период, ВТРег.Склад, ВТРег.Номенклатура, ВТРег.ХарактеристикаНоменклатуры, ВТРег.СерияНоменклатуры, ВТРег.Качество, ВТРег.КоличествоНачальныйОстаток, ВТРег.КоличествоКонечныйОстаток, ВТРег.КоличествоОборот, ВТРег.КоличествоПриход, ВТРег.КоличествоРасход ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТОсьВремени.ПериодМесяц, ВТПериодыРег.Склад, ВТПериодыРег.Номенклатура, ВТПериодыРег.ХарактеристикаНоменклатуры, ВТПериодыРег.СерияНоменклатуры, ВТПериодыРег.Качество, ВЫБОР КОГДА ВТОсьВремени.ПериодМесяц = ВТПериодыРег.ПериодС ТОГДА ВТПериодыРег.КоличествоНачальныйОстаток ИНАЧЕ ВТПериодыРег.КоличествоКонечныйОстаток КОНЕЦ КАК КоличествоНачальныйОстаток, ВТПериодыРег.КоличествоКонечныйОстаток, ВЫБОР КОГДА ВТОсьВремени.ПериодМесяц = ВТПериодыРег.ПериодС ТОГДА ВТПериодыРег.КоличествоОборот ИНАЧЕ 0 КОНЕЦ КАК КоличествоОборот, ВЫБОР КОГДА ВТОсьВремени.ПериодМесяц = ВТПериодыРег.ПериодС ТОГДА ВТПериодыРег.КоличествоПриход ИНАЧЕ 0 КОНЕЦ КАК КоличествоПриход, ВЫБОР КОГДА ВТОсьВремени.ПериодМесяц = ВТПериодыРег.ПериодС ТОГДА ВТПериодыРег.КоличествоРасход ИНАЧЕ 0 КОНЕЦ КАК КоличествоРасход ИЗ ВТПериодыРег КАК ВТПериодыРег ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТОсьВремени КАК ВТОсьВремени ПО (ВТОсьВремени.ПериодМесяц МЕЖДУ ВТПериодыРег.ПериодС И ВТПериодыРег.ПериодПо) |
|||
32
dimoff
29.04.11
✎
15:07
|
(31) Найду на досуге более интересные занятия чем эту фигню разбирать. Но спасибо за старания.
|
|||
33
DrHiHi
29.04.11
✎
15:08
|
(32) зато работает эта фигня ;))
|
|||
34
dimoff
29.04.11
✎
15:18
|
(33) Верю.
|
|||
35
dimoff
29.04.11
✎
15:42
|
Дошло, в запросе должно быть выбрано хотя бы одно поле оборотов, даже если оно наафик не сдалось.
Ещё раз всем огромное спасибо, особенно Megas-у, IronDemon-у и особенно преособенно GROOVY за терпение. |
|||
36
dimoff
29.04.11
✎
15:53
|
Соврал, не поле оборотов, а к конечному остатку ещё и начальный остаток. Так работает.
То есть подводя итог: если выбрано только поле Конечный Остаток то остаток не выводится по месяцам где не было оборотов, если к конечному остатку добавить начальный то все волшебным образом работает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |