Бухгалтерия / Говнокод #14520 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Если Источник.ПометкаУдаления <> Источник.ЭтотОбъект.Ссылка.ПолучитьОбъект().ПометкаУдаления Тогда
	
	// Действия
	
КонецЕсли;

Код в конфигурации клиента.
Условный цикл в подписке "Перед записью" документа.
Смысл в том, чтобы сравнить изменённую пометку удаления и текущую (хранящуюся в базе).
Следовало написать:

Источник.ПометкаУдаления <> Источник.Ссылка.ПометкаУдаления

Запостил: Voittamaton Voittamaton, (Updated )

Комментарии (14) RSS

    • Или проверка на то как оно будет выглядель именно в этом виде?
      Ответить
      • Внутри условного цикла выполняется запись лога в отдельный файл, хранящий список помеченных на удаление документов. По каким-то причинам не устроил журнал регистрации.
        Ответить
  • ЭтотОбъект это уже объект, код явно писал норкоман.
    Ответить
    • если ПолучитьОбъект() из Ссылка ПередЗаписью, то будет зачитан другой объект - тот, который лежит в базе данных.
      Ответить
      • Пометка удаления, как мне кажется, предзаписанному объекту принадлежать не может. Но спорить не буду.
        Ответить
  • Предложенный вариант тоже не очень хорош - вообще что-либо получать через точку из ссылки не стоит.
    Ответить
    • Каковы будут Ваши предложения насчёт сравнения текущей пометки удаления с хранящейся в базе данных?
      В принципе, можно объявить экспортную переменную модуля документа и помещать в неё значение пометки удаления, хранящейся в базе. Таким образом код будет выглядеть следующим образом:

      НЕ Источник.ПометкаУдаления = Источник.врПометкаУдаления
      Ответить
      • Но в таком случае экспортную переменную модуля "врПометкаУдаления" и обработку её заполнения придётся писать для всех документов, к которым подключена подписка.
        Ответить
        • Если в транзакции до этого не было обращения к ссылке через точку, то запросом с выбором конкретно поля ПометкаУдаления.
          Обращение через точку на 6 секунд кладет в кэш _все_ реквизиты и ТЧ объекта. и да, ХранилищеЗначений с многомегабайтным файлом тоже.
          Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8