Имя: Пароль:
1C
1С v8
Отчет на СКД
,
0 Dyspho
 
11.02.16
12:15
Как на СКД сделать колонку "разница  между суммами" ?
если сделать 1 сумма - 2 сумма, то в итоге может получиться отрицательное число, а этого не хотелось бы
И ещё нужен % отклонения между 2 полями
подскажите?
1 ObjectRelation Model
 
11.02.16
12:21
"может получиться отрицательное число, а этого не хотелось бы"

а чего хотелось бы?

"И ещё нужен % отклонения между 2 полями "

относительно чего?
2 Одинесю
 
11.02.16
12:22
(0) Число1*100/Число2-100 - отрицательные с меньшей ценой, положительные с большей.
3 Dyspho
 
11.02.16
12:23
(1) Хотелось бы как-нибудь не 1сумма -2сумма, а
Если Сумма1 >= Сумма2 Тогда
Сумма1 - Сумма2
Иначе
Сумма2 - Сумма1
как то так чтоли)
4 Dyspho
 
11.02.16
12:25
(1) Ну типа есть ЗаказПоставщику
формируется вручную и обработкой
так вот, после формирования ручками и обработкой одного и того же заказа, нужно вычислять % отклонения, т.е. на сколько различны эти 2 заказа(позиции номенклатуры идентичны, различно кол-во)
5 Dyspho
 
11.02.16
12:29
Почему все молчат? Я через чур херню написал?)
6 Dyspho
 
11.02.16
12:31
нда
чересчур*
7 ks_83
 
11.02.16
12:33
ну добавь поле в запрос. в чем проблема то? Не знаешь где кнопка "добавить"?
8 Timon1405
 
11.02.16
12:34
по п1. МАКСИМУМ(Сумма1 - Сумма2,Сумма2 - Сумма1) в запросе или вычисляемых полях
9 ObjectRelation Model
 
11.02.16
12:34
(3) так не видно в какую сторону отклонение, тогда надо две колонки
10 Dyspho
 
11.02.16
12:34
(7) Я не знаю СКД, что добавлять то?) и как % отклонения вычислить
11 Одинесю
 
11.02.16
12:35
(10) в (2) процент отклонения
12 Dyspho
 
11.02.16
12:36
(9) не совсем понял, допустим
Автозаказ 35 Ручной 20
процент отклонения между ними
13 ks_83
 
11.02.16
12:38
(10) Пипец... Т.е. ты матчасть даже не пытался изучать и сразу полез на форум с тупыми вопросами?
14 ObjectRelation Model
 
11.02.16
12:38
(12) отклонение 15 и в какую сторону, не глядя на исходные числа, не скажешь
15 rphosts
 
11.02.16
12:39
(0) отчёт на базе запроса? - Получай всё прямо в запросе...

А вот когда появится время - кур Хрусталёву до просветления
16 rphosts
 
11.02.16
12:39
*кури
17 ObjectRelation Model
 
11.02.16
12:39
(10) тут достаточно знаний языка запросов
18 Dyspho
 
11.02.16
12:40
(13) Да, я книгу приобрёл, надо отчёт закончить быстро) (13) Угу, я если честно, даже не пойму как добавить колонку разница между суммами, её же нет по идее)
19 ks_83
 
11.02.16
12:43
(8) Это ты чет погорячился.
20 Timon1405
 
11.02.16
12:48
(19) каюсь, это в коде, не в запросе.
тут "выбор когда тогда" поможет
21 Dyspho
 
11.02.16
12:54
как добавить колонку, которой нет в принципе ?! колонки же берутся готовые уже, а РазницаСумм нету ! чего я не понимаю
22 Dyspho
 
11.02.16
13:09
аа?
23 AceVi
 
11.02.16
13:17
(21)
Госпади, ты конструктор запросов открывал когда нить?
24 Dyspho
 
11.02.16
13:19
(23) Открывал и добавлял, только всё то, что есть в этом докменте
кол-во сумма и т д
но разница сумм то нету
25 Одинесю
 
11.02.16
13:21
(24) Может это будет поле с произвольным выражением?
26 Dyspho
 
11.02.16
13:26
(25) я там такого не вижу
27 Dyspho
 
11.02.16
17:05
Хочу сделать Вычисляемое поле РазницаСумм
Какое выражение написать?
Есть СуммаАвтозаказ и Сумма
Язык запросов не знаю, хочу Если СуммаАвтозаказ >= Сумма
Тогда СуммаАвтозаказ - Сумма
Иначе
Сумма - СуммаАвтозаказ
28 Timon1405
 
11.02.16
17:07
ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
хватит тупить, открой справку
29 Одинесю
 
11.02.16
17:08
(27) Пример:
ВЫБРАТЬ
Справочник.Номенклатура.Наименование,
ВЫБОР
   КОГДА Справочник.Номенклатура.Этогруппа = ИСТИНА
      ТОГДА "Это Группа"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 1000
      ТОГДА "1000 -"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 100
      ТОГДА "100 – 1000"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 10
      ТОГДА "10 – 100"
   КОГДА Справочник.Номенклатура.ЗакупочнаяЦена > 0
      ТОГДА "0 – 10"
ИНАЧЕ
   "Не Задана"
КОНЕЦ Цена
30 Dyspho
 
11.02.16
17:12
(29) я хз, я пишу ВЫБОР, хочу нажать ентер, чтобы на новую строку перейти - пишетошибка запроса
31 Dyspho
 
11.02.16
17:17
(29) ВЫБОР КОГДА СуммаАвтозаказ >= Сумма
Тогда СуммаАвтозаказ - Сумма
Иначе
Сумма - СуммаАвтозаказ

Конец
?
32 Timon1405
 
11.02.16
17:18
(31) Будь мужиком, возьми консоль запросов
33 Dyspho
 
11.02.16
17:18
(32) я неправильно написал?)
34 Dyspho
 
11.02.16
19:30
нужна помощь, мужики, гугол моему мозгу не помог
35 Dyspho
 
12.02.16
11:13
ВЫБОР КОГДА СуммаАвтозаказ >= Сумма
Тогда СуммаАвтозаказ - Сумма
Иначе
Сумма - СуммаАвтозаказ

Конец

не понимаю, почему не срабатывает, просто пустое поле выдаёт
36 FIXXXL
 
12.02.16
11:18
(35) ты весь запрос покажи
37 Dyspho
 
12.02.16
11:23
(36) Эт вычиисляемое поле, колонка Выражение
а запрос вот,ВЫБРАТЬ
    ЗаказПоставщикуТовары.Ссылка.Магазин КАК Магазин,
    ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
    ЗаказПоставщикуТовары.Ссылка.Контрагент КАК Контрагент,
    ЗаказПоставщикуТовары.Количество КАК КоличествоАвтозаказ,
    ЗаказПоставщикуТовары.Цена КАК Цена,
    NULL КАК Сумма,
    ЗаказПоставщикуТовары.Ссылка.Автозаказ,
    ЗаказПоставщикуТовары.Ссылка КАК ДокументАвтозаказ,
    NULL КАК Количество,
    ЗаказПоставщикуТовары.Сумма КАК СуммаАвтозаказ
ИЗ
    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
ГДЕ
    ЗаказПоставщикуТовары.Ссылка.Дата МЕЖДУ &Датаначало И &Датаконец
    И ЗаказПоставщикуТовары.Ссылка.Автозаказ = ИСТИНА

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

ВЫБРАТЬ
    ЗаказПоставщикуТовары.Ссылка.Магазин,
    ЗаказПоставщикуТовары.Номенклатура,
    ЗаказПоставщикуТовары.Ссылка.Контрагент,
    NULL,
    ЗаказПоставщикуТовары.Цена,
    ЗаказПоставщикуТовары.Сумма,
    ЗаказПоставщикуТовары.Ссылка.Автозаказ,
    ЗаказПоставщикуТовары.Ссылка,
    c    Контрагент,
    Номенклатура,
    ЗаказПоставщикуТовары.Количество,
    Цена,
    Сумма
38 Одинесю
 
12.02.16
11:36
Ты вручную писал?
39 Одинесю
 
12.02.16
11:37
У тебя сразу с первого взгляда разное количество полей в объединении.
40 Dyspho
 
12.02.16
11:51
(38) нет
41 Dyspho
 
12.02.16
11:55
(39) У меня всё ок работает, кроме поля вычисляемого
42 Dyspho
 
12.02.16
12:05
чтоне так я делаю????
43 AceVi
 
12.02.16
12:13
(42) Тебя просили показать весь запрос а в (37) ты показал обрубок запрос который построитель не поймет. так еще там нет вычисляемого поля. Ты программист или кто? если программист то делай как положено. если админ которого бухи попросили поправить отчет, то плати в контору тыщу и тебе все сделают.
44 Dyspho
 
12.02.16
12:16
(43) ВЫБРАТЬ
    
    ЗаказПоставщикуТовары.Ссылка.Магазин КАК Магазин,
    ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
    ЗаказПоставщикуТовары.Ссылка.Контрагент КАК Контрагент,
    ЗаказПоставщикуТовары.Количество КАК КоличествоАвтозаказ,
    ЗаказПоставщикуТовары.Цена КАК Цена,
    NULL КАК Сумма,
    ЗаказПоставщикуТовары.Ссылка.Автозаказ,
    ЗаказПоставщикуТовары.Ссылка КАК ДокументАвтозаказ,
    NULL КАК Количество,
    ЗаказПоставщикуТовары.Сумма КАК СуммаАвтозаказ
ИЗ
    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
ГДЕ
    ЗаказПоставщикуТовары.Ссылка.Дата МЕЖДУ &Датаначало И &Датаконец
    И ЗаказПоставщикуТовары.Ссылка.Автозаказ = ИСТИНА

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

ВЫБРАТЬ
    ЗаказПоставщикуТовары.Ссылка.Магазин,
    ЗаказПоставщикуТовары.Номенклатура,
    ЗаказПоставщикуТовары.Ссылка.Контрагент,
    NULL,
    ЗаказПоставщикуТовары.Цена,
    ЗаказПоставщикуТовары.Сумма,
    ЗаказПоставщикуТовары.Ссылка.Автозаказ,
    ЗаказПоставщикуТовары.Ссылка,
    ЗаказПоставщикуТовары.Количество,
    NULL
ИЗ
    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
ГДЕ
    ЗаказПоставщикуТовары.Ссылка.Автозаказ = ЛОЖЬ
    И ЗаказПоставщикуТовары.Ссылка.Дата МЕЖДУ &Датаначало И &Датаконец

УПОРЯДОЧИТЬ ПО
    Магазин,
    Контрагент,
    Номенклатура,
    ЗаказПоставщикуТовары.Количество,
    Цена,
    Сумма
45 AceVi
 
12.02.16
12:33
А в итоге ты что хочешь получить то?
В разрезе каких группировок тебе надо СуммаАвтозаказ - Сумма ?

1. Ты выбираешь в 2 запросах Разные документы ЗаказПоставщику.
2. Значит тебе каждую выборку надо поместить во временную таблицу, а не объединять ее. а потом левым соединением объединить таблицы в разрезе тех группировок по которым тебе нужна разница.
46 Dyspho
 
12.02.16
12:34
(45) почему разные то ?
47 AceVi
 
12.02.16
12:37
И ЗаказПоставщикуТовары.Ссылка.Автозаказ = ИСТИНА

и

ЗаказПоставщикуТовары.Ссылка.Автозаказ = ЛОЖЬ

Однозначно в каждой выборке ты получишь уникальный не повторяющийся в другой выборке документ.

Ведь не может же реквизит иметь суперпозицию-быть одновременно и ЛОЖЬ и ИСТИНА) или 1С теперь работает по квантовой логике?
48 Dyspho
 
12.02.16
12:49
(47) Это же реквизит, 1 колонка автозаказ 2 колонка ручной заказ
49 AceVi
 
12.02.16
12:55
(48) Где ты видишь колонку?

ЗаказПоставщикуТовары.Ссылка.Автозаказ = ЛОЖЬ

Ты получаешь через ссылку - значит это реквизит шапки документа.
50 Dyspho
 
12.02.16
12:58
(49) в общем, у меня вопрос, как вычисляемое поле добавить
51 AceVi
 
12.02.16
13:05
(50) а я тебе сказал как в (45) . Делаешь левое обеднение по тем группировкам по которым нужна разница.  
Что из этого ты не понял? что такое группировки? что такое левое соединение? говори конкретно - а то выражаешься как бух-ер - сделайте мне красиво и что бы я ничего не делал.
52 AceVi
 
12.02.16
13:06
*левое соединение
53 Dyspho
 
12.02.16
13:12
(52) я не понимаю к чему мне это, мне нужно  всего лишь колонку сделать, в которой будет вычисляться Сумма1 - Сумма2
54 Одинесю
 
12.02.16
13:20
(53) Сядь и нарисуй себе, как это реализовать в текущем исполнении. Что с чем ты будешь сравнивать и что из чего вычитать в этом поле. И где оно здесь должно быть это поле.
55 Сильф
 
12.02.16
13:36
(50) в конструкторе схемы компоновки третья закладка "Вычисляемые поля", там добавляешь строку, в поле "ПутьКДанным" пишешь "Отклонение", в поле "Выражение" пишешь:

выбор когда сумма1 >= Сумма2 тогда Сумма1 - Сумма2 иначе Сумма2 - Сумма1 конец

Дальше идёшь на закладку "Ресурсы", добавляешь это новое поле в ресурсы. Дальше по аналогии как с другими полями ресурсов.
56 Dyspho
 
12.02.16
13:42
(55) я так и сделал
не считает
57 Одинесю
 
12.02.16
13:50
(56) У тебя сумма там сравнивается всегда с NULL и в выражениях всегда одно из чисел NULL
58 Одинесю
 
12.02.16
13:58
Попробуй вместо NULL 0 поставить в запросе.
59 AceVi
 
12.02.16
14:37
Вы такие уманы. Дай точное определение(путь к данным) что такое Сумма1 и что такое Сумма2. Выж не вехали, а тс  и не поясняет никому.
Сумма1 - это сумма из документов ЗаказПоставщику с реквизитом Автозаказ = ИСТИНА, а сумма 2 Ложь. вы что из чего вычитать собрались? когда в его запросе получиться такая таблица

Заявка Авто   Сумма
з1     Истина  100
32     Ложь    100
з3     Истина  50

Вы тут собрались данные из разных строк между собой вычитать? Ну так может сначала соединение левое сделать а? что бы по нужным группировкам данные в 1 строке оказались и их можно было бы вычесть?
60 AceVi
 
12.02.16
14:38
Ладно в его корявом запросе вот такая таблица

Заявка Авто   СуммаАвто Сумма
з1     Истина  100      NULL
32     Ложь    NULL     62
з3     Истина  50       NULL
61 Одинесю
 
12.02.16
15:03
(60) Вместо NULL поставить 0 и сгруппировать по заявкам. Только поле автозаявка не надо)
62 AceVi
 
12.02.16
15:07
(61) и че?
Заявка СуммаАвто Сумма
з1     100      0
32     0        62
з3     50       0

1.Вот ты получил таблицу? и вот так считать будешь? 100-0? ты этого хотел? может сначала соединение сделать что бы данные в 1 строке оказались?

2. С чего ты решил что тс надо группировать по заявкам? он такого не говорил. он вообще молчит на это счет. может ему по номенклатуре надо?
63 Одинесю
 
12.02.16
15:19
(62) Это не я хотел) У тебя не полная таблица, такая там
Заявка Сумма СуммаАвтозаказа
Заявка1 100      0
Заявка2  0       62
Заявка3  50      0
Заявка1  0       50
Заявка2   62     0
Заявка3  0       150

Когда он сгруппирует будут нормальные цифры.
64 AceVi
 
12.02.16
15:25
(63)
Это ты как получил строки?
Заявка1 100      0
Заявка1  0       50

Посмотри внимательно условия

ЗаказПоставщикуТовары.Ссылка.Автозаказ = ИСТИНА

Чувствуешь .Ссылка? Это не колонка как бы, а реквизит шапки.

Это вот если предположить что это колонка и тс надо разницу между авто и не авто в одном текущем документе. тогда ты прав. Но все это ведь не так?
65 Одинесю
 
12.02.16
15:29
(64) "ЗаказПоставщикуТовары.Ссылка.Автозаказ" Это реквизит не шапки, а ТЧ.
"Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары"
66 AceVi
 
12.02.16
15:34
(65) О боже мой.
И ЗаказПоставщикуТовары.Ссылка.Автозаказ = ИСТИНА

повторяю. Он получает значение по ссылке, внимательно смотри.

Вот так выглядело бы получение значения колонки:
И ЗаказПоставщикуТовары.Автозаказ = ИСТИНА

но в примере ведь не так?
67 Одинесю
 
12.02.16
15:41
(66) Надо короче задание знать, что он хочет. Я думаю он хочет группировать по этим полям
    ЗаказПоставщикуТовары.Ссылка.Магазин,
    ЗаказПоставщикуТовары.Номенклатура,
    ЗаказПоставщикуТовары.Ссылка.Контрагент,
68 AceVi
 
12.02.16
15:44
(67) Ага. и это я спросил его в (45)
Его ответ (53) .
Так что пора в тс кидаться тапками что бы бежал отсюда к прогерам и платил им денюжку.
69 Dyspho
 
14.02.16
14:14
Подскажите пожалуйста, левое соединение делается только при 2 наборах данных?
70 Dyspho
 
14.02.16
18:42
Как выделить в СКД ячейки цветом, только в 1 колонки и только отрицательные?
71 Сильф
 
14.02.16
18:57
(70) условное оформление
72 Wirtuozzz
 
14.02.16
19:08
(0) Сделай в запросе и не парься.
73 Dyspho
 
14.02.16
19:37
ВОт вопрос, как процент отклонения кол-ва колонку сделать? допустим
Колонка Автозаказ 100
Колонка Заказ 90
Колонка ОтклоненияКоличества 10%
74 Dyspho
 
14.02.16
19:49
ап)
75 Dyspho
 
14.02.16
20:08
Выручите пожалуйста
76 Wirtuozzz
 
14.02.16
20:15
Можно еще подумать, как сделать расчет процента по иерархичной группировке.
77 Dyspho
 
14.02.16
20:31
А подсказать мне можно, по вопросу в (73)  ?)
78 Сильф
 
14.02.16
20:36
(73) процент от чего?
79 Dyspho
 
14.02.16
20:38
(78) Колонка автозаказ 100шт
Колонка Заказ 90шт
% разницы между ними 10%
вот это надо
80 MishaD
 
14.02.16
20:46
Автозаказ-заказ ?
81 Dyspho
 
14.02.16
20:48
(80) Разница в % между Автозаказ и Заказ
82 Dyspho
 
14.02.16
20:48
(80) Автозаказ 100шт  Заказ 90шт  Разница 10%
83 MishaD
 
14.02.16
20:54
Выбор когда Автозаказ>0 (Заказ-Автозаказ)/Автозаказ Иначе 0 Конец
84 MishaD
 
14.02.16
20:56
вернее (Автозаказ-Заказ)
85 Dyspho
 
14.02.16
20:57
(84) И что это такое? С чего это разница в % ?
86 MishaD
 
14.02.16
21:03
ну помножь (83), с учетом исправления в (84) на 100
87 Dyspho
 
14.02.16
21:10
А для чего<0?
88 Dyspho
 
14.02.16
21:17
м?
89 Dyspho
 
15.02.16
09:27
Ребят, всё уточнил, помогите пожалуйста
Есть Автозаказ
Есть Заказ

Нужен % отклонения Автозаказа от заказа


т.е.
Заказ 100

Автозаказ 90

Процент отклонения Автозаказа от Заказа 10%
Как это в выч поле прописать?
90 AceVi
 
15.02.16
12:07
(89) Чувак, а в чем проблема?
как ты разницу прописал? так и процент - только формула другая. или ты уже на знаешь как процентное соотношение получить?