7.7 "ПустоеЗначение" тупой впрос восьмерочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем banditxx, 17 апр 2017.

  1. TopicStarter Overlay
    banditxx
    Offline

    banditxx

    Регистрация:
    31 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!!!

    По поиску не нашел аналогичное:

    Есть код:

    Если ПустоеЗначение (Док.Партия.ГТД) = 1 Тогда
    Иначе
    СчетXML.УстановитьАтрибут ("ГТД", Док.Партия.ГТД);
    КонецЕсли;

    По синтакс помошнику значение неопределенно тоже будет равно 1.

    НО! У меня ГТД не во всех документах. И конгда его нет, условие не работает. сваливается в Иначе.

    Как это исключить? Какая еще есть проверка. Подскажите пожалуйста!!!
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.734
    Симпатии:
    432
    Баллы:
    104
    Док.Партия.Выбран() определит выбрана ли партия. Если я вас правильно понял.
  3. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    466
    Симпатии:
    80
    Баллы:
    54
    Здравствуйте.
    Ваш код проверяет, заполнено ли Док.Партия.ГТД. Если заполнено (0), то устанавливается атрибут, если не заполнено (1), то ничего не происходит. Скажите, что нужно получить, и мы подскажем, как это будет выглядеть.
  4. TopicStarter Overlay
    banditxx
    Offline

    banditxx

    Регистрация:
    31 окт 2014
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    Прошу прощения пропал. Да мне нужно проверить есть ли в Документе ГТД. Все верно если он есть то его нужно выгрузить в XML

    НО! Я проверяю по F9 он пустой. Но условие если возвращает 0 .соответственно запись атрибута вываливается.

    Я из ситуации вышел:

    Пишу значение в переменную, перевожу в строку и проверяю строку пустая или нет. Работает.....


    Но на будущее интересно почему ПустоеЗначение() не работает?
  5. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    231
    Симпатии:
    5
    Баллы:
    29
    Если ПустоеЗначение() = 0 Тогда
    УстановитьАтрибут
    Иначе
    Сообщить ("ГТД пусто");
    КонецЕсли;
    Т.е. получается если ГТД заполнено, то УстанавливаетАтрибут.
  6. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    466
    Симпатии:
    80
    Баллы:
    54
    Мне приходилось с таким сталкиваться. Пустые значения справочников в семерке возвращают <>, по-моему. Посмотрите в отладчике.
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.734
    Симпатии:
    432
    Баллы:
    104
    Если элемент ВЫБРАН то пустое значение = 0. Что касается <> это просто так отображается представление элемента. Ни какого сравнения в данном случае делать нельзя. Ибо получатся разные типы данных (<> при любом раскладе 1с воспримет как строку)
  8. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.300
    Симпатии:
    82
    Баллы:
    54
    Доброго
    Код:
    ПредставлениеГТД = СокрЛП(Док.Партия.ГТД); // преобразование к строке, NULL, Неопределено, ПусатаяСсылка преобразуются в пустую строку 
    Если ПредставлениеГТД = "" Тогда
        //
    Иначе
        СчетXML.УстановитьАтрибут ("ГТД", ПредставлениеГТД); // конечно если атрибут передается как строка, а не имеет боле сложный тип
    КонецЕсли;
    
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.734
    Симпатии:
    432
    Баллы:
    104
    Нафига сложности? Когда ПустоеЗначение непосредственно в условии сделает то же самое, без приведение к типу.
    Единственное что - проверить на наличие ссылки на справочник Партия через Выбран() иначе вывалится в ошибку (пр преобразовании тоже вывалится)

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