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

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

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


Теги:
 

Обнаружено дублирование ключевых значений в колонке ссылка ["обнаружено дублирование ключевых з

Автор lianinfoРаздел Пользователям "1С - Предприятие 8"

Ответов: 10
Просмотров: 569
Последний ответ 20 Мар 2018, 16:54
от alex0402
"Таблица значений" в результате запроса - 1С

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

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

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

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

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

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

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

Ответов: 2
Просмотров: 6539
Последний ответ 28 Июл 2011, 23:55
от Dethmontt

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
191 Сообщений
alex0402
78 Сообщений
AIFrame AIFrame
74 Сообщений
alexandr_ll
43 Сообщений
oleg-x
39 Сообщений
BuhRust
25 Сообщений
pavl_vs
19 Сообщений
sertak sertak
16 Сообщений
Максим ***** Максим *****
13 Сообщений
Sandi Sandi
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal