Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Май 2017, 19:50
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Самопроизвольное удаление значений дополнительных реквизитов  (Прочитано 478 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн peregrine

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-30
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Столкнулся с такой проблемой.
1) Создаю строковый дополнительный реквизит для, например, ресурсной спецификации.
2) Условие доступа к этому реквизиту делаю следующее: доступен, когда Ссылка не заполнена (то есть, значение вводится при создании спецификации, в дальнейшем, его изменить нельзя).
3) Создаю ресурсную спецификацию, заполняю атрибут, записываю спецификацию, закрываю окно.
4) Открываю окно и, ничего не меняя (но можно и поменять - это не влияет), жму кнопку Записать и закрыть.
5) Снова открываю окно и нахожу, что значение моего дополнительного реквизита удалено и недоступно для редактирования.

Как с этим бороться? Никак не могу понять, это баг или какое-то хитрое, но штатное поведение, смысл которого ускользает от меня? Если убрать условие с реквизита, то ничего подобного не происходит, значение реквизита не удаляется. То же самое происходит на маршрутных картах и номенклатуре (думаю, такое поведение будет для любого справочника).

Версия платформы 8.3.8.1675 (на предыдущей работает так же). Одинаковое поведение и на файловой версии и на клиент-серверной.
Конфигурация: 1С:ERP Управление предприятием (2.1.3.93)


Оффлайн peregrine

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-30
  • Сайт: 
  • Профессия: Ученик 1С
Покопался в коде. Вот что удалось найти. Может кому-то пригодится.
Модуль: УправлениеСвойствамиСлужебный.
Процедура: ПеренестиЗначенияИзРеквизитовФормыВОбъект.
Процедура содержит следующий код (те строки, которые не касаются проблемы, я не привел)

Процедура ПеренестиЗначенияИзРеквизитовФормыВОбъект(Форма, Объект = Неопределено, ПередЗаписью = Ложь) Экспорт
    .....
   СтарыеЗначения = ОписаниеОбъекта.ДополнительныеРеквизиты.Выгрузить();
   ОписаниеОбъекта.ДополнительныеРеквизиты.Очистить();
    Для каждого Строка Из Форма.Свойства_ОписаниеДополнительныхРеквизитов Цикл
        .....
       Если Не РеквизитВиденИДоступен(Форма, Строка.ИмяРеквизитаЗначение, ОписаниеОбъекта) Тогда
           Продолжить;
       КонецЕсли;
        .....     
       НоваяСтрока = ОписаниеОбъекта.ДополнительныеРеквизиты.Добавить();
       НоваяСтрока.Свойство = Строка.Свойство;
       НоваяСтрока.Значение = Значение;
        .....
     КонецЦикла;
КонецПроцедуры

То есть, при сохранении данных формы получается следующее:
1) Очищаются все допреквизиты объекта
2) Для каждого допреквизита проверяется видимость и доступность
3) Если допреквизит не виден и не доступен, то атрибут не создается
4) Если допреквизит виден и доступен, он вновь создается

Соответственно, так как у меня реквизит не доступен, он удаляется и снова не создается.
Добавлено: 31 Май 2016, 12:04

Продолжу говорить сам с собой. Оказывается, что такое поведение - это все-таки хитрое проектное решение, а не баг.
Официальный ответ:
Данная настройка предусматривалась для того, чтобы разрешать заполнение реквизитов (и их использование) для указанных условий (состояния объекта) и, соответственно, очищать для уменьшения объема хранимой информации, если условие перестает выполняться.
Ваш сценарий получается обратный, доступность используется для запрета его изменения и не был предусмотрен.


Последний раз редактировалось: peregrine; 31 Май 2016, 12:04. Причина: Объединение сообщений


Теги:
 

Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

Автор welldoneРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 3382
Последний ответ 24 Ноя 2015, 15:38
от welldone
"Проверка мутабельных значений на заполненность не поддерживается"

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 17871
Последний ответ 13 Фев 2011, 17:36
от proofet
Почему реквизит типа "список значений" может оказаться недоступным для изменения

Автор VdegРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5631
Последний ответ 28 Июл 2011, 23:55
от Dethmontt
1C ЗУП 2.5 Помогите с отчетом "Списки сотрудников организации" Объединение значений ячеек

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 674
Последний ответ 10 Фев 2017, 10:49
от ksander-fars
Обход дерева значений на клиенте / развернуть многоуровневое дерево на клиенте

Автор virtusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4284
Последний ответ 01 Ноя 2015, 10:07
от Азиман

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
69 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
50 Сообщений
Сергей Федоров Сергей Федоров
41 Сообщений
ilyay ilyay
39 Сообщений
BuhRust
22 Сообщений
ilnur75
21 Сообщений
videomause
20 Сообщений

* Кто онлайн

  • Точка Гостей: 370
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal