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

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

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. Причина: Объединение сообщений


Теги:
 

"Таблица значений" в результате запроса - 1С

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

Ответов: 8
Просмотров: 282
Последний ответ 15 Июн 2017, 07:53
от mvk843
Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

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

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

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

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

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

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

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

Ответов: 2
Просмотров: 767
Последний ответ 10 Фев 2017, 10:49
от ksander-fars

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

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

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


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

* Реклама

* Проверки по счетам учета

* Поиск

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

* Реклама

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

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

oleg-x
105 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
ilyay ilyay
49 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
LexaK
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal