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

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

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
Просмотров: 2335
Последний ответ 24 Ноя 2015, 15:38
от welldone
"Проверка мутабельных значений на заполненность не поддерживается"

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

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

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

Ответов: 2
Просмотров: 5024
Последний ответ 28 Июл 2011, 23:55
от Dethmontt
Обход дерева значений на клиенте / развернуть многоуровневое дерево на клиенте

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

Ответов: 2
Просмотров: 3869
Последний ответ 01 Ноя 2015, 10:07
от Азиман
Вывод набора данных "объединение" скд в дерево значений

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

Ответов: 0
Просмотров: 1081
Последний ответ 02 Июн 2015, 12:19
от Gae4ka

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
alex0402
56 Сообщений
MuI_I_Ika MuI_I_Ika
49 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
28 Сообщений
sertak sertak
25 Сообщений
Vzonder
21 Сообщений
BuhRust
17 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal