|   |   | 
| 
 | Модифицированность() перед записью | ☑ | ||
|---|---|---|---|---|
| 0
    
        Vladislava-smile 01.03.16✎ 07:05 | 
        Есть ли возможность проверять не все реквизиты при данной проверке?     | |||
| 1
    
        Записьдампа 01.03.16✎ 07:10 | 
        ОбработкаПроверкиЗаполненияНаСервере     | |||
| 2
    
        Vladislava-smile 01.03.16✎ 07:29 | 
        Обычная форма, не хотелось бы перебирать все реквизиты, которые требуется проверять на модифицированность, так как их много, а вот исключить из проверки нужно только 2.     | |||
| 3
    
        ILM гуру 01.03.16✎ 07:34 | 
        Разработчики типовых 1С, обычно записывает в переменные при открытии старые значения, а при записи сравнивают с новыми.     | |||
| 4
    
        Vladislava-smile 01.03.16✎ 07:36 | 
        (3) Ага, спасибо, попробую, просто в цикле перебрать все из метаданных, так? И записать в структуру например ...     | |||
| 5
    
        s_newbi 01.03.16✎ 07:44 | 
        (4) можно никуда не записывать старые значения,они и так записаны:
 объект - текущие значения объект.ссылка - старые | |||
| 6
    
        Vladislava-smile 02.03.16✎ 03:39 | 
        (5) - Спасибо, кому интересно сделала так:
 Изменены = Ложь; // Проверка реквизитов Для каждого реквизит из ЭтотОбъект.Метаданные().Реквизиты Цикл Если реквизит.Имя <> "СогласованоКоммерческимОтделом" и реквизит.Имя <> "СогласованоФинансовымОтделом" тогда Если ЭтотОбъект[Реквизит.Имя] <> ЭтотОбъект.Ссылка[Реквизит.Имя] тогда Изменены = Истина; КонецЕсли; КонецЕсли; КонецЦикла; // Проверка реквизитов ТЧ Для каждого ТЧ из ЭтотОбъект.Метаданные().ТабличныеЧасти Цикл ТЗОбъекта = ЭтотОбъект[ТЧ.Имя].Выгрузить(); ТЗСсылкиНаОбъект = ЭтотОбъект.Ссылка[ТЧ.Имя].Выгрузить(); Если ТЧ.Имя = "Товары" тогда ТЗОбъекта.Колонки.Удалить(14); ТЗСсылкиНаОбъект.Колонки.Удалить(14); КонецЕсли; ТЗОбъекта = ЗначениеВСтрокуВнутр(ТЗОбъекта); ТЗСсылкиНаОбъект = ЗначениеВСтрокуВнутр(ТЗСсылкиНаОбъект); Если ТЗОбъекта <> ТЗСсылкиНаОбъект Тогда Изменены = Истина; КонецЕсли; КонецЦикла; Возврат Изменены; | |||
| 7
    
        ЧеловекДуши 02.03.16✎ 06:17 | 
        (2) Что значит Проверять на модифицированность?
 Укажи, при модификации, что документ изменен и все :) | |||
| 8
    
        ЧеловекДуши 02.03.16✎ 06:21 | 
        (6) Зачем? 
 Что это даст? Вообще что даст этот гемор с анализом реквизитов? Почему бы просто не указать "Модифицирован = Истина" и забить? :) //............... Если реквизит.Имя <> "СогласованоКоммерческимОтделом" и реквизит.Имя <> "СогласованоФинансовымОтделом" тогда Хорошая проверка, зачем вообще метаданные? :) | |||
| 9
    
        su_mai 02.03.16✎ 06:28 | 
        (0) А галочка "Изменяет данные..." у реквизита не поможет?     | |||
| 10
    
        zak555 02.03.16✎ 06:59 | 
        (3) нет, они пишут в дополнительныеСвойства старые движения     | |||
| 11
    
        Vladislava-smile 02.03.16✎ 11:08 | 
        Реквизит СогласованоКоммерческимОтделом, реквизит СогласованоФинансовымОтделом и ркуизит ТЧ товары СебестоимостьКорректировки не должны проверяться при записи.     | |||
| 12
    
        ЧеловекДуши 02.03.16✎ 11:17 | 
        (11) Сори, не обратил внимание
 Но все же, "зачем? Зачем так извращаться?" так и по вис воздухе :) | |||
| 13
    
        Vladislava-smile 02.03.16✎ 11:22 | 
        (12) - Сюда написала, так как был вопрос как проверять не все реквизиты, подсказали сравнением. Так и сделала.     | |||
| 14
    
        Vladislava-smile 02.03.16✎ 11:23 | 
        (12) Как придумала, так и написала )     | |||
| 15
    
        ДемонМаксвелла 02.03.16✎ 11:39 | 
        (11) такие вещи делают через регистр сведений, а не через реквизиты документа     | |||
| 16
    
        Vladislava-smile 03.03.16✎ 02:59 | 
        (15) А какая разница, простите, откуда проверять? Срабатывает этот код при проверке быстро. Хоть и в регистре быстрее было бы, конечно. Но создавать для этого новый ...     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |