Имя: Пароль:
1C
1С v8
Сложное условие в тексте запроса
0 Explorer1c
 
30.05.12
09:02
Здрасьте,в выборке из виртуальной таблицы нужно исключить ненужные проводки
Я хочу сделать это с помощью условия,например выбор когда счетДт=1 тогда СчетКт<>2 Конец
Но чегойто не получается,кто подскажет,тому ничего не будет )))
1 Wobland
 
30.05.12
09:02
(0) врёшь ведь. тест тут устроил
2 Wobland
 
30.05.12
09:03
3 Explorer1c
 
30.05.12
09:04
(1)Неправда, просто щас бухам пишу запросик,а вчера полночи не спал  поэтому решил обратиться к рыцарям мисты!
4 Лефмихалыч
 
30.05.12
09:04
это условие работать не может "когда счетДт=1 тогда СчетКт<>2 Конец". Зачем тебе когда-тогда?
Используй просто И:
(счетДт=1 и СчетКт<>2)
5 Explorer1c
 
30.05.12
09:06
(4)Так мне много проводок нужно исключить
например 1310 3310
        1310 1420
         
а проводку 1310 7210 нужно оставить,как быть в таком случае?
6 Maxus43
 
30.05.12
09:07
Выбор Когда
счетДт=1 Тогда
НЕ СчетКт=2
Иначе
истина Конец

не работает чтоль?
7 Wobland
 
30.05.12
09:08
(6) Тогда НЕ
не будет работат
8 Maxus43
 
30.05.12
09:09
ну значит,
Выбор Когда
счетДт=1 Тогда Выбор Когда СчетКт=2 Тогда Ложь Иначе Истина Конец
Иначе Истина Конец
9 Maxus43
 
30.05.12
09:10
хотя правильней (4) один фиг
10 milan
 
30.05.12
09:10
Зафигач во временную таблицу и джойни
11 Explorer1c
 
30.05.12
09:11
(9)Всмысле правильней 4-там ведь только одно условие задать можно)
12 Maxus43
 
30.05.12
09:12
Выбор Когда счетДт=1 И НЕ СчетКт = 2 Тогда Истина Иначе Ложь Конец
13 Maxus43
 
30.05.12
09:13
(12) + это как пример, в данном случае не надо Выбор КОгда вобще
14 xenos
 
30.05.12
09:14
счетДт и счетоКТ - это случайно не списки значений?
15 Maxus43
 
30.05.12
09:16
>>а проводку 1310 7210 нужно оставить,как быть в таком случае?
(СчетДт = 1310 И СчетКт = 7210)

так и будет
16 Explorer1c
 
30.05.12
09:25
(15)А что если требуется оставить множество проводок исключить другое множество?
17 xenos
 
30.05.12
09:29
(16) Сделать список Проводок из строк типа "Дт1310Кт7210"

Для найденных проводок создать поле "Дт"+Выразить(СчетДт как строка(2))+"Кт"+Выразить(СчетКт как строка(2)) КАК Проводка

Условие: не Проводка в СпПроводок
18 Лефмихалыч
 
30.05.12
09:29
(16) вхождение в список проверяй
19 Maxus43
 
30.05.12
09:30
(17) >>Для найденных проводок создать поле "Дт"+Выразить(СчетДт как строка(2))+"Кт"+Выразить(СчетКт как строка(2)) КАК Проводка
не взлетит, нельзя приводить к другому типу
20 xenos
 
30.05.12
09:31
(19) Добавь в конце "Дт"+Выразить(СчетДт.Код как строка(2))+"Кт"+Выразить(СчетКт.Код как строка(2)) КАК Проводка
21 Maxus43
 
30.05.12
09:31
КАК Строка(4) :)
22 xenos
 
30.05.12
09:32
(21) Где такие счета:1310 7210?????
23 Maxus43
 
30.05.12
09:33
(22) Бюджетка?
24 xenos
 
30.05.12
09:35
(23) и там не такие.
25 Maxus43
 
30.05.12
09:36
а, МСФФО
26 Maxus43
 
30.05.12
09:36
МСФО*
27 Maxus43
 
30.05.12
09:39
не, Казахстан. :)
28 xenos
 
30.05.12
09:40
(25) Это все ересь, а значит неправильное.
29 Maxus43
 
30.05.12
09:42
что не правильное? в МСФО такие счета
30 Explorer1c
 
30.05.12
09:47
(29)Правильно,МСФО,у нас его кличут НСФО-немного изменен

Вот текст-пишет неправильное имя атрибута структур,что за нах?)))

ВЫБРАТЬ
   НДСКВозмещению.Период,
   НДСКВозмещению.Регистратор КАК Регистратор,
   НДСКВозмещению.НомерСтроки КАК НомерСтроки,
   НДСКВозмещению.Активность,
   НДСКВозмещению.Налогоплательщик,
   НДСКВозмещению.Организация,
   НДСКВозмещению.ВидОборота,
   НДСКВозмещению.ВидОперацииПоступления,
   НДСКВозмещению.ВидНалогаНДС,
   НДСКВозмещению.СтавкаНДС,
   НДСКВозмещению.Контрагент,
   НДСКВозмещению.ТМЗ,
   НДСКВозмещению.СтруктурнаяЕдиница,
   НДСКВозмещению.СчетФактура,
   НДСКВозмещению.УплаченныйНДС КАК УплаченныйНДС,
   НДСКВозмещению.СуммаБезНДС КАК СуммаБезНДС,
   НДСКВозмещению.СуммаНДС КАК СуммаНДС,
   НДСКВозмещению.ВидВходящегоДокумента,
   НДСКВозмещению.ДатаВходящегоДокумента,
   НДСКВозмещению.НомерВходящегоДокумента,
   НДСКВозмещению.МоментВремени,
   ВложенныйЗапрос.СчетДт,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.СчетДт),
   ВложенныйЗапрос.СчетКт,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.СчетКт),
   ВложенныйЗапрос.СуммаОборот,
   НДСКВозмещению.СуммаНДС КАК СуммаНДС1,
   НДСКВозмещению.СуммаБезНДС КАК СуммаБезНДС1
ИЗ
   РегистрНакопления.НДСКВозмещению КАК НДСКВозмещению
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
           ТиповойОборотыДтКт.Регистратор КАК Регистратор,
           ТиповойОборотыДтКт.СчетДт КАК СчетДт,
           ТиповойОборотыДтКт.СчетКт КАК СчетКт,
           ТиповойОборотыДтКт.СуммаОборот КАК СуммаОборот,
           ТиповойОборотыДтКт.СубконтоДт1 КАК СубконтоДт1,
           ТиповойОборотыДтКт.СубконтоДт2 КАК СубконтоДт2,
           ВЫБОР
               КОГДА ТиповойОборотыДтКт.СчетДт = &Счет1420
                       И (ТиповойОборотыДтКт.СчетКт = &Счет3310
                           ИЛИ ТиповойОборотыДтКт.СчетКт = &Счет1610)
                   ТОГДА 1
               ИНАЧЕ ВЫБОР
                       КОГДА ТиповойОборотыДтКт.СчетДт = &Счет3310
                               И (ТиповойОборотыДтКт.СчетКт = &Счет1610
                                   ИЛИ ТиповойОборотыДтКт.СчетКт = &Счет2911
                                   ИЛИ ТиповойОборотыДтКт.СчетКт = &Счет1251)
                           ТОГДА 1
                       ИНАЧЕ ВЫБОР
                               КОГДА ТиповойОборотыДтКт.СчетДт = &Счет3360
                                       И (ТиповойОборотыДтКт.СчетКт = &Счет1610
                                           ИЛИ ТиповойОборотыДтКт.СчетКт = &Счет1260)
                                   ТОГДА 1
                           КОНЕЦ
                   КОНЕЦ
           КОНЕЦ КАК Признак
       ИЗ
           РегистрБухгалтерии.Типовой.ОборотыДтКт(&НачДата, &КонДата, Запись, , , , , Организация = &Организация) КАК ТиповойОборотыДтКт
       ГДЕ
           ВЫБОР
                   КОГДА ТиповойОборотыДтКт.СчетДт = &1420
                       ТОГДА ТиповойОборотыДтКт.СчетКт <> &3310
               КОНЕЦ) КАК ВложенныйЗапрос
       ПО НДСКВозмещению.Регистратор = ВложенныйЗапрос.Регистратор
           И НДСКВозмещению.СуммаБезНДС = ВложенныйЗапрос.СуммаОборот
ГДЕ
   НДСКВозмещению.Период МЕЖДУ &НачДата И &КонДата
   И НДСКВозмещению.Организация В(&Организация)
   И ВложенныйЗапрос.Признак <> &признак

УПОРЯДОЧИТЬ ПО
   Регистратор,
   НомерСтроки
ИТОГИ
   СУММА(УплаченныйНДС),
   СУММА(СуммаБезНДС),
   СУММА(СуммаНДС)
ПО
   ОБЩИЕ
31 xenos
 
30.05.12
10:14
(29) Православные не должны такие счета использовать.
32 Maxus43
 
30.05.12
10:17
(31) а успешные должны, если хочеш выйти на международный рынок. IPO в конце концов закрыто без МСФО
Независимо от того, куда вы едете — это в гору и против ветра!