Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отмена выбора элемента, помеченного на удаление          
Constantus Подменю пользователя
сообщение 29.04.20, 13:14
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
1с8.3.12, УФ, самопис, БСП

В документе "Заказ" в табличной части есть реквизит "Размеры" выбирается из соответствующих справочников.

Некоторые элементы этих справочников помечены на удаление.

Когда пользователь выбирает размер вводом строки с клавиатуры и попадает удаленный элемент, то выходит сообщение, что элемент помечен на удаление с предложением о продолжении...

Как можно сделать так, чтобы если выбран элемент, помеченный на удаление, очистить этот реквизит от выбранного значения?

pablo Подменю пользователя
сообщение 29.04.20, 13:23
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

В обработчике события ПриИзменении нужен код следующего вида:
Если Значение.Пометкаудаления тогда
значение=справочники.Размеры.ПустаяСсылка();
Конецесли;


P.S. Если это таки тонкий клиент, то можно создать реквизит формы ПустойРазмер и использовать его вместо Справочники.Размеры.ПустаяСсылка().


Signature
Правильно поставленный вопрос содержит до 90% ответа.

volodya1122 Подменю пользователя
сообщение 29.04.20, 13:26
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

а может лучше подойти к решению вопроса с другой стороны? При выборе из документа не показывать помеченные на удаление элементы справочника.

Constantus Подменю пользователя
сообщение 29.04.20, 13:36
Сообщение #4

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

pablo @ Сегодня, 17:23 * ,

Поставил
    СтрокаТабличнойЧасти = Элементы.МодельИКомплектация.ТекущиеДанные;
    
    Если СтрокаТабличнойЧасти.Размер.ПометкаУдаления Тогда
         СтрокаТабличнойЧасти.Размер = Неопределено;
    КонецЕсли;


Не совсем понял в Вашем примере "Значение".
В моем коде пишет, что не нашел поле "ПометкаУдаления"

Vofka Подменю пользователя
сообщение 29.04.20, 13:56
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(volodya1122 @ 29.04.20, 14:26) *
а может лучше подойти к решению вопроса с другой стороны? При выборе из документа не показывать помеченные на удаление элементы справочника.

При вводе с клавиатуры это не сработает.

pablo Подменю пользователя
сообщение 29.04.20, 13:59
Сообщение #6

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Значение - это потому, что "на коленке" писал по памяти.
Обращение к реквизитам справочника на клиенте - не взлетит. Либо используйте серверный функцию для вычисления, либо ... дальше уже в зависимости от типа МодельИКомплектация.

P.S. Использовать неопределено при таких присвоениях - я бы назвал грязным трюком. В определенных ситуациях, например, реквизит составного типа, такое присвоение добавит проблем.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Constantus Подменю пользователя
сообщение 29.04.20, 21:25
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

В общем, универсального решения нет. Решил проблему созданием функцию, которая проверяет элемент справочника на удаление, далее срабатывает процедура перед началом выбора элемента. Вроде получилось

daveal Подменю пользователя
сообщение 30.04.20, 10:36
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 70
Из: Киев
Спасибо сказали: 25 раз
Рейтинг: 0

Вам же вроде на инфостарте ответили просто параметры выбора прописать?
С этим только один косяк может быть, если быстрый выбор стоит и пользователь уже выбирал элемент, я не помню, он будет показываться или нет.



Это если для одного документа. Если для всех сразу хотите тоже провернуть, то ОбработкуПолученияДанныхВыбора в модуле менеджера справочника

Constantus Подменю пользователя
сообщение 11.05.20, 10:01
Сообщение #9

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Выкрутился так: на событие при изменении поставил код:

    ОтветНаВсе = ПроверитьРазмерНаПометкуУдаления(СтрокаТабличнойЧасти.РазмерИзделия);
    
    Если ОтветНаВсе.ПометкаУдаления Тогда
         СтрокаТабличнойЧасти.РазмерИзделия = "";//ОтветНаВсе.ТипСправочника;
         Сообщить("А ведь предупреждали, что помечен на удаление...");
         МодельИКомплектацияРазмерИзделияНачалоВыбора(Элемент, Неопределено, Истина)
    КонецЕсли;


где ПроверитьРазмерНаПометкуУдаления(СтрокаТабличнойЧасти.РазмерИзделия)

есть прверка на отметку на удаление составного типа данных.

При срабатывании, что удален, поле очищается и олткрывается форма выбора размеров с уже установленным фильтром без помеченных на удаление


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 23:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!