Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 89
1
1C 8.x

Выбор в списке документов

21.07.2014, 08:21. Просмотров 1427. Ответов 7
Метки нет (Все метки)

Есть такая задача: на форме есть элемент ТабличноеПоле. В нем есть столбец "Материалы" тип строка. И столбец "Протокол исследования" тип "ДокументСсылка.ДХМ_ПротоколИс следования" в котором выбирается нужный документ. Задача в следующим: в столбец "Материалы" вводиться значение, и при выборе в столбце "Протокол исследования" в форме списка документов отображается только те док чей реквезит Номенклатура = столбцу Материал. Как можно сделать такой отбор?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2014, 08:21
Ответы с готовыми решениями:

Составление сложного отчета для выбранной строки в списке документов
Столкнулся с такой проблемой, что не представляю как работают отчеты. Есть ФормаСписка документа...

отбор в списке документов
Друзья, помогите в модуле формы списка документов прописана следующая процедура Процедура...

Как добавить в списке Комплекта документов Счет на оплату 1с 8.3 БП 3.0
Я начинающий сисадмин, бухгалтерия попросила добавить им в 1с, в кнопку печати документов на...

Выбор документов из списка
Подскажите пожалуйста, как проверить список документов за определённый период (месяц) на одинаковые...

7
о_____О
Эксперт 1С
222 / 221 / 37
Регистрация: 19.11.2010
Сообщений: 1,061
21.07.2014, 09:47 2
В событии "НачалоВыбора" колонки "материалы" указываете, что
1C
1
СтандартнаяОбработка = Ложь
и пишете свой выбор, как нужно.
0
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 89
21.07.2014, 09:50  [ТС] 3
вот как пытаюсь сделать
1C
1
2
3
4
5
6
7
8
9
10
11
12
Процедура ТабличноеПоле1Колонка7НачалоВыбора(Элемент, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    СтандартнаяОбработка=Ложь;
    СтрокаТаб = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;    
    Материал = СтрокаТаб.Колонка6;
            
    ФормаВыбора = Документы.ДХМ_ПротоколИсследования.ПолучитьФормуВыбора(, Элемент);
    ФормаВыбора.РежимВыбора=Истина;
    ФормаВыбора.отбор.Номенклатура.Наименование = Материал; //????????????7
    
    ФормаВыбора.Открыть();
КонецПроцедуры
Мне ругается на строчку ФормаВыбора.отбор.Номенклатура .Наименование = Материал;. Надо как-то задать что бы выводило документы с номенклатурой равной "Материал "
0
о_____О
Эксперт 1С
222 / 221 / 37
Регистрация: 19.11.2010
Сообщений: 1,061
21.07.2014, 09:57 4
Значит, наверное, отбор можно наложить только на ссылку, а не наименование.
Как вариант, найти ссылки запросом, и в отбор использовать вид отбора - "в списке"
0
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 89
21.07.2014, 11:04  [ТС] 5
а можно по-подробней что надо сделать? я вот так пробую
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
СтандартнаяОбработка=Ложь;
    СтрокаТаб = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;   
    Материал = СтрокаТаб.Колонка6;
            
        
    Запрос = новый Запрос;
    Запрос.УстановитьПараметр("Материал", Материал); 
    Запрос.Текст = "ВЫБРАТЬ
                   |    Протокол.Номенклатура КАК Номенклатура
                   |ИЗ
                   |    Документ.ДХМ_ПротоколИсследования КАК Протокол
                   |ГДЕ
                   |    Протокол.Номенклатура = &Материал";
а что дальше не знаю? как указать чтобы выбиралось из результата запроса?

Добавлено через 18 минут
вот попробывал так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
СтандартнаяОбработка=Ложь;
    СтрокаТаб = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;   
    Материал = СтрокаТаб.Колонка6;
            
        
    Запрос = новый Запрос;
    Запрос.УстановитьПараметр("Материал", Материал); 
    Запрос.Текст = "ВЫБРАТЬ
                   |    Протокол.Номенклатура КАК Номенклатура
                   |ИЗ
                   |    Документ.ДХМ_ПротоколИсследования КАК Протокол
                   |ГДЕ
                   |    Протокол.Номенклатура = &Материал"; 
 
    
                    
    ФормаВыбора = Документы.ДХМ_ПротоколИсследования.ПолучитьФормуВыбора(, Элемент);
    ФормаВыбора.РежимВыбора=Истина;
        Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ФормаВыбора.Отбор.Номенклатура.Установить(Выборка.Номенклатура);
    
        
    КонецЦикла;
        
    ФормаВыбора.Открыть();
но мне выводит все а не то что нужно
0
о_____О
Эксперт 1С
222 / 221 / 37
Регистрация: 19.11.2010
Сообщений: 1,061
21.07.2014, 11:56 6
Так, а "Номенклатура" это реквизит документа или табличной части?
И, то о чем я говорил - найти ссылки запросом - найти ссылку на номенклатуру в справочнике "Номенклатура", а потом на эту ссылку устанавливать отбор.
Но, опять же, если в документе номенклатура - реквизит табличной части, то так просто отбор не установите. Тут уже по ситуации, если то обработка, то я бы находил все документы запросом и добавлял в список значений, а там уж через "ВыбратьЗначение" устанавливал все, что нужно.
1
2951 / 1763 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.07.2014, 11:59 7
Похоже, в цикл мы не попадаем.

Отбор - создать список по результату (Тип отбора "Всписке").
Использование=Истина;
Вне цикла, само собой.

Но это всё чисто познавательно. У Вас в запросе фильтр на Номенклатура ГДЕ Номенклатура=значение и отбор по Номенклатура...
Мутновато, уточните алгоритм.

Добавлено через 37 секунд

Не по теме:

OrkVasya, синхрон :)

1
о_____О
Эксперт 1С
222 / 221 / 37
Регистрация: 19.11.2010
Сообщений: 1,061
21.07.2014, 13:02 8

Не по теме:

duk337, :handshake:



Добавлено через 56 минут
S89, вот живой, только что сделанный, но попроще чем у вас, пример.

Суть такая, есть два справочника - "Ответственные лица" и "Статьи затрат" - они связаны через РС.
На форме два поля, если ответственные лица заполнены, то статьи затрат выбираются с отбором.
Конфа не типовая, но принцип должен быть понятен.

Конфа обычноинтерфейсная.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    СтандартнаяОбработка = Ложь;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   РС.СтатьяЗатрат
    |ИЗ
    |   РегистрСведений.ИмяРегистра.СрезПоследних(&КонецПериода, ОтветственноеЛицо = &ОтветственноеЛицо) КАК РС";
    
    Запрос.УстановитьПараметр("КонецПериода", ?(ЗначениеЗаполнено(КонПериода), КонецДня(КонПериода), КонецДня(ТекущаяДата())));
    Запрос.УстановитьПараметр("ОтветственноеЛицо", ОтветственноеЛицо);
    
    Таб = Запрос.Выполнить().Выгрузить();
    
    Список = Новый СписокЗначений;
    Список.ЗагрузитьЗначения(Таб.ВыгрузитьКолонку("СтатьяЗатрат"));
    
    ФормаВыбора = Справочники.СтатьиЗатрат.ПолучитьФормуВыбора();
    //вариант Форма.Отбор.Ссылка.Установить()... не прокатит, т.к. работает для отдельной ссылки, для списка параметры взводим отдельно
    ФормаВыбора.Отбор.Ссылка.Использование = Истина;
    ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
    ФормаВыбора.Отбор.Ссылка.Значение = Список;
 
    ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
    
    СтатьяЗатрат = ФормаВыбора.ОткрытьМодально();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2014, 13:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

1с отчет СКД выбор данных из 2-х документов
Здравствуйте. Платформа 1С: Предприятие 8.3. Управляемая форма. Формирую запрос с помощью СКД на...

Выбор документов списком для конвертации данных 2.1
Возник вопрос, как реализовать обмен по списку документов. На неупровляемых формах было проще,...

выбор непрочитанных документов
есть веб-сайт на котором размещают всякие статьи и документы. как можно выбрать документы которые...

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

Выбор документов из comboBox и вывод их в richTextBox
Помогите пожалуйста у меня не получается сделать вывод конкретных документов private void...

Выбор базы данных для большого объема гипертекстовых документов
Собираемся создать базу для хранения и поиска большого объема гипертекстовых документов (порядка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.