8.х Аналог функции ЗначениеНеЗаполнено

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

  1. TopicStarter Overlay
    DarkSign
    Offline

    DarkSign

    Регистрация:
    8 фев 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Не подскажете, как в конфигурации УПП 1.2.21.1 найти аналог функции "ЗначениеНеЗаполнено"?

    Спасибо!
  2. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Напишите ее сами, там же "пара" строк!
  3. 1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    дык
    Код:
    НЕ ЗначениеЗаполнено()
    
    не подходит?
  4. TopicStarter Overlay
    DarkSign
    Offline

    DarkSign

    Регистрация:
    8 фев 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1

    Пытался, не проходит...
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    В смысле не подходит??? Она работает точно так же как ЗначениеНеЗаполнено
    Тогда рассказывайте что вы сравниваете
  6. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    В УПП в общих модулях есть такая функция? Если да, то как к ней обращение должно происходить? Через описание имени общего модуля ее расположения или напрямую?

    В ЗУП, например, без проблем: ЗначениеЗаполнено(..).
    Нет под рукой УПП посмотреть.
  7. duh
    Offline

    duh Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    А почему не подходит? у меня помнится, правда в бухгалтерии, все замечательно получалось. Как только она появилась в платформе ее в конфе и похерили.
  8. TopicStarter Overlay
    DarkSign
    Offline

    DarkSign

    Регистрация:
    8 фев 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1

    Пытаюсь в документ РеализацияТоваровИУслуг добавить колонку НаименованиеДляПечати, чтобы на печать выводилось то, что написано в ней. Добавил колонку в форме документа (ПолеВвода, ТипЗначения - Строка). Вот модуль документа:
    Код:
    // ИЗМЕНЕНО!!! Процедура - обработчик события "ПриИзменении" поля ввода количества
    // в строке табличной части "Товары".
    //
    Процедура ТоварыКоличествоПриИзменении(Элемент)
    
    //Изменил Я
    СтрокаТаблицы=ЭлементыФормы.Товары.ТекущаяСтрока;
    
    СтрокаТаблицы.НаименованиеДляПечати=СокрЛП(СтрокаТаблицы.Номенклатура)+ ?(НЕ ЗначениеЗаполнено(СтрокаТаблицы.ХарактеристикаНоменклатуры)," ", "(" + СтрокаТаблицы.ХарактеристикаНоменклатуры + ")");
    
    ПриИзмененииКоличестваТовары(Элемент);
    
    КонецПроцедуры // ТоварыКоличествоПриИзменении()
    
    [CODE]
    
    Где-то я напортачил... Пытаюсь завести наименование для печати, оно не отображается, и на печать не выводится...
  9. duh
    Offline

    duh Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    У тебя что ошибка? Если у тебя в таб поле товары есть колонка характеристика нафига тебе проверка (и так добавит либо пусто либо что-то). Смотри отладчиком какой тип значения у характеристики (не уверен но если не используешь характеристики, может в таб поле нет такой колонки)
  10. 1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    не знаю конечно, но у меня есть процедура ЗначениеНЕЗаполнено(), хотя при вызове подсказки (Ctrl+пробел) видит ЗначениеЗаполнено. Короче, вот она:

    Код:
    Функция ЗначениеНЕЗаполнено(Значение) Экспорт
    
    Результат = Ложь;
    ТипЗначения = ТипЗнч(Значение);
    
    // Сначала примитивные типы
    Если Значение = Неопределено Тогда
    Результат = Истина;
    ИначеЕсли Значение = NULL Тогда
    Результат = Истина;
    ИначеЕсли ТипЗначения = Тип("Строка") Тогда
    Если СокрЛП(Значение) = "" Тогда
    Результат = Истина;
    КонецЕсли; 
    ИначеЕсли ТипЗначения = Тип("Число") Тогда
    Если Значение = 0 Тогда
    Результат = Истина;
    КонецЕсли; 
    ИначеЕсли ТипЗначения = Тип("Дата") Тогда
    Если Значение = Дата('00010101') Тогда
    Результат = Истина;
    КонецЕсли; 
    ИначеЕсли ТипЗначения = Тип("Булево") Тогда
    Результат = Ложь; // Булево будем считать не пустым
    
    //Отдельное определение, так как конструкторов данного типа не существует	
    ИначеЕсли ТипЗначения = Тип("РежимПроведенияДокумента") Тогда
    Если Значение = РежимПроведенияДокумента.Неоперативный или Значение = РежимПроведенияДокумента.Оперативный тогда
    Результат = Ложь;
    КонецЕсли;
    
    // Для остальных будем считать значение пустым, если оно равно
    // дефолтному значению своего типа
    Иначе
    Попытка
    Если Значение = Новый(ТипЗначения) Тогда
    Результат = Истина;
    КонецЕсли; 
    Исключение
    Результат = Ложь;
    КонецПопытки;
    КонецЕсли; 
    
    Возврат Результат;
    
    КонецФункции // НЕ ЗначениеЗаполнено()
    
    находится в общих модулях - ОбщегоНазначения
  11. duh
    Offline

    duh Опытный в 1С

    Регистрация:
    21 янв 2009
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Одноэсница, это разные вещи, одна возможность платформы а другая функция конфы
  12. 1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    сам ты одноэсница......
  13. Senya
    Offline

    Senya Опытный в 1С

    Регистрация:
    6 июн 2006
    Сообщения:
    594
    Симпатии:
    0
    Баллы:
    26
    Код:
    СокрЛП(СтрокаТаблицы.Номенклатура)
    
    Этот код не есть правильно, т.к. СтрокаТаблицы.Номенклатура имеет тип СправочникСсылка.Номенклатура, а СокрЛП работает со строками - вывод, надо так
    Код:
    СокрЛП(СтрокаТаблицы.Номенклатура.Наименование)
    
    ну или так
    Код:
    СокрЛП(СтрокаТаблицы.Номенклатура.НаименованиеПолное)
    
    Ну и с характеристиками примерно также
    Код:
    ?(НЕ ЗначениеЗаполнено(СтрокаТаблицы.ХарактеристикаНоменклатуры)," ", СокрЛП(СтрокаТаблицы.ХарактеристикаНоменклатуры.Наименование))  
    
  14. TopicStarter Overlay
    DarkSign
    Offline

    DarkSign

    Регистрация:
    8 фев 2009
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    Добился, что наименование для печати отображается, но на печать выводиться не желает...
  15. cdiamond
    Offline

    cdiamond Опытный в 1С

    Регистрация:
    25 июн 2008
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Конечно не будет выводиться. Если эта строка нужна только для печати накладной, то вообще писать кусок в означенном месте не имело смысла.
    Надо идти в модуль документа и найти функцию ПечатьДокумента, там найти кусок, который в цикле
    Код:
    Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл
    
    
    и где-то там найти
    Код:
    ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары);
    
    
    После всего этого можно добавть свою строку:
    Код:
    ОбластьТовар.Параметры.Товар = <Твой код>
    
    

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