Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
S89
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 89
1

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

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

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

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

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

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

Запрос на выбор всех сотрудников из справочника и документов, записанных сотрудниками в периоде
Здравствуйте. Пытаюсь решить задачу в собственной конфигурации на 1с 8.3. Суть в следующем. Создал...

У меня стоит вопрос: как сделать Выбор операций из документов по элеме
У меня стоит вопрос: как сделать Выбор операций из документов по элементу справочника? Более...

7
OrkVasya
о_____О
Эксперт 1С
221 / 221 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
21.07.2014, 09:47 2
В событии "НачалоВыбора" колонки "материалы" указываете, что
1C
1
СтандартнаяОбработка = Ложь
и пишете свой выбор, как нужно.
0
S89
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
OrkVasya
о_____О
Эксперт 1С
221 / 221 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
21.07.2014, 09:57 4
Значит, наверное, отбор можно наложить только на ссылку, а не наименование.
Как вариант, найти ссылки запросом, и в отбор использовать вид отбора - "в списке"
0
21.07.2014, 09:57
S89
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
OrkVasya
о_____О
Эксперт 1С
221 / 221 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
21.07.2014, 11:56 6
Так, а "Номенклатура" это реквизит документа или табличной части?
И, то о чем я говорил - найти ссылки запросом - найти ссылку на номенклатуру в справочнике "Номенклатура", а потом на эту ссылку устанавливать отбор.
Но, опять же, если в документе номенклатура - реквизит табличной части, то так просто отбор не установите. Тут уже по ситуации, если то обработка, то я бы находил все документы запросом и добавлял в список значений, а там уж через "ВыбратьЗначение" устанавливал все, что нужно.
1
duk337
2951 / 1763 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.07.2014, 11:59 7
Похоже, в цикл мы не попадаем.

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

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

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

Не по теме:

OrkVasya, синхрон :)

1
OrkVasya
о_____О
Эксперт 1С
221 / 221 / 36
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
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
21.07.2014, 13:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2014, 13:02

Отбор по банковскому счету документов в журнале документов (банковская выписка)
Добрый день! Подскажите, пож, как правильно написать код для отбора по банковскому счету документов...

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

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


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

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

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