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

Хранилище

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

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



> Как в табличное поле добавить строку из справочника?          
Vzonder Подменю пользователя
сообщение 17.01.17, 4:39
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 38
Спасибо сказали: 1 раз
Рейтинг: 0


1С 8.2 УТ 10.3

Создал в форме Справочника Контрагента табличное поле, по абсолютной аналогии с ВидыДеятельности, с соответствующем набором реквизитов, Табличной частью и реквизитами.

Поэтому, чтобы не городить огород, на примере ВидыДеятельности и задам вопрос:

На форме создал поле ввода: ПолеОсновнойВидДеятельности, подключил реквизит ОсновнойВидДеятельности, и включил кнопку выбора.

Теперь в ПолеОсновнойВидДеятельности можно выбирать элементы из СправочникСсылка.ВидыДеятельностиКонтрагентов.

При этом в Табличном поле ВидыДеятельности в имеющихся строках выбирается основной вид деятельности (подсвечивая шрифт жирным) в уже добавленных.

Возникла необходимость добавлять элементы (подобно действию кнопки добавить), путем выбора значения в ПолеОсновнойВидДеятельности.
Т.е. при отсутствии элемента, он автоматически добавляется в табличное поле ВидыДеятельности.

Понимаю, что в процедуре Процедура ПолеОсновнойВидДеятельности ПриИзменении(Элемент) необходимо задать запрос, который сравнит содержимое и если в списке строк не найдет элемент, то его добавит.

И тут у меня полный тупняк.
Вот какая…. Получается:


Процедура ПолеОсновнойВидДеятельностиПриИзменении(Элемент)
      
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КонтрагентыВидыДеятельности.ВидДеятельности
        |ИЗ
        |    Справочник.Контрагенты.ВидыДеятельности КАК КонтрагентыВидыДеятельности
        |ГДЕ
        |    КонтрагентыВидыДеятельности.ВидДеятельности = &ВидДеятельности";
    
    Запрос.УстановитьПараметр("ВидДеятельности",  ОсновнойВидДеятельности);
    
    РезультатЗапроса = Запрос.Выполнить();
        
            Если РезультатЗапроса.Пустой() Тогда
            Предупреждение(" не найден!!!!");
      
        Иначе  Предупреждение("ОК!");
        
        ЭлементыФормы.ВидыДеятельности.ДобавитьСтроку(); // Сломал голову, как добавить в строчку элемент
                   
        КонецЕсли;
                    КонецПроцедуры


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

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


podcast Подменю пользователя
сообщение 17.01.17, 9:33
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

Vzonder @ Сегодня, 4:39 * ,
Если я вас правильно понял, то нужно при изменении реквизита менять ТЧ справочника, то примерно так.
НоваяСтрока = ВидыДеятельности.Добавить();
НоваяСтрока.ОсновнойВидДеятельности = ОсновнойВидДеятельности;

Flexy Подменю пользователя
сообщение 17.01.17, 22:41
Сообщение #3

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Vzonder @ Сегодня, 4:39 * ,
Процедура ОсновнойВидДеятельностиПриИзменении(Элемент)
    Стру = Новый Структура("ВидДеятельности",ОсновнойВидДеятельности);
    Если ВидыДеятельности.НайтиСтроки(Стру).Количество() > 0 Тогда
        Возврат;
    КонецЕсли;
    НоваяСтрока = ВидыДеятельности.Добавить();
    НоваяСтрока.ВидДеятельности = ОсновнойВидДеятельности;
КонецПроцедуры


Сообщение отредактировал Flexy - 17.01.17, 22:41

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


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

 

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