8.х проверка на новый документ

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

  1. TopicStarter Overlay
    Emiliya_Emili
    Offline

    Emiliya_Emili

    Регистрация:
    10 май 2015
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    подскажите в чем ошибка использовала различные методы проверки, но в результате ничего не работает

    нужно проверять новый документ создается или нет, если документ новый то использовать параметры, если открываю старый то ничего не делать

    Код:
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
       //Если Параметры.Ключ.Пустая() Тогда
       //    Объект.Оборудование=Параметры.Оборудование;
       //    Объект.ДатаНачала=Параметры.ДатаНачала;
       //    Объект.ДатаОкончания=Параметры.ДатаОкончания;
       //КонецЕсли;
       Если  НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
           Объект.Оборудование=Параметры.Оборудование;
           Объект.ДатаНачала=Параметры.ДатаНачала;
           Объект.ДатаОкончания=Параметры.ДатаОкончания;
      КонецЕсли;
    
    КонецПроцедуры

    если я создаю новый то все прекрасно работает, а если пытаюсь открыть существующий документ, то выдает ошибку

    {Документ.ЗаписьНаЗанятия.Форма.ФормаДокумента.Форма(17)}: Поле объекта не обнаружено (Оборудование)
    Объект.Оборудование=Параметры.Оборудование;

    в отладчике пишет следующее

    НЕ ЗначениеЗаполнено(Объект.Ссылка) Истина Булево
    Параметры.Ключ.Пустая() Истина Булево
    Последнее редактирование модератором: 25 май 2015
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А что ЭтоНовый() уже не работает?
  3. Thelearning
    Offline

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

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Все правильно у Вас написано. Я например использую
    Код:
    Если Параметры.Ключ.Пустая() Тогда
       // Код
    КонецЕсли;
    У Вас же совсем на другое ругается. Проверьте при открытии существующего документа в отладчике, что у него в параметрах находится.
  4. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Работает, но не в модуле управляемой формы.
    "ЭтоНовый()" - это метод класса "ДокументОбъект".
    Класс "ДокументОбъект" в модуле управляемой формы можно получить, используя метод "РеквизитФормыВЗначение()".
    Но, в данном случае, это лишнее. Вышеуказанные методы (проверка на пустое значение ссылки или параметра формы "Ключ") - правильные.

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