Имя: Пароль:
1C
 
Запрос к регистру сведений
0 Totallpower98
 
03.04.24
17:57
Добрый день! Нужно написать запрос в Модуле обьекта Документ « Приказ о Зачислении» проверку на то, что когда проводим документ студента/студентов еще нет в регистре сведений « Учащиеся». В документе фио студентов находятся в табличной части «Студенты»
1 shuhard
 
03.04.24
17:58
(0) отличное ТЗ, сколько платите за реализацию ?
2 Волшебник
 
03.04.24
18:14
(0) Не путайте ФИО студентов (строки) и ссылки на спр. Студенты. В документе именно ссылки. Так устроена 1С
3 DrLekter
 
03.04.24
18:54
В конкретной поделке это могут быть и строки ) мы же не в курсе, что за конфигурация в задаче.
4 Волшебник
 
03.04.24
22:50
(3) Ну если делал автор, то да :)
Нерадивым студентам, которые не смогли выбрать себе интересную тему проекта, научрук даёт задание автоматизации института.

Но в хорошей системе на платформе 1С сущность "студент" будет элементом справочника Студенты (или даже Физлица), а все документы будут ссылаться на этот справочник, т.е. содержать ссылки на конкретных студентов.

Теперь про запрос:
ВЫБРАТЬ Студент ИЗ РегистрСведений.Учащиеся ГДЕ Студент = &СсылкаНаСтудента


Получится ужасный запрос в цикле. Фу-фу-фу, но сработает.

А чтобы было не фу-фу-фу, надо учиться делать соединения с таблицами и передавать ТаблицаЗначений в запрос в качестве источника данных или спискового параметра, например:

ВЫБРАТЬ Студент ИЗ РегистрСведений.Учащиеся ГДЕ Студент В (&СписокСтудентов)


И вот, запрос почти такой же, но уже не фу-фу-фу. В продакшн!
5 Ёпрст
 
03.04.24
21:12
(0) просто сделаете этот РС подчиненным регистратору, и тупо пишите движения в модуле документа. проверять не обязательно, перетрутся сами.
Проверять, что раньше был еще приказ, не обязательно, ибо тогда нужно проверить, что не было приказа на отчисление/академ.
6 Волшебник
 
03.04.24
21:28
(5) Нет, так нельзя. Вы уже вторгаетесь в область бизнес-анализа, кто и кому что должен. А ему просто сказали запрос. Он смог!