|
|
|
Остатки по периодам СКД | ☑ | ||
|---|---|---|---|---|
|
0
eretic
01.11.12
✎
19:21
|
Выбирается период и его периодичность, в зависимости от периодичности выполняется СКД, запрос по регистру бух-ии и рег-ру оборота по левому соединению, пропадают остатки по дням где нет оборотов.Подскажите как сделать лучше, много лит-ры уже изучил и перепробовал, что то не выходит пока. Схему прикладываю.
|
|||
|
1
eretic
01.11.12
✎
19:23
|
||||
|
2
Тоненький Клиент
01.11.12
✎
19:23
|
где?
|
|||
|
3
eretic
01.11.12
✎
19:25
|
минимизировал скд , до запроса с рег-ром бух-ии, пробовал с ним бороться, что то никак не выходит.
|
|||
|
4
eretic
01.11.12
✎
19:26
|
также почитал Хрусталеву и посмотрел Гилева про СКД, не помогают их методы.
|
|||
|
5
Classic
01.11.12
✎
19:51
|
||||
|
6
eretic
01.11.12
✎
20:24
|
интересная статья, завтра потестю свою СКД
|
|||
|
7
eretic
01.11.12
✎
20:32
|
еще видел где то что можно соединить с набором периодов(по дням вроде) в СКД, или ТЗ создать с датами и потом соединять...
|
|||
|
8
Classic
01.11.12
✎
21:08
|
Соединение с датами даже правильней
|
|||
|
9
eretic
01.11.12
✎
21:33
|
то есть лучше создать ТЗ по условию периодичности и в СКД добавить в набор объект и соединить наборы?
|
|||
|
10
eretic
01.11.12
✎
22:07
|
есть ежедневные остатки пример http://1c-wiki.ru/wiki/Ежедневные_остатки
хочу взять за основу. а как получить набор по определенной периодичности например не день а декада или месяц? |
|||
|
11
eretic
02.11.12
✎
14:04
|
не помогла ссылка (5) , у меня условие на вирт. таблицу, достает остатки только где есть движения, добавлял слева таблицу дат не помогает, пробовал как подсказали по ссылке, тоже не помогло, есть еще методы?
|
|||
|
12
Aprobator
02.11.12
✎
14:08
|
не иначе левое соединение не катит. Может стоит в сторону объединения посмотреть?
|
|||
|
13
eretic
02.11.12
✎
14:11
|
ок, сейчас попробую
|
|||
|
14
eretic
02.11.12
✎
14:22
|
(12) дни выводит, остатки в них пустые, где нет движений
|
|||
|
15
eretic
02.11.12
✎
14:31
|
(12) пробовал в запросе, объединил с таблицей дней проставил дополнить период днями, тогда вышли остатки ежедневно даже если нет движений, но строки с датами стали дублироваться
|
|||
|
16
eretic
02.11.12
✎
14:34
|
хотя нет) не работает объединение
|
|||
|
17
Classic
02.11.12
✎
14:35
|
(15)
Как делаешь? В (5) немного не то, что тебе надо, но там показано, как можно сделать правильно соединение. |
|||
|
18
vmv
02.11.12
✎
14:41
|
я сделал так чтобы в одном запросе СКД по параметру Периодичность можно было получать отчеты в разных разрезах периодичности - колонки по месяцам, кварталам, полугодиям либо годам
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫБОР КОГДА &Периодичность = &ПериодичностьДень ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ДЕНЬ) КОГДА &Периодичность = &ПериодичностьМесяц ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, МЕСЯЦ) КОГДА &Периодичность = &ПериодичностьКвартал ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, КВАРТАЛ) КОГДА &Периодичность = &ПериодичностьПолугодие ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ПОЛУГОДИЕ) КОГДА &Периодичность = &ПериодичностьГод ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ГОД) ИНАЧЕ НАЧАЛОПЕРИОДА(&ДатаН, ДЕНЬ) КОНЕЦ КАК ДатаНП, ВЫБОР КОГДА &Периодичность = &ПериодичностьДень ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ДЕНЬ) КОГДА &Периодичность = &ПериодичностьМесяц ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, МЕСЯЦ) КОГДА &Периодичность = &ПериодичностьКвартал ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, КВАРТАЛ) КОГДА &Периодичность = &ПериодичностьПолугодие ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ПОЛУГОДИЕ) КОГДА &Периодичность = &ПериодичностьГод ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ГОД) ИНАЧЕ КОНЕЦПЕРИОДА(&ДатаК, ДЕНЬ) КОНЕЦ КАК ДатаКП ПОМЕСТИТЬ ВтГраницыПериодов В типовых конфах есть Перечисление "Периодичность" - параметры в куске запроса именно этого типа, чтобы не писать в запросе "ЗНАЧЕНИЕ(Перечисление.Периодчность....)" я загнал значения тожа в параметры СКД(недоступные) а пользователь выбирает только значение парааметра "Периодноссть" в своих настройках варинанта. Как скрестить это с ресурсами и виртуальными таблицами остатков, оборотов - дело вкуса |
|||
|
19
eretic
02.11.12
✎
14:44
|
ссори, в запросе получилось при объединении и дополнении по периоду в закладке "итоги", сейчас буду пробовать в скд, (18) учту, спасибо
|
|||
|
20
vmv
02.11.12
✎
14:47
|
(19) тут v8: v8: Допилил генерацию рядов дат в интервале запросом для СКД и все такое
рабочий запрос тут ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&ДатаН, ДЕНЬ, aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d) КАК ДатаДня ПОМЕСТИТЬ ВтДатыВИнтервале ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd ПО (ИСТИНА) ГДЕ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= РАЗНОСТЬДАТ(&ДатаН, &ДатаК, ДЕНЬ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫБОР КОГДА &Периодичность = &ПериодичностьДень ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ДЕНЬ) КОГДА &Периодичность = &ПериодичностьМесяц ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, МЕСЯЦ) КОГДА &Периодичность = &ПериодичностьКвартал ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, КВАРТАЛ) КОГДА &Периодичность = &ПериодичностьПолугодие ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ПОЛУГОДИЕ) КОГДА &Периодичность = &ПериодичностьГод ТОГДА НАЧАЛОПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ГОД) ИНАЧЕ НАЧАЛОПЕРИОДА(&ДатаН, ДЕНЬ) КОНЕЦ КАК ДатаНП, ВЫБОР КОГДА &Периодичность = &ПериодичностьДень ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ДЕНЬ) КОГДА &Периодичность = &ПериодичностьМесяц ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, МЕСЯЦ) КОГДА &Периодичность = &ПериодичностьКвартал ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, КВАРТАЛ) КОГДА &Периодичность = &ПериодичностьПолугодие ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ПОЛУГОДИЕ) КОГДА &Периодичность = &ПериодичностьГод ТОГДА КОНЕЦПЕРИОДА(ВтДатыВИнтервале.ДатаДня, ГОД) ИНАЧЕ КОНЕЦПЕРИОДА(&ДатаК, ДЕНЬ) КОНЕЦ КАК ДатаКП ПОМЕСТИТЬ ВтГраницыПериодов ИЗ ВтДатыВИнтервале КАК ВтДатыВИнтервале ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтДатыВИнтервале ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = &ПериодичностьМесяц ИЛИ &Периодичность = &ПериодичностьКвартал ИЛИ &Периодичность = &ПериодичностьПолугодие ИЛИ &Периодичность = &ПериодичностьГод ТОГДА ВЫБОР КОГДА ВтГраницыПериодов.ДатаНП < &ДатаН ТОГДА ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ДатаН, МЕСЯЦ) < &ДатаН ТОГДА НАЧАЛОПЕРИОДА(&ДатаН, ДЕНЬ) ИНАЧЕ НАЧАЛОПЕРИОДА(&ДатаН, МЕСЯЦ) КОНЕЦ ИНАЧЕ ВтГраницыПериодов.ДатаНП КОНЕЦ ИНАЧЕ ВтГраницыПериодов.ДатаНП КОНЕЦ КАК ДатаНП, ВЫБОР КОГДА &Периодичность = &ПериодичностьМесяц ИЛИ &Периодичность = &ПериодичностьКвартал ИЛИ &Периодичность = &ПериодичностьПолугодие ИЛИ &Периодичность = &ПериодичностьГод ТОГДА ВЫБОР КОГДА ВтГраницыПериодов.ДатаКП > &ДатаК ТОГДА ВЫБОР КОГДА КОНЕЦПЕРИОДА(&ДатаК, МЕСЯЦ) > &ДатаК ТОГДА КОНЕЦПЕРИОДА(&ДатаК, ДЕНЬ) ИНАЧЕ КОНЕЦПЕРИОДА(&ДатаК, МЕСЯЦ) КОНЕЦ ИНАЧЕ ВтГраницыПериодов.ДатаКП КОНЕЦ ИНАЧЕ ВтГраницыПериодов.ДатаКП КОНЕЦ КАК ДатаКП ПОМЕСТИТЬ ВтГраницыПериодовВИнтервале ИЗ ВтГраницыПериодов КАК ВтГраницыПериодов ИНДЕКСИРОВАТЬ ПО ДатаКП ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтГраницыПериодов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВтГраницыПериодовВИнтервале.ДатаНП КАК ДатаНП, ВтГраницыПериодовВИнтервале.ДатаКП КАК ДатаКП, ТаблРс.СтрокаБ КАК СтрокаБ, ТаблРс.Счет КАК Счет, МАКСИМУМ(ТаблРс.Период) КАК Период ПОМЕСТИТЬ ВтТаблРсПоИзмерениямПоМесяцам ИЗ ВтГраницыПериодовВИнтервале КАК ВтГраницыПериодовВИнтервале ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Add_IR_УчетСБ КАК ТаблРс ПО ВтГраницыПериодовВИнтервале.ДатаКП >= ТаблРс.Период И ((НЕ &ОтборПоГруппе) ИЛИ (НЕ &ВИерархииГруппы) И ТаблРс.СтрокаБ.Родитель В (&СсылкаГруппы) ИЛИ &ВИерархииГруппы И ТаблРс.СтрокаБ В ИЕРАРХИИ (&СсылкаГруппы)) ГДЕ ТаблРс.Период <= &ДатаК СГРУППИРОВАТЬ ПО ВтГраницыПериодовВИнтервале.ДатаНП, ВтГраницыПериодовВИнтервале.ДатаКП, ТаблРс.СтрокаБ, ТаблРс.Счет ИНДЕКСИРОВАТЬ ПО ДатаКП, СтрокаБ, Счет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВтТаблРсПоИзмерениямПоМесяцам.СтрокаБ КАК СтрокаБ, ВтТаблРсПоИзмерениямПоМесяцам.Счет КАК Счет, МАКСИМУМ(ВтТаблРсПоИзмерениямПоМесяцам.Период) КАК Период ПОМЕСТИТЬ ВтТаблРсПоИзмерениям ИЗ ВтТаблРсПоИзмерениямПоМесяцам КАК ВтТаблРсПоИзмерениямПоМесяцам СГРУППИРОВАТЬ ПО ВтТаблРсПоИзмерениямПоМесяцам.СтрокаБ, ВтТаблРсПоИзмерениямПоМесяцам.Счет ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВтГраницыПериодовВИнтервале.ДатаНП КАК ДатаНП, ВтГраницыПериодовВИнтервале.ДатаКП КАК ДатаКП, ВтТаблРсПоИзмерениям.СтрокаБ КАК СтрокаБ, ВтТаблРсПоИзмерениям.Счет КАК Счет ПОМЕСТИТЬ ВтТаблРсПоИзмерениямПоМесяцамПолная ИЗ ВтГраницыПериодовВИнтервале КАК ВтГраницыПериодовВИнтервале ПОЛНОЕ СОЕДИНЕНИЕ ВтТаблРсПоИзмерениям КАК ВтТаблРсПоИзмерениям ПО (ИСТИНА) ИНДЕКСИРОВАТЬ ПО ДатаКП, СтрокаБ, Счет ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтГраницыПериодовВИнтервале ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтТаблРсПоИзмерениям ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВтТаблРсПолная.ДатаНП КАК ДатаНП, ВтТаблРсПолная.ДатаКП КАК ДатаКП, ВтТаблРсПолная.СтрокаБ КАК СтрокаБ, ВтТаблРсПолная.Счет КАК Счет, ЕСТЬNULL(ВтТаблРсПоМесяцам.Период, &ПустаяДата) КАК Период ПОМЕСТИТЬ ВтТаблРсПоИзмерениямПоМесяцамПоПериодамПолная ИЗ ВтТаблРсПоИзмерениямПоМесяцамПолная КАК ВтТаблРсПолная ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблРсПоИзмерениямПоМесяцам КАК ВтТаблРсПоМесяцам ПО ВтТаблРсПолная.ДатаКП = ВтТаблРсПоМесяцам.ДатаКП И ВтТаблРсПолная.СтрокаБ = ВтТаблРсПоМесяцам.СтрокаБ И ВтТаблРсПолная.Счет = ВтТаблРсПоМесяцам.Счет ИНДЕКСИРОВАТЬ ПО Период, СтрокаБ, Счет ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтТаблРсПоИзмерениямПоМесяцам ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ВтТаблРсПоИзмерениямПоМесяцамПолная ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВтТаблРс.ДатаНП КАК ДатаНП, ВтТаблРс.ДатаКП КАК ДатаКП, ВтТаблРс.СтрокаБ КАК СтрокаБ, ВтТаблРс.Счет КАК Счет, ВтТаблРс.Период КАК Период, ТаблРс.Действует КАК Действует, ТаблРс.ЦветRGB10.RGB10 КАК СчетRGB10 ИЗ ВтТаблРсПоИзмерениямПоМесяцамПоПериодамПолная КАК ВтТаблРс ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Add_IR_УчетСБ КАК ТаблРс ПО ВтТаблРс.Период = ТаблРс.Период И ВтТаблРс.СтрокаБ = ТаблРс.СтрокаБ И ВтТаблРс.Счет = ТаблРс.Счет отвлеченный пример работы с отвлеченным регистром ("свои" балансы бух. учета) для примера, точно также я прикручиваю это на оборотные виртуальные таблицы регистров и прочих сущностей где есть дата. |
|||
|
21
vmv
02.11.12
✎
14:55
|
+(20) в во всем запросе подстроку "ПоМесяцам" заменить на "ПоПериодам", сначала для разрезов по месяцам можно было юзать, сейчас для любой периодности.
Таблицу регистра заменить на свою, измерения в нем на свои и поля в последнем пакете на свои и можно юзать в консоли на своей базе |
|||
|
22
eretic
02.11.12
✎
15:58
|
(21) что то не выходит объединиться с твоим запросом, не мог бы показать с моей скд как выглядеть подключение твоего запроса будет?
|
|||
|
23
Classic
02.11.12
✎
23:09
|
Делаешь ВТ с днями. Пусть ВТДень. Дальше все просто
ВЫБРАТЬ ОстаткиОбороты.Период КАК Период ОстаткиОбороты.Измерение КАК Измерение ОстаткиОбороты.КоличествоНачальныйОстаток, ОстаткиОбороты.КоличествоКонечныйОстаток ПОМЕСТИТЬ ОстаткиОбороты Из РегистрНакопления.ИмяРегистра.ОстаткиИОбороты(блаблабла) КАК ОстаткиОбороты ; ВЫБРАТЬ ВТДень.Период КАК Период, ОстаткиОбороты.Измерение КАК Измерение, МАКСИМУМ(ОстаткиОбороты.Период) КАК ПериодОстатков ПОМЕСТИТЬ ДатыОстатков ИЗ ВТДень КАК ВТДень ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОбороты КАК ОстаткиОбороты ПО ОстаткиОбороты.Период <= ВТДень.Период ; ВЫБРАТЬ ДатыОстатков.Период КАК Период, ДатыОстатков.Измерение КАК Измерение, ВЫБОР КОГДА ОстаткиОбороты.Период = ДатыОстатков.Период ТОГДА ОстаткиОбороты.КоличествоНачальныйОстаток ИНАЧЕ ОстаткиОбороты.КоличествоКонечныйОстаток КОНЕЦ КАК КоличествоНачальныйОстаток, ОстаткиОбороты.КоличествоКонечныйостаток КАК КоличествоКонечныйОстаток ИЗ ДатыОстатков КАК ДатыОстатков ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОбороты КАК ОстаткиОбороты ПО ДатыОстатков.Период = ОстаткиОбороты.Период И ДатыОстатков.Измерение = ОстаткиОбороты.Измерение Либо коррелирующим в два раза меньше. Но коррелирующий имхо будет дольше выполняться |
|||
|
24
Classic
02.11.12
✎
23:09
|
Во втором запросе забыл сгруппировать. Но то сам догадаешься
|
|||
|
25
eretic
04.11.12
✎
15:52
|
спасибо, попробую завтра.
|
|||
|
26
eretic
05.11.12
✎
19:28
|
(24) сделал как посоветовал, дни без оборота выпадают остатки все равно.
|
|||
|
27
eretic
05.11.12
✎
19:29
|
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&ДатаН, ДЕНЬ, aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d) КАК Период ПОМЕСТИТЬ ВтДень ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd ПО (ИСТИНА) ГДЕ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= РАЗНОСТЬДАТ(&ДатаН, &ДатаК, ДЕНЬ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ бит_СчетаБюджета.Ссылка, бит_СчетаБюджета.Счет, бит_СчетаБюджета.Коэффициент ПОМЕСТИТЬ СчетаБюджета ИЗ Справочник.бит_СчетаБюджета КАК бит_СчетаБюджета ГДЕ бит_СчетаБюджета.Владелец = &Бюджет И НЕ бит_СчетаБюджета.НеОтображать ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОстаткиБюдж.Период КАК Период, СУММА(ОстаткиБюдж.СуммаУпрНачальныйОстаток) КАК СуммаУпрНачальныйОстаток, СУММА(ОстаткиБюдж.СуммаУпрКонечныйОстаток) КАК СуммаУпрКонечныйОстаток, ОстаткиБюдж.Сценарий ПОМЕСТИТЬ ОстаткиОбороты ИЗ РегистрБухгалтерии.бит_Бюджетирование.ОстаткиИОбороты( &НачалоПериода {(&НачалоПериода)}, &КонецПериода {(&КонецПериода)}, День {(&Периодичность)}, , Счет В (ВЫБРАТЬ бит_СчетаБюджета.Счет ИЗ Справочник.бит_СчетаБюджета КАК бит_СчетаБюджета ГДЕ бит_СчетаБюджета.Владелец = &Бюджет И НЕ бит_СчетаБюджета.НеОтображать), , Сценарий = &Сценарий И ЦФО = &ЦфО) КАК ОстаткиБюдж ГДЕ ВЫБОР КОГДА &ОтображатьПустыеСтроки = ИСТИНА ТОГДА ИСТИНА ИНАЧЕ ЕСТЬNULL(ОстаткиБюдж.СуммаСценарийНачальныйОстаток, 0) + ЕСТЬNULL(ОстаткиБюдж.СуммаСценарийКонечныйОстаток, 0) + ЕСТЬNULL(ОстаткиБюдж.СуммаСценарийОборот, 0) <> 0 КОНЕЦ СГРУППИРОВАТЬ ПО ОстаткиБюдж.Сценарий, ОстаткиБюдж.Период ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТДень.Период, ОстаткиОбороты.Сценарий, МАКСИМУМ(ОстаткиОбороты.Период) КАК ПериодОстатков ПОМЕСТИТЬ ДатыОстатков ИЗ ВтДень КАК ВТДень ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОбороты КАК ОстаткиОбороты ПО (ОстаткиОбороты.Период <= ВТДень.Период) СГРУППИРОВАТЬ ПО ВТДень.Период, ОстаткиОбороты.Сценарий ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДатыОстатков.Период КАК Период, ДатыОстатков.Сценарий, ВЫБОР КОГДА ОстаткиОбороты.Период = ДатыОстатков.Период ТОГДА ОстаткиОбороты.СуммаУпрНачальныйОстаток ИНАЧЕ ОстаткиОбороты.СуммаУпрКонечныйОстаток КОНЕЦ КАК СуммаУпрНачальныйОстаток, ОстаткиОбороты.СуммаУпрКонечныйОстаток ИЗ ДатыОстатков КАК ДатыОстатков ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОбороты КАК ОстаткиОбороты ПО ДатыОстатков.Период = ОстаткиОбороты.Период И ДатыОстатков.Сценарий = ОстаткиОбороты.Сценарий УПОРЯДОЧИТЬ ПО Период |
|||
|
28
eretic
05.11.12
✎
20:47
|
здесь вроде ошибка?
ИЗ ДатыОстатков КАК ДатыОстатков ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОбороты КАК ОстаткиОбороты ПО ДатыОстатков.ПериодОстатков???????? а не просто ПО ДатыОстатков.Период = ОстаткиОбороты.Период И ДатыОстатков.Сценарий = ОстаткиОбороты.Сценарий УПОРЯДОЧИТЬ ПО Период |
|||
|
29
eretic
05.11.12
✎
21:57
|
С днями получилось, как советовал (23)(только исправил как в (28)), теперь нужно прикрутить по выбранному периоду, пробую как у (20), не выходит, есть еще варианты?
|
|||
|
30
eretic
05.11.12
✎
21:58
|
точнее по выбранной периодичности
|
|||
|
31
eretic
08.11.12
✎
08:17
|
сделал такую СКД http://zalil.ru/33938384
вроде остатки правильные дает по дням и декадам, можете глянуть на ошибки или дополнить чем нибудь... |
|||
|
32
eretic
08.11.12
✎
21:44
|
и еще, подскажите как подцепить обороты из (1), к (31). думаю пробовать объединение с остатками занести в ВЗ и потом во ВТ
|
|||
|
33
eretic
10.11.12
✎
16:35
|
ну все, задача решена, спасибо за помощь и терпение))
|
|||
|
34
vmv
10.11.12
✎
17:34
|
(33) мне деньги на счет не забудь кинуть, неуч)
|
|||
|
35
eretic
11.11.12
✎
14:19
|
(33) вряд ли, решение с вашего запроса не бралось, нашел другой источник полегче,и кстати все когда то начинают, а вот (23) реально помог, ему отдельная благодарность
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |