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

работа с запросом

работа с запросом
Я
   1Слайт
 
18.02.20 - 14:40
Добрый день. Делаю отчет. Условие: если нет дец.номера то на его место нужно указать наименование документа
есть запрос:
ВЫБРАТЬ
    АрхивныйДокумент.ДецНомер КАК ДецимальныйНомер,
    АрхивныйДокумент.РегНомер КАК ИнвентарныйНомер,
    АрхивныйДокумент.ДокументыАрхива.(
        КолЛистов КАК КоличествоЛистовВДокументе,
        Наименование КАК Наименование
    ) КАК ДокументыАрхива
ИЗ
    Документ.АрхивныйДокумент КАК АрхивныйДокумент
   dka80
 
1 - 18.02.20 - 14:41
Конструкция Выбор тебе в помощь
   1Слайт
 
2 - 18.02.20 - 14:59
ВЫБРАТЬ
Выбор Когда АрхивныйДокумент.ДецНомер ЕСТЬ NULL 
Тогда .....
не могу понять что ТОГДА... как прописать сюда наименование
не понимаю схемы присвоения
   unbred
 
3 - 18.02.20 - 15:03
   unbred
 
4 - 18.02.20 - 15:05
в консольке это выглядит так
http://skrinshoter.ru/s/180220/TKYnZdLk
   unbred
 
5 - 18.02.20 - 15:09
(2) что хочешь там увидеть, то и пиши после "тогда"
   unbred
 
6 - 18.02.20 - 15:12
Выбор
   Когда ПолЖенский.НетФото  
            Тогда "нэтПатскасска"
   иначе "естьПатскасска"
Конец как Патскасска
   1Слайт
 
7 - 18.02.20 - 15:18
(6) так вроде бы и тут нэСайтЗнакомств
   unbred
 
8 - 18.02.20 - 15:22
(7) так гласит закон джунглей)
гони фотку)
   unbred
 
9 - 18.02.20 - 15:35
(7) "НЕ " -зарезервированное платформой слово. его нЫлзья коверкать. иначе не сработает. и слитно писать тоже низя.
 нэСайтЗнакомств = Новый ЭтическийСайтЗнакомств;
Фотка = нэСайтЗнакомств.Фото.Добавить()

Если Фотка.Существует Тогда 
  ЕстьПатсскасска
Иначе
  Возврат;
конецЕсли
   D_E_S_131
 
10 - 18.02.20 - 16:05
Выбор Когда АрхивныйДокумент.ДецНомер = "" Тогда АрхивныйДокумент.Наименование
Иначе АрхивныйДокумент.ДецНомер
Конец КАК ДецимальныйНомер
   unbred
 
11 - 18.02.20 - 16:09
(10) фи
   unbred
 
12 - 18.02.20 - 16:09
щас будет "поле объекта не обнаружено "наименование""))
   D_E_S_131
 
13 - 18.02.20 - 16:27
(12) Она не поясняла что для нее значит "указать наименование документа". :)
   Said_We
 
14 - 18.02.20 - 16:41
(7) Фотка не для знакомств :-)

ВЫБРАТЬ 
    ВЫБОР КОГДА АрхивныйДокумент.Ссылка.ДецНомер = "" ТОГДА Максимум(АрхивныйДокумент.Наименование) ИНАЧЕ АрхивныйДокумент.Ссылка.ДецНомер КОНЕЦ КАК ДецимальныйНомер, 
    АрхивныйДокумент.Ссылка.РегНомер КАК ИнвентарныйНомер
ИЗ 
    Документ.АрхивныйДокумент.ДокументыАрхива КАК АрхивныйДокумент

группировать по

    АрхивныйДокумент.Ссылка.ДецНомер,
    АрхивныйДокумент.Ссылка.РегНомер
   1Слайт
 
15 - 18.02.20 - 16:42
(10) и так пробовали и так
ВЫБРАТЬ
АрхивныйДокумент.Ссылка КАК Ссылка, 
ВЫБОР  КОГДА АрхивныйДокумент.ДецНомер ЕСТЬ NULL
ТОГДА  АрхивныйДокумент.ДокументыАрхива.Наименование
 
Итог вся колонка децноменр обнуляется, весь столбец пустой
   Said_We
 
16 - 18.02.20 - 16:49
"группировать по" - читать как "сгруппировать по"
   hhhh
 
17 - 18.02.20 - 16:51
(15) вроде никогда ДецНомер не будет NULL, это вы какую-то хрень написали.
   1Слайт
 
18 - 18.02.20 - 16:53
(17) возможно, я только учусь
   dezss
 
19 - 18.02.20 - 16:53
(15) А где ИНАЧЕ?
   1Слайт
 
20 - 18.02.20 - 16:55
(19) зачем? если нужно элементарно заполнить пустое поле
   dka80
 
21 - 18.02.20 - 16:56
ВЫБРАТЬ
Выбор Когда ДокументыАрхива.Ссылка.ДецНомер = "" Тогда ДокументыАрхива .Наименование Иначе ДокументыАрхива.Ссылка.ДецНомер Конец
Из    Документ.АрхивныйДокумент.ДокументыАрхива Как ДокументыАрхива
   dezss
 
22 - 18.02.20 - 16:56
(20) Потому что это 2-я ветка условия. И у тебя не описано поведение при попадании в нее.
   1Слайт
 
23 - 18.02.20 - 17:03
(22) в общем без разницы - обнуляется столбец и все!
   unbred
 
24 - 18.02.20 - 17:05
(23) без фотки не взлетит, очевидно же.
   dezss
 
25 - 18.02.20 - 17:05
(23) Ну так покажи полностью запрос с выбором
   1Слайт
 
26 - 18.02.20 - 17:07
(25)
ВЫБРАТЬ
АрхивныйДокумент.Ссылка КАК Ссылка, 
ВЫБОР  
КОГДА АрхивныйДокумент.ДецНомер = "" 
ТОГДА  АрхивныйДокумент.ДокументыАрхива.Наименование
иначе  АрхивныйДокумент.ДецНомер
Конец КАК ДецНомер,
    АрхивныйДокумент.РегНомер КАК РегНомер
ИЗ
    Документ.АрхивныйДокумент КАК АрхивныйДокумент
   dezss
 
27 - 18.02.20 - 17:10
(26) мде...делай как (14) говорит. Так будет проще.
   1Слайт
 
28 - 18.02.20 - 17:15
(14) как только добавляю Максимум при отладке выдает ошибку
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(6, 8)}: Поле не входит в группу "АрхивныйДокумент.ДецНомер"
иначе  <<?>>АрхивныйДокумент.ДецНомер
   1Слайт
 
29 - 18.02.20 - 17:17
децномер это поле ввода, наименование беру из таблицы
   hhhh
 
30 - 18.02.20 - 17:20
(29) надо так
Максимум(ВЫБОР КОГДА АрхивныйДокумент.Ссылка.ДецНомер = "" ТОГДА АрхивныйДокумент.Наименование ИНАЧЕ АрхивныйДокумент.Ссылка.ДецНомер КОНЕЦ) КАК ДецимальныйНомер,
 
 Рекламное место пустует
   Said_We
 
31 - 18.02.20 - 17:59
(28) Как в (16) поправила?
Без фотки видешь плохо пишется. Была бы фотка сразу бы всё получилось. Примета такая.
   Said_We
 
32 - 18.02.20 - 18:19
(28)
ВЫБРАТЬ
    ВЫБОР
        КОГДА ВложенныйЗапрос.ДецимальныйНомер = ""
            ТОГДА ВложенныйЗапрос.Наименование
        ИНАЧЕ ВложенныйЗапрос.ДецимальныйНомер
    КОНЕЦ КАК ДецимальныйНомер,
    ВложенныйЗапрос.ИнвентарныйНомер КАК ИнвентарныйНомер
ИЗ
    (ВЫБРАТЬ
        АрхивныйДокумент.Ссылка.ДецНомер КАК ДецимальныйНомер,
        АрхивныйДокумент.Ссылка.РегНомер КАК ИнвентарныйНомер,
        МАКСИМУМ(АрхивныйДокумент.Наименование) КАК Наименование
    ИЗ
        Документ.АрхивныйДокумент.ДокументыАрхива КАК АрхивныйДокумент
    
    СГРУППИРОВАТЬ ПО
        АрхивныйДокумент.Ссылка.ДецимальныйНомер,
        АрхивныйДокумент.Ссылка.ИнвентарныйНомер) КАК ВложенныйЗапрос
   Said_We
 
33 - 18.02.20 - 23:47
(28) А так было бы сразу, если была бы фотография:

ВЫБРАТЬ
    ВЫБОР
        КОГДА ШапкаДокумента.ДецНомер = ""
            ТОГДА ЕСТЬNULL(ТабличнаяЧастьДокумента.Наименование, "")
        ИНАЧЕ ШапкаДокумента.ДецНомер
    КОНЕЦ КАК ДецимальныйНомер,
    ШапкаДокумента.РегНомер КАК ИнвентарныйНомер
ИЗ
    Документ.АрхивныйДокумент КАК ШапкаДокумента
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            АрхивныйДокумент.Ссылка КАК Ссылка,
            МАКСИМУМ(АрхивныйДокумент.Наименование) КАК Наименование
        ИЗ
            Документ.АрхивныйДокумент.ДокументыАрхива КАК АрхивныйДокумент
        
        СГРУППИРОВАТЬ ПО
            АрхивныйДокумент.Ссылка) КАК ТабличнаяЧастьДокумента
        ПО ШапкаДокумента.Ссылка = ТабличнаяЧастьДокумента.Ссылка
   Said_We
 
34 - 19.02.20 - 07:55
(0) Помогло?
   DrWatson
 
35 - 19.02.20 - 08:43
(26) Если не помогает проверка ДецНомер = "", то возможные причины этого:
1. В ДецНомер не пустая строка. Какой тип у реквизита? Полностью, с квалификаторами.
2. Условие срабатывает, но пусто в Наименование. Выведи отдельно колонку с наименованием, посмотри оно вообще заполнено.
   1Слайт
 
36 - 19.02.20 - 08:55
(34) сейчас проверю, спасибо
   Said_We
 
37 - 19.02.20 - 09:14
(36) Если Поле "ДецНомер" тип число, то проверка не на "", а на 0. Если составной тип, то в том числе на NULL.
Фото где?
   1Слайт
 
38 - 19.02.20 - 09:58
(32) вложенный запрос помог!!!!!!!!! спасибо огромное!
   1Слайт
 
39 - 19.02.20 - 09:59
(35) с заполнением все ок, и с типами тоже
   Said_We
 
40 - 19.02.20 - 10:01
(38) В 32 не правильный запрос. Более правильный в (33).
Фото где?
   1Слайт
 
41 - 19.02.20 - 10:06
ВЫБРАТЬ
ВЫБОР
        КОГДА ВложенныйЗапрос.ДецимальныйНомер = ""
            ТОГДА ВложенныйЗапрос.Наименование
        ИНАЧЕ ВложенныйЗапрос.ДецимальныйНомер
    КОНЕЦ КАК ДецимальныйНомер,
    ВложенныйЗапрос.ИнвентарныйНомер КАК ИнвентарныйНомер
ИЗ
    (ВЫБРАТЬ
        АрхивныйДокумент.ДецНомер КАК ДецимальныйНомер,
        АрхивныйДокумент.РегНомер КАК ИнвентарныйНомер,
        Максимум(АрхивныйДокумент.Наименование) КАК Наименование
    ИЗ
        Документ.АрхивныйДокумент КАК АрхивныйДокумент
    
    СГРУППИРОВАТЬ ПО
        АрхивныйДокумент.ДецНомер,
        АрхивныйДокумент.РегНомер) КАК ВложенныйЗапрос
   1Слайт
 
42 - 19.02.20 - 10:06
(40) на модерации))
   hhhh
 
43 - 19.02.20 - 10:14
(41) ИЗ
            Документ.АрхивныйДокумент.ДокументыАрхива КАК АрхивныйДокумент

вы очень невнимательны
   Said_We
 
44 - 19.02.20 - 10:18
(42) Ждем!
В (32) Если в табличной части не будет строк, то в выборку такой документ не попадет, но он может иметь все необходимые номера, да и собственно быть.
   1Слайт
 
45 - 19.02.20 - 10:22
(44) я вывела наименование в поле ввода, убрала из таблицы
   hhhh
 
46 - 19.02.20 - 10:25
(45) тогда значит максимумов не нужно. и вложенных запросов
   D_E_S_131
 
47 - 19.02.20 - 12:03
Вообще постановка какая-то странная - если нет номера, то берем "максимум" из наименований документов табличной части. Что за бред? :)
   palsergeich
 
48 - 19.02.20 - 12:09
(47) не думай об этом, бумагомараки любят изобретать уникальные алгоритмы нумерации
   1Слайт
 
49 - 19.02.20 - 12:10
(47) все ок, обошлось без максимума и вложенного запросы, заковырка была в неправильном обращении к таблице
ВЫБРАТЬ
    ВЫБОР
        КОГДА АрхивныйДокумент.ДецНомер = ""
            ТОГДА АрхивныйДокумент.Наименование
        ИНАЧЕ АрхивныйДокумент.ДецНомер
    КОНЕЦ КАК ДецНомер,
    АрхивныйДокумент.РегНомер КАК РегНомер,
    АрхивныйДокумент.ДокументыАрхива.(
        КолЛистов КАК КолЛистов,
        ХранилищеНом КАК ХранилищеНом,
        КлючНом КАК КлючНом,
        ПапкаПодл КАК ПапкаПодл
    ) КАК ДокументыАрхива
ИЗ
    Документ.АрхивныйДокумент КАК АрхивныйДокумент
   D_E_S_131
 
50 - 19.02.20 - 12:15
Я еще хочу побрюзжать на реквизит документа с наименованием "Наименование"! xD
   unbred
 
51 - 19.02.20 - 12:37
(50) я был уверен, что там представление. но ты внезапно попал в яблочко)
   1Слайт
 
52 - 19.02.20 - 12:46
(50) пф
   1Слайт
 
53 - 19.02.20 - 12:47
будете брюзжать - я вас еще вопросама забросаю!
   1Слайт
 
54 - 19.02.20 - 12:48
*вопросами
   D_E_S_131
 
55 - 19.02.20 - 12:51
(53) Но в этот раз мы спешить с ответами не будем, подождем "прохождения модерации"...
   Said_We
 
56 - 19.02.20 - 14:44
(55) Только после фото. Мы в приметы верим и они не работают как видишь. Суеверные мы. Нет фото - плевый вопрос решали два дня.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.