7.7 Как проверить, что запись создана (Модифицированность() = 1) не срабатывает!

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

  1. TopicStarter Overlay
    Zorn
    Offline

    Zorn

    Регистрация:
    14 янв 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте товарищи!
    Собственно сабж.
    Вызываю свою функцию на событии ПриЗаписи справочника, где проверяю Модифицированность() = 1.
    Мне нужно, чтобы мой код отрабатывал при создании и изменении, но почему-то при создании Модифицированность() <> 1. Есть какая-нить возможность проверить в событии ПриЗаписи, что происходит создание записи справочника?
  2. alvenav
    Offline

    alvenav Опытный в 1С

    Регистрация:
    7 янв 2009
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Используй статус возврата предопределенных процедур

    вот примерчик

    Код:
    ПРоцедура ПриЗаписи()
    Если статусВозврата()=1 Тогда
    Сообщить("Записано");
    КонецЕсли;
    КонецПроцедуры;
    
    
  3. TopicStarter Overlay
    Zorn
    Offline

    Zorn

    Регистрация:
    14 янв 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    этот код срабатывает даже тогда, когда изменений никаких с записью справочника не было 8(( Я использую данную конструкцию в своей функции, которую вызываю из ПриЗаписи(). То же самое происходит при использовании статусВозврата() в ПриЗаписи()
  4. yXaPb
    Offline

    yXaPb Опытный в 1С

    Регистрация:
    11 дек 2006
    Сообщения:
    77
    Симпатии:
    0
    Баллы:
    26
    Если я правильно понял, что нужно проверить при записи новый ли это элемент справочника, тогда надеюсь поможет что-то вроде этого:
    Код:
    Процедура ПриЗаписи()
    Если Выбран()=0 Тогда
    // значит только что созданный элемент
    КонецЕсли;
    КонецПроцедуры
    
    
  5. TopicStarter Overlay
    Zorn
    Offline

    Zorn

    Регистрация:
    14 янв 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Выбран() всегда равен 1. И при создании записи тоже... 8((
  6. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Слабо верится... Если элемент только создан и еще не ЗАПИСАН (может где по пути записывается?), то метод выбран возвращает 0.
    Запускай отладчик, ставь точку прерывания либо на первую запись после процедур/функций, либо на первую запись в процедуре "ПриОткрытии", и смотри значение метода "Выбран()".

    Если останется та же петрушка, то выкладывай сюда МДшник....
  7. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    Если ПустоеЗначение(ТекущийЭлемент())=1 // новый элемент
    // описание
    КонецЕсли;
    // по анологии как с докуметом  точно про справочник не знаю. попробуй так.
    
    
  8. TopicStarter Overlay
    Zorn
    Offline

    Zorn

    Регистрация:
    14 янв 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Да, все так и есть. По пути меняется. Я к сожалению не знаю особенностей и идеологии системы, не особо она мне нравится да и пересекаюсь с ней не часто. Поэтому извиняюсь за скорее всего глупые вопросы, но поиск в доступной инфе (ужасный стандратный хелп) ни к чему не привели.
    В итоге функция ЗаписатьПериодическиеРеквизиты() устанавливала статус Выбран() в 1.
    Спасибо всем откликнувшимся!

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