Имя: Пароль:
1C
 
СКД Вывести остатки отдельно, обороты отдельно
0 Iris-ocean
 
31.05.11
16:17
Есть отчет
http://s55.radikal.ru/i147/1105/b5/99f63307f324.png
Внимание вопрос: как вывести начальные остатки в начале и конечные в конце?
примерно так
http://s008.radikal.ru/i303/1105/35/0e5a559028ee.png
1 Shurjk
 
31.05.11
16:19
(0)  открой для себя СКД
2 Iris-ocean
 
31.05.11
16:22
так это я делала на СКД, а остатки приделать ну не получается
3 mikecool
 
31.05.11
16:22
(2) посмотри как типовые бух отчеты сделаны
4 Fragster
 
гуру
31.05.11
16:23
группировки по колонкам
5 Shurjk
 
31.05.11
16:23
(2) Получай общие остатки в отдельный показатель и выводи где хочешь.
6 Iris-ocean
 
31.05.11
16:24
можно чуточку поподробней
7 Fragster
 
гуру
31.05.11
16:26
(6) добавляешь группировки по колонкам, и выводишь в них нужные поля :)
8 Iris-ocean
 
31.05.11
16:27
(7) у меня 1 группировка по колонкам - номенклатура, к неё ещё 1 добавить? мне надо, что бы по документам выводились только обороты, а в начале и в конце только остатки
9 Fragster
 
гуру
31.05.11
16:28
ну начинается
10 Iris-ocean
 
31.05.11
16:39
и что, получается две колонки - в одной номенклатура, во второй остаток :(
11 Fragster
 
гуру
31.05.11
16:42
покажи запрос (ну, и фотку в профиле поактуальнее)
12 Iris-ocean
 
31.05.11
16:44
ВЫБРАТЬ
   ВложенныйЗапрос.Регистратор,
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   СУММА(ВложенныйЗапрос.КоличествоПриход) КАК КоличествоПриход,
   СУММА(ВложенныйЗапрос.КоличествоРасход) КАК КоличествоРасход,
   СУММА(ОстаткиНаНачало.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   СУММА(ВложенныйЗапрос.КоличествоОборот) КАК КоличествоОборот,
   ОстаткиНаКонец.КоличествоКонечныйОстаток
{ВЫБРАТЬ
   Номенклатура.*}
ИЗ
   (ВЫБРАТЬ
       ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор,
       ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
       СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
       NULL КАК КоличествоРасход,
       ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот КАК КоличествоОборот
   ИЗ
       РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
   
   СГРУППИРОВАТЬ ПО
       ТоварыНаСкладахОстаткиИОбороты.Регистратор,
       ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
       ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       ТоварыНаСкладахОстаткиИОбороты.Регистратор,
       ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
       NULL,
       СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход),
       ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот
   ИЗ
       РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
   
   СГРУППИРОВАТЬ ПО
       ТоварыНаСкладахОстаткиИОбороты.Регистратор,
       ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
       ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) КАК ВложенныйЗапрос
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ОстаткиНаНачало
       ПО ВложенныйЗапрос.Номенклатура = ОстаткиНаНачало.Номенклатура
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ОстаткиНаКонец
       ПО ВложенныйЗапрос.Номенклатура = ОстаткиНаКонец.Номенклатура

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Регистратор,
   ОстаткиНаКонец.КоличествоКонечныйОстаток
13 Fragster
 
гуру
31.05.11
16:53
(12) а фотку?
14 Iris-ocean
 
31.05.11
16:58
это может через детальные записи делать надо? я уже что только не перепробовала
15 Iris-ocean
 
31.05.11
17:12
или запрос не правильный...
16 Fragster
 
гуру
31.05.11
17:12
а обязательно выводить начальный/конечный остаток только вначале и конце?
17 Fragster
 
гуру
31.05.11
17:12
(15) это да
18 Iris-ocean
 
31.05.11
17:13
да, это почти типовая форма мх-20а
19 Fragster
 
гуру
31.05.11
17:18
вот запрос, что вышел у меня:

ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
   ТоварыНаСкладахОстаткиИОбороты.Регистратор,
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход,
   ВЫБОР
       КОГДА ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда = &НачалоПериода
           ТОГДА 0
       КОГДА ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда = &КонецПериода
           ТОГДА 2
       ИНАЧЕ 1
   КОНЕЦ КАК Порядок
ПОМЕСТИТЬ Данные
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Данные.ПериодСекунда,
   "НачальныйОстаток" КАК Регистратор,
   Данные.Номенклатура,
   СУММА(Данные.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   0 КАК КоличествоКонечныйОстаток,
   0 КАК КоличествоОборот,
   0 КАК КоличествоПриход,
   0 КАК КоличествоРасход,
   Данные.Порядок
ИЗ
   Данные КАК Данные
ГДЕ
   Данные.Порядок = 0

СГРУППИРОВАТЬ ПО
   Данные.ПериодСекунда,
   Данные.Номенклатура,
   Данные.Порядок

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Данные.ПериодСекунда,
   Данные.Регистратор,
   Данные.Номенклатура,
   0,
   0,
   Данные.КоличествоОборот,
   Данные.КоличествоПриход,
   Данные.КоличествоРасход,
   Данные.Порядок
ИЗ
   Данные КАК Данные
ГДЕ
   Данные.Регистратор <> Неопределено

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Данные.ПериодСекунда,
   "КонечныйОстаток",
   Данные.Номенклатура,
   0,
   СУММА(Данные.КоличествоКонечныйОстаток),
   0,
   0,
   0,
   Данные.Порядок
ИЗ
   Данные КАК Данные
ГДЕ
   Данные.Порядок = 2

СГРУППИРОВАТЬ ПО
   Данные.ПериодСекунда,
   Данные.Номенклатура,
   Данные.Порядок
20 Fragster
 
гуру
31.05.11
17:18
жду писем
21 Fragster
 
гуру
31.05.11
17:20
группировка строк - по регистратору, группировка колонок - по номенклатуре, ресурсы - все, кроме номенклатуры и регистратора, сортировка по полю порядок, затем по периодсекунда
22 Iris-ocean
 
31.05.11
17:36
значит в СКД самое главное всё таки запрос.....СПАСИБО!!!..сейчас сделаю настройки
23 Iris-ocean
 
31.05.11
17:39
ошибка при группировке по регистратору "Группировка по выражениям, содержащим агрегатные функции, не допустима"
24 Fragster
 
гуру
31.05.11
17:41
(23) значит группируешь по ресурсу
25 Fragster
 
гуру
31.05.11
17:43
26 Iris-ocean
 
31.05.11
17:55
а нельзя в ресурсе так написать: "Выбор Когда Регистратор Есть "НачальныйОстаток" Тогда Сумма(КоличествоНачальныйОстаток) Иначе Сумма(КоличествоОборот) Конец
27 Iris-ocean
 
31.05.11
17:57
?
28 Fragster
 
гуру
31.05.11
18:00
(26) можно
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший