8.х Проверка на тип значения в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем dezone123456, 4 мар 2011.

  1. TopicStarter Overlay
    dezone123456
    Offline

    dezone123456

    Регистрация:
    4 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Всем здравствуйте! Подскажите, как мне в бухгалтерии предприятия релиз 2.0.17.7 сделать так чтобы в осв по счету (по любому) там где стоит вид субконто "номенклатура" прибавить единицу измерения этой номенклатуры. Нужно это сделать именно в запросе. С СКД сталкиваюсь впервые, поэтому понятия не имею как это делать. Пробовал через "типзнч", в запросе не прокатывает! Заранее спс!
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ВЫбор когда Субконто1 Ссылка Справочник.Номенклатура
    ТОГДА ................
    Иначе.............
    КОНЕЦ
  3. TopicStarter Overlay
    dezone123456
    Offline

    dezone123456

    Регистрация:
    4 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    спасибо. Пробовал писать
    Код:
    ВЫбор когда Субконто1 Ссылка Справочник.Номенклатура
    ТОГДА субконто1+" ("+субконто1.БазоваяединицаИзмерения+")"
    Иначе субконто1
    КОНЕЦ
    
    пишет ошибку "ожидается ключевое слово "then""
    писал это в основную схему компоновки данных в ОСВ, ОсновнойНаборДанных, поле выражение представления
    Я так понимаю надо вписывать куда-то в другое место??
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ээээ....а таблица какая, которая содержит поле "Субконто1"?
    И объединять все же наименование нужно, а не не ссылку...
  5. TopicStarter Overlay
    dezone123456
    Offline

    dezone123456

    Регистрация:
    4 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    ОсновнойНаборДанных, поле Субконто1, колонка "Выражение представления" Пытался вписать туда. До этого там было написано
    Код:
    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе Субконто1 Конец
    
    Сильно не ругайте чайника :angry: , сам программирую, но вот в 8-ке в запросах и СКД слабоват, редко приходилось сталкиваться
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    эээээ....какая-то странная конструкция, либо я чего-то не допонимаю...
    в таком случае прямо сюда можно вставить код на проверку типа значения

    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Субконто1 Ссылка Справочник.Номенклатура
    ТОГДА Субконто1 + ("+субконто1.БазоваяединицаИзмерения.Наименование+")"
    ИНАЧЕ Субконто1
    КОНЕЦ
    Конец

    Ну или

    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Тип(Субконто1) = ТипЗнч(СправочникСсылка.Номенклатура)
    ТОГДА Субконто1 + ("+субконто1.БазоваяединицаИзмерения.Наименование+")"
    ИНАЧЕ Субконто1
    КОНЕЦ
    Конец
  7. TopicStarter Overlay
    dezone123456
    Offline

    dezone123456

    Регистрация:
    4 мар 2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Вот в том то все и дело, изначально так и пытался написать, НО

    при попытке написать

    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Субконто1 Ссылка Справочник.Номенклатура
    ТОГДА Субконто1 + ("+субконто1.БазоваяединицаИзмерения.Наименование+")"
    ИНАЧЕ Субконто1
    КОНЕЦ
    Конец

    ругается "Ожидается ключевое слово "Then"" (я так понял во всей этой конструкции ему не нравится строчка
    ВЫБОР КОГДА Субконто1 ССЫЛКА!!!!!!!!!! Справочник.Номенклатура


    во втором случае

    Выбор Когда Не ЗначениеЗаполнено(Субконто1) Тогда "<...>" Иначе
    ВЫБОР КОГДА Тип(Субконто1) = ТипЗнч(СправочникСсылка.Номенклатура)
    ТОГДА Субконто1 + ("+субконто1.БазоваяединицаИзмерения.Наименование+")"
    ИНАЧЕ Субконто1
    КОНЕЦ
    Конец

    ругается Поле не найдено "СправочникСсылка.Номенклатура". В запросе, насколько я понял "ТипЗнч" не срабатывает!

    вот и мучаюсь. Хотя логично было бы написать как в первом случае. Я так и пробовал с самого начала
  8. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Вы конструкцию пытаетесь в текст запроса вписать или в другое место в СКД, например в выражение представления? ;) Если второе, то используйте ТипЗнч().
  9. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    на сколько я понял, в выражение представления и там не работает конструкция вида ТипЗнч()
  10. Dmirily
    Offline

    Dmirily

    Регистрация:
    9 июн 2011
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1

    Проблема такая же. Не подскажете как решили?
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    В 8.2 можно использовать ТИПЗНАЧЕНИЯ() и ТИП()

Поделиться этой страницей