|
Как из справочника перенести значения в документ | ☑ | ||
---|---|---|---|---|
0
Novis616
21.12.23
✎
15:00
|
Добрый день! Суть в том, что есть иерархический справочник с заполненными строками. Можно ли как-то перенести эти записи из группы справочника в табличную часть документа пачкой, а не по 1 записи в ручную?
|
|||
1
Donkey_hot
21.12.23
✎
15:03
|
(0) Выберите запросом, выгрузите в таблицу значений, у табличной части вызовите метод Загрузить()
|
|||
2
Novis616
21.12.23
✎
15:04
|
(1) Можете подсказать, как это сделать? Только начал изучать 1с, поэтому мало что понимаю
|
|||
3
yurikmellon2
21.12.23
✎
15:14
|
(2) на
запрос вытаскивает данные из справочника Подразделения и записывает в таблицу значений ВремТабл Объект.Подразделения - это табличная часть документа Загрузить(ВремТабл) - загружает из ТЗ в ТЧ документа названия колонок должны совпадать |
|||
4
Novis616
21.12.23
✎
15:15
|
(3) Так, а код просто нужно вставить в модуль формы документа?
|
|||
5
Новый1сник2
21.12.23
✎
15:16
|
(3) условия на группу не хватает
|
|||
6
Novis616
21.12.23
✎
15:20
|
(3) Подставив все значения у меня получилось вот:
&НаСервере Процедура ЗаполнитьСписокУчеников() Запрос = Новый запрос("ВЫБРАТЬ | Ученики.Ссылка |ИЗ | Справочник.Ученики КАК Ученики"); РезультатЗапроса = Запрос.Выполнить(); ВременнаяТаблица = РезультатЗапроса.Выгрузить(); Объект.Ученики.Загрузить(ВременнаяТаблица); КонецПроцедуры &НаКлиенте Процедура ПослеОткрытия(Элемент) ЗаполнитьСписокУчеников(); КонецПроцедуры Вопрос в том, а как теперь это реализовать, чтобы заполнялись ученики? + как написали выше, надо условию на группу ещё как-то добавить. Ученики по классам в разных группах + у учеников есть ещё реквизит "Класс", в который дублируется название группы просто |
|||
7
yurikmellon2
21.12.23
✎
15:33
|
(6) условие на группу
Запрос = Новый запрос("ВЫБРАТЬ | Ученики.Ссылка КАК Ученики, | Ученики.Класс КАК Класс |ИЗ | Справочник.Ученики КАК Ученики |ГДЕ | Ученики.ЭтоГруппа = ЛОЖЬ"); |
|||
8
Новый1сник2
21.12.23
✎
15:28
|
(7) условие нужно на вхождение в определенную группу
|
|||
9
yurikmellon2
21.12.23
✎
15:31
|
(8) думаешь? ТС пишет, что есть реквизит "Класс". Я так понимаю, что в ТЧ документа есть колонки Ученики и Класс и их надо заполнить данными из запроса
|
|||
10
Novis616
21.12.23
✎
15:32
|
(7) Спасибо, но не понимаю, почему не работает( Переделал, чтобы заполнение срабатывало по кнопке, но строки он почему-то не заполняет, ошибок как в синтаксисе, так и при исполнении нет
|
|||
11
Новый1сник2
21.12.23
✎
15:32
|
примерно так
ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Родитель В ИЕРАРХИИ(&Группа) И Номенклатура.ЭтоГруппа = ЛОЖЬ |
|||
12
Новый1сник2
21.12.23
✎
15:36
|
(9) "Ученики по классам в разных группах + у учеников есть ещё реквизит "Класс""
|
|||
13
yurikmellon2
21.12.23
✎
15:37
|
(12) щас он спросит что такое &Группа
|
|||
14
yurikmellon2
21.12.23
✎
15:40
|
(10) как ты определил что не работает? Форму то документа на клиенте обновить надо после заполнения ТЧ
|
|||
15
Novis616
21.12.23
✎
15:49
|
(13) Да спросил, точнее: "Не задано значение параметра "Группа"" А как пофиксить?
|
|||
16
Novis616
21.12.23
✎
15:49
|
(14) Это я дурак, извиняюсь, процедура с кнопкой не связалась
|
|||
17
Новый1сник2
21.12.23
✎
15:53
|
(15) так нужно задать значение параметра, например
Группа = Справочники.Номенклатура.НайтиПоКоду("КодТвоейГруппы") Запрос.УстановитьПараметр("Группа", Группа); пс вместо номенклатуры, твой справочник |
|||
18
yurikmellon2
21.12.23
✎
15:52
|
(15) &Группа это параметр запроса, который надо указать.
Новый1сник2 имеет ввиду, что если тебе нужен отбор по ученикам в какой то определённой Группе(Папке), то этот параметр нужно явно указать и запрос вытащит в ТЗ только этих учеников |
|||
19
Novis616
21.12.23
✎
15:54
|
+/- понял. Два вопроса: 1) Код с выбором группы надо писать до запроса/в запросе/после запроса? 2) Можно как-нибудь реализовать, чтобы пользователь сам выбирал группу?
|
|||
20
hypotonics
21.12.23
✎
15:56
|
https://ibb.co/xhz2sVR
Подскажите, пожалуйста, почему заполняет пустыми строками |
|||
21
Novis616
21.12.23
✎
15:59
|
(17) Группа = Справочники.Ученики.НайтиПоКоду("А");
Запрос.УстановитьПараметр("А", Группа); получилось как-то так |
|||
22
Новый1сник2
21.12.23
✎
16:01
|
(19) 1- установку параметра лучше после запроса, можно и в начале 2) можно добавить реквизит с выбором группы на форму
и тогда устанавливать параметр по этому реквизиту |
|||
23
Novis616
21.12.23
✎
16:05
|
(22) Продолжает жаловаться, что значение "Группа" не установлено. Поставил после запроса
|
|||
24
Новый1сник2
21.12.23
✎
16:08
|
(21) Запрос.УстановитьПараметр("А", Группа); как то не так
если у тебя условие в запросе В ИЕРАРХИИ(&Группа) то и параметр должен быть Запрос.УстановитьПараметр("Группа", Группа); |
|||
25
yurikmellon2
21.12.23
✎
16:09
|
(23) код, это код элемента справочника
и, да должно быть Запрос.УстановитьПараметр("Группа", Группа);
|
|||
26
Donkey_hot
21.12.23
✎
16:09
|
(23) Прочтите книгу "Практическое пособие разработчика" от корки до корки, воспроизводя в чистой базе все то, что там описано. Это займет у Вас недели две в самом худшем случае, при этом снимет примерно 146% от заданных здесь вопросов и им подобных.
|
|||
27
Novis616
21.12.23
✎
16:12
|
(25) Теперь ошибки нет, поставил код группы, а не наименование, но заполняет пустыми строками(
|
|||
28
Novis616
21.12.23
✎
16:13
|
(25) Если я правильно понимаю, то надо каким-то образом именно наименование ученика доставать запросом?
|
|||
29
Novis616
21.12.23
✎
16:15
|
(25) Вся процедура сейчас вот так выглядит:
&НаСервере Процедура ЗаполнитьСписокУчеников() Запрос = Новый запрос("ВЫБРАТЬ Ученики.Ссылка КАК Ссылка ИЗ Справочник.Ученики КАК Ученики ГДЕ Ученики.Родитель В ИЕРАРХИИ(&Группа) И Ученики.ЭтоГруппа = ЛОЖЬ"); Группа = Справочники.Ученики.НайтиПоКоду("000000031"); Запрос.УстановитьПараметр("Группа", Группа); РезультатЗапроса = Запрос.Выполнить(); ВременнаяТаблица = РезультатЗапроса.Выгрузить(); Объект.Ученики.Загрузить(ВременнаяТаблица); КонецПроцедуры |
|||
30
Волшебник
21.12.23
✎
16:21
|
Группа = Справочники.Ученики.НайтиПоКоду("000000031"); // плохой программный код
|
|||
31
Novis616
21.12.23
✎
16:26
|
(30) ?
|
|||
32
Новый1сник2
21.12.23
✎
16:38
|
(31) документы нужно будет по разным группам заполнять? если да делай отдельным реквизитом в документе и передавай параметром в запрос
|
|||
33
Novis616
21.12.23
✎
16:38
|
(32) Принято. Но почему всё же заполняет пустыми строками сейчас?
|
|||
34
Новый1сник2
21.12.23
✎
16:46
|
(33) реквизиты в табличной части документа как называются?
|
|||
35
Novis616
21.12.23
✎
16:41
|
(34) реквизит в табличной части документа называется "Ученик"
|
|||
36
Novis616
21.12.23
✎
16:41
|
(34) из справочника "Ученики" Нужно наименование, получается
|
|||
37
Lazy Stranger
21.12.23
✎
16:42
|
(35) значит и в запросе должен быть учеником: ВЫБРАТЬ Ученики.Ссылка КАК Ученик
|
|||
38
Новый1сник2
21.12.23
✎
16:42
|
Запрос = Новый запрос("ВЫБРАТЬ Ученики.Ссылка КАК Ссылка ИЗ Справочник.Ученики КАК Ученики
попробуй заменить на Запрос = Новый запрос("ВЫБРАТЬ Ученики.Ссылка КАК Ссылка ИЗ Справочник.Ученики КАК Ученик |
|||
39
Novis616
21.12.23
✎
16:45
|
(38) Поле не найдено "Ученики.Родитель"
|
|||
40
Novis616
21.12.23
✎
16:45
|
(38) Если будет проще, то вот ссылки на скрины https://ibb.co/df7H9NX
https://ibb.co/Pr59BXp https://ibb.co/b2dcZND |
|||
41
Новый1сник2
21.12.23
✎
16:48
|
(39) ГДЕ Ученик.Родитель В ИЕРАРХИИ(&Группа) И Ученик.ЭтоГруппа = ЛОЖЬ")
|
|||
42
Novis616
21.12.23
✎
16:50
|
(41) Пожаловался на "Ученики.Ссылка" заменил на "Ученик.Ссылка" но снова пустые строки
|
|||
43
Donkey_hot
21.12.23
✎
16:53
|
(42) Реквизит ТЧ, в который должет попасть ученик, как называется?
|
|||
44
Donkey_hot
21.12.23
✎
16:55
|
(43) Вот и пишите в запросе Ученик.Ссылка КАК Ученик
|
|||
45
Новый1сник2
21.12.23
✎
16:55
|
(42) в 37 правильно
Запрос = Новый запрос("ВЫБРАТЬ Ученики.Ссылка КАК Ученик |
|||
46
Novis616
21.12.23
✎
16:56
|
(43) У ТЧ в документе реквизит называется "Ученик". в Справочнике "Ученики" вообще такого реквизита нет, если что. Мне нужно, чтобы он как раз заполнял реквизит "Ученик" реквизитом "Наименование" из справочника "Ученики"
|
|||
47
Novis616
21.12.23
✎
16:57
|
ЗАПОЛНИЛОООСЬ. Спасибо Вам всем огромное!!!!!!
|
|||
48
Donkey_hot
21.12.23
✎
16:58
|
А зачем наименованием, если можно ссылкой?
Но если непременно наименованием (тип реквизита ТЧ - строка), то Выбрать Ученики.Наименование КАК Ученик Но лучше используйте ссылку. |
|||
49
Donkey_hot
21.12.23
✎
16:58
|
(47) Обратите все-таки внимание на (26)
|
|||
50
Novis616
21.12.23
✎
16:59
|
(49) Обязательно, но курсовую надо сдать завтра
|
|||
51
Новый1сник2
21.12.23
✎
17:00
|
(46) из справочника ты ссылку получаешь и называешь ее "Ученик" из временной таблицы потом по наименованию загружается в документ
|
|||
52
Novis616
21.12.23
✎
17:01
|
(51) Понял, спасибо Вам ещё раз большое. Может и подскажите тогда, как сделать выбор группы через отдельный реквизит?
|
|||
53
Новый1сник2
21.12.23
✎
17:08
|
(52) добавь реквизит "Группа" (тип значения твой справочник) в документ, в свойствах укажи выбор групп. вытащи реквизит на форму документа. и передавай его параметром в запрос
|
|||
54
Novis616
21.12.23
✎
17:19
|
(53) реквизит назвал "Класс", а как его передавать в запрос?
|
|||
55
Novis616
21.12.23
✎
17:21
|
(54) Сам разобрался
|
|||
56
Novis616
21.12.23
✎
17:21
|
(53) На этом точно всё, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |