Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД произвольное выражение

СКД произвольное выражение
Я
   bfss-732
 
10.06.21 - 13:18
Всем привет!

СКД есть 4  условиия при которых суммы должны сложиться в одну и выйти под название ОКЛАД. делаю так:

ИНАЧЕ ВЫБОР
КОГДА
                                          ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ОсновнаяЗаработнаяПлата)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ПрочаяЗаработнаяПлата)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2РезервыОтпускаВознаграждения)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Год)
                                                        И ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОценочныеОбязательстваПоВознаграждениямРаботникам)
                                                        И ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)
ТОГДА "ОКЛАД"
Правильно не выводится. С "И/ИЛИ" как только не забавлялся(((
Какие есть варианты еще?
   1Сергей
 
1 - 10.06.21 - 13:24
Использовать скобки не предлагали ещё?
   bfss-732
 
2 - 10.06.21 - 13:26
(1) ))) научи друг
   1Сергей
 
3 - 10.06.21 - 13:27
хоспаде....


ИНАЧЕ ВЫБОР
КОГДА
                                          ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ОсновнаяЗаработнаяПлата)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ПрочаяЗаработнаяПлата)
                                                        ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2РезервыОтпускаВознаграждения)
                                                        (ИЛИ ХозрасчетныйДвиженияССубконто.СубконтоКт1 В ИЕРАРХИИ (&СубконтоКт1Год)
                                                        И ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОценочныеОбязательстваПоВознаграждениямРаботникам)
                                                        И ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда))
ТОГДА "ОКЛАД"
   1Сергей
 
4 - 10.06.21 - 13:28
ой, не туда первую скобку впендюрил. Но, Вы должны понять
   bfss-732
 
5 - 10.06.21 - 13:29
(4) да я ваще с СКД на "Ваше Величество" )))
   bfss-732
 
6 - 10.06.21 - 13:30
Запросом всевытащил еще на прошлой недели, а с СКД воюю до сих пор
   bfss-732
 
7 - 10.06.21 - 13:31
Хотя это и есть запрос
   1Сергей
 
8 - 10.06.21 - 13:31
(5) тут не СКД, тут надо понять при каких значения СчетДт какие субконто должны быть
   1Сергей
 
9 - 10.06.21 - 13:33
Оценочные обязательства по вознаграждениям работникам - это же группа счетов вроде. Не?
   bfss-732
 
10 - 10.06.21 - 13:34
(8) На бумаге все нарисовал, понимание есть 100%, как это понимание в запрос отразить не знаю
   1Сергей
 
11 - 10.06.21 - 13:35
(10) хоспадя...

КОГДА
   (СчетКт = ... И СубконтоДт2 в ...)
   ИЛИ (СчетКт = ... И СубконтоДт2 в ...)
   ИЛИ (СчетКт = ... И СубконтоДт2 в ...)
   ...
   bfss-732
 
12 - 10.06.21 - 13:37
СчКт90.01.1 +СубконотоДт2(СтатьяРасходов1)
СчКт70      +СубконотоДт2(СтатьяРасходов2)
СчКт70      +СубконотоДт2(СтатьяРасходов3)
СчКт90.01.3 +СубконотоДт2(СтатьяРасходов3) + СубконтоКт1 (Виды резервов и оценочных обязательств1)
СчКт90.01.3 +СубконотоДт2(СтатьяРасходов3) + СубконтоКт1 (Виды резервов и оценочных обязательств2)


Вот мой оклад
   1Сергей
 
13 - 10.06.21 - 13:39
(12) ну вот по лекалу в (11)
   bfss-732
 
14 - 10.06.21 - 13:39
(11) в двух словах, чем от моего примера отличается
   1Сергей
 
15 - 10.06.21 - 13:40
(14) сначала выполняются операции И, потом ИЛИ
   1Сергей
 
16 - 10.06.21 - 13:40
поэтому нужны скобки
   bfss-732
 
17 - 10.06.21 - 13:41
(16) ставлю скобки, захожу в конструктор, захожу в это выражение, а он их стирает. Это что за номер?))
   Малыш Джон
 
18 - 10.06.21 - 13:43
(17) значит и без скобок в таком порядке считает
   bfss-732
 
19 - 10.06.21 - 13:44
есть еще варианты?
   Малыш Джон
 
20 - 10.06.21 - 13:44
ну и да
Отделять логические И от логических ИЛИ скобкам смысла большого нет
   bfss-732
 
21 - 10.06.21 - 13:45
(20) 100%, уже убедился
   Малыш Джон
 
22 - 10.06.21 - 13:45
(19) дофига
проверить логику условия на конкретных примерах
проверить те ли параметры передаются в запрос
проверить в консоли СКД не коверкает ли СКД запрос
   bfss-732
 
23 - 10.06.21 - 13:47
СчКт90.01.1 +СубконотоДт2(СтатьяРасходов1)
СчКт70      +СубконотоДт2(СтатьяРасходов2)
СчКт70      +СубконотоДт2(СтатьяРасходов3)
СчКт90.01.3 +СубконотоДт2(СтатьяРасходов4) + СубконтоКт1 (Виды резервов и оценочных обязательств1)
СчКт90.01.3 +СубконотоДт2(СтатьяРасходов4) + СубконтоКт1 (Виды резервов и оценочных обязательств2)


Вот мой оклад

Так правильнее
   Малыш Джон
 
24 - 10.06.21 - 13:48
+(22) начать с проверки частичного условия, постепенно добавляя по одному
Переделать на конструкцию вида
ВЫБОР
   КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ) ТОГДА "ОКЛАД"
   КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ОсновнаяЗаработнаяПлата) ТОГДА "ОКЛАД"
   КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ (&СубконтоДт2ОсновнаяЗаработнаяПлата) ТОГДА "ОКЛАД"
...
   ИНАЧЕ "НЕ ОКЛАД"
КОНЕЦ
   Малыш Джон
 
25 - 10.06.21 - 13:49
а то понавертят десятиэтажных условий,
а потом "помогите, 1С глючит, условие не отрабатывает!"
   youalex
 
26 - 10.06.21 - 13:49
Я может не понял, но у тебя же вроде одно поле ХозрасчетныйДвиженияССубконто.СубконтоДт2
Т.е можно написать ХозрасчетныйДвиженияССубконто.СубконтоДт2 В ИЕРАРХИИ(&СубконтоДт2СтраховыеВзносыНачисляемыеНаРезервыКромеНСиПЗ, &СубконтоДт2ОсновнаяЗаработнаяПлата, ...)
   1Сергей
 
27 - 10.06.21 - 13:55
(23) твой вариант со скобками мы не увидим, да?
   bfss-732
 
28 - 10.06.21 - 13:55
(26) Красивее, но тоже самое выводит
   bfss-732
 
29 - 10.06.21 - 13:56
(27) так они не работают + еще пропадают (20) Малыш Джон тоже считает прошлый век
   1Сергей
 
30 - 10.06.21 - 13:56
(29) ок. Гадаем дальше
 
 
   bfss-732
 
31 - 10.06.21 - 13:56
(27) делал, три раза
   youalex
 
32 - 10.06.21 - 14:00
Может проблема вообще в значениях параметров/данных, а не в запросе
   Малыш Джон
 
33 - 10.06.21 - 14:00
(29) >>Малыш Джон тоже считает прошлый век

Это не я так считаю, это ещё до меня так считали.
   Малыш Джон
 
34 - 10.06.21 - 14:03
(31) вот тебе намек: как ты думаешь что будет результатом вот этого вот условия -
   ... ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОценочныеОбязательстваПоВознаграждениямРаботникам)
         И ХозрасчетныйДвиженияССубконто.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда) ?
   bfss-732
 
35 - 10.06.21 - 14:14
(34) при совпадении двух условий оно выполнится
   1Сергей
 
36 - 10.06.21 - 14:16
(35) счетКт не может быть одновременно 96-ым и 70-ым :)
   bfss-732
 
37 - 10.06.21 - 14:19
(36) Спасибо! Глаза замылились. Ща буду все переправлять
   bfss-732
 
38 - 10.06.21 - 14:23
(36)
это для каждого счета свой параметр и его заполнять?
   1Сергей
 
39 - 10.06.21 - 14:25
(38) так нагляднее и проще
   bfss-732
 
40 - 10.06.21 - 14:31
(39) буду делать, завтра отпишусь
   bfss-732
 
41 - 10.06.21 - 15:19
та же фигня(((
   bfss-732
 
42 - 10.06.21 - 16:05
Проблема в том, что для каждого условия нужна нужны уникальные(не повторяющиеся) параметры
   1Сергей
 
43 - 10.06.21 - 16:43
(42) Всё ещё не вижу проблемы


Список тем форума
 
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.