Имя: Пароль:
1C
1С v8
Выбор несколько документов
0 Sergio447
 
28.12.22
00:18
Подскажите пожалуйста, мне нужно сделать чтобы в моей обработке была возможность выбрать на три точки не один документ, а несколько. Как это можно сделать?
Вот скрин обработки:https://cloud.mail.ru/public/q5ps/CoHRk2rxz
1 Остап Ибрагимович
 
28.12.22
00:28
Выбрать-то можно, а вот запихнуть результат выбора в один такой реквизит - фигасдва.
Точнее - можно, но с оговорками, и придется поплясать.
2 RomanYS
 
28.12.22
00:33
(0) тип = СписокЗначений
3 Sergio447
 
28.12.22
00:50
(2) можно пожалуйста, пример
4 vicof
 
28.12.22
01:05
5 Азат
 
28.12.22
01:33
(1) а в чем проблема? Тип Документссылка или составной тип из нескольких видов документов
6 Остап Ибрагимович
 
28.12.22
01:47
(5) Проблема в том чтобы запихнуть несколько ссылок на выбранные объекты данных в один реквизит типа (см. скриншот) "документ". Вне того, насколько он составного типа ))
(и - ты конечно извини, но как-то оооочень странно видеть подобный вопрос от тебя)
7 Остап Ибрагимович
 
28.12.22
01:47
"вне зависимости от того..."
8 Азат
 
28.12.22
02:40
(6) блин, так ему список надо? я понял, что речь была о выборе одного документа из нескольких видов. А тогда тип = Список значений и все, но с точки зрения визуализации будет ужас
9 AAA
 
28.12.22
04:19
(0)А чем не устраивает обычный множественный подбор ?
10 Sergio447
 
28.12.22
07:08
(5) мне не нужен составной тип, мне нужно чтобы например у нас есть документ приходный кассовый ордер и я мог его отобрать допустим 5 раз, соответственно с разными номерами.
11 НафНаф
 
28.12.22
08:02
(10) варианты: список значений, табличная часть, таблица значений
12 Sergio447
 
29.12.22
00:46
Сделал так, но пишет что метод объекта не обнаружен (Добавить):

&НаКлиенте
Процедура Подбор(Команда)
    ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, МножественныйВыбор", Ложь, Истина);
    ОткрытьФорму("Документ.ПриходныйКассовыйОрдер.ФормаВыбора", ПараметрыФормы, Элементы.Документ);
КонецПроцедуры

&НаКлиенте
Процедура ДокументОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    
    Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл
         НоваяСтрока = Объект.Документ.Добавить();
        НоваяСтрока.Документ = ВыбранныйЭлемент;
    КонецЦикла;

КонецПроцедуры
13 RomanYS
 
29.12.22
01:02
(12) тип у Объект.Документ какой? Ну и ошибку желательно указывать полностью
14 Sergio447
 
29.12.22
07:06
(13) тип документ
15 yurikmellon2
 
29.12.22
08:31
(12) была у меня задачка похожая. Нужно было в документе сделать возможность выбора нескольких значений из справочника и отображать их пользователю на форме.
Добавил в документ ТЧ, на форме реквизит с типом Список Значений. И при создании и при записи заполнял реквизиты.
Может коряво, но работает.


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    //Юра1С+ Задача № 207314 Пилотный старт проекта VOC
    Если Объект.ТаблицаVOC <> Неопределено тогда
        VOC.Очистить();
        для каждого Элемент из Объект.ТаблицаVOC цикл
            VOC.Добавить(Элемент.ЭлементVOC);    
        КонецЦикла;
    КонецЕсли;
    //Юра1С-    

КонецПроцедуры




&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    //Юра1С+ Задача № 207314 Пилотный старт проекта VOC
    ТекущийОбъект.ТаблицаVOC.Очистить();
    Для каждого СтрСЗ из VOC Цикл
        СтрокаVOC = ТекущийОбъект.ТаблицаVOC.Добавить();
        СтрокаVOC.ЭлементVOC = СтрСЗ.Значение;
    КонецЦикла;
    ТекущийОбъект.Записать();
    //Юра1С-
КонецПроцедуры



https://i.imgur.com/DELiWSB.jpg
16 RomanYS
 
29.12.22
08:45
(14) а нужно (2)
17 Федя Тяпкин
 
29.12.22
10:48
(0) Сделайте табличную часть, вместо реквизита. Вам потом и обрабатывать это все проще будет.
18 Sergio447
 
29.12.22
20:25
(16) сделал, вот теперь так: https://cloud.mail.ru/public/mZvA/zPCz9NW1X
а как теперь сделать чтобы при нажатии на три точки открывался определенный документ, а не весь список типов данных?
19 RomanYS
 
29.12.22
20:58
(18) у реквизита: Объект - Тип значения
20 Sergio447
 
29.12.22
21:22
(19) ну правильно тип список значений,но теперь мне по кнопке выбора нужно чтобы открывался один определенный документ чтобы добавить в список значений несколько документов
21 RomanYS
 
29.12.22
21:39
(20) вот ниже в свойствах должно быть ещё один тип. В реквизитах формы точно есть
22 Sergio447
 
29.12.22
22:05
(21) так это уже составной тип будет
23 RomanYS
 
29.12.22
22:42
(22) это два свойства: тип реквизита (список) и тип его элементов
24 Sergio447
 
30.12.22
00:03
(23) так, ну теперь ошибку выдает, при попытке сменить статус всем документам добавленным в список значений. Метод объекта не обнаружен Метаданные.
25 RomanYS
 
30.12.22
00:30
Открой уже книжку, как отладчик миста не очень)
26 vicof
 
30.12.22
00:49
(25) Книжка тоже не очень как отладчик)
27 Федя Тяпкин
 
30.12.22
13:25
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ЭтаФорма.Отчет.Контрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.