Изменения в документе при проведении другого
Добрый день! Ещё учусь 1С, поэтому не кидайте камнями. Есть документ Экзаменационная ведомость, в котором отражается сдал абитуриент по определённому конкурсу испытания или нет. Также есть документ Анкета абитуриента, в котором хранятся статусы поданных заявлений типа подано, отозвано и прочее в табличной части Заявления. Задача следующего плана: при проведении документа Экз. ведомость необходимо чтобы в документе Анкета абитуриента статус у заявления, по которому абитуриент не сдал вступительное испытание менялся на отозвано. В регистрах заявления не отражаются. Возможно ли вообще сделать так, чтобы данные изменения совершались? У справочника знаю как сделать подобное, но у документа пока не понял схему
По теме из базы знаний
- 1С:ЗиК. Перепроведение ЛЮБЫХ документов, проведенных в прошлых периодах с сохранением "проводок" (записей в Журнале расчетов).
- Операции вручную, сторно движений документов и другие безобразия в Бухгалтерии предприятия 8
- Многопоточная обработка документов БП3.0, КА2, (ERP с небольшим ограничением). Ускоряет основные процессы учета: проведение документов и другие массовые процедуры методом многопоточности
- Дата запрета изменения для каждого документа
- Поиск документов, проведенных задним числом
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Согласен, сразу бросается неправильное проектирование конфигурации БД: документ должен отражать однотипную операцию или несколько таких.
Непохоже, чтобы документ "Анкета абитуриента" отражал такую операцию. Совсем другое дело, если бы документ назывался "Заявление", который отражал бы подачу заявления. И соответственно он создает этой операцией начальный статус на "подано", который как правильно написали в (2) должен хранится в регистре сведений (периодическом), например "Статусы заявлений". А документ "Экзаменационная ведомость" отражает другую операцию: сдачи/не сдачи, которая устанавливает конечный статус заявления: "сдано", "отозвано" и т.д., записывая данные сведения в упомянутый выше регистр. В таком случае в случае отмены последней операции (распроведения документа), статус заявления автоматически поменяется на начальный.
Непохоже, чтобы документ "Анкета абитуриента" отражал такую операцию. Совсем другое дело, если бы документ назывался "Заявление", который отражал бы подачу заявления. И соответственно он создает этой операцией начальный статус на "подано", который как правильно написали в (2) должен хранится в регистре сведений (периодическом), например "Статусы заявлений". А документ "Экзаменационная ведомость" отражает другую операцию: сдачи/не сдачи, которая устанавливает конечный статус заявления: "сдано", "отозвано" и т.д., записывая данные сведения в упомянутый выше регистр. В таком случае в случае отмены последней операции (распроведения документа), статус заявления автоматически поменяется на начальный.
(3)а вот например есть у меня документ Рейтинг абитуриента, в котором формируются списки на зачисление, я могу же туда выбрать студентов, которые сдали экзамен? Я так понял это каким-то объединением в запросе надо делать или вложенным, так как экз ведомость и анкета делают движение по регистру вступительные испытания
(7) Да по ссылке документа можно получить его объект и затем можно менять его данные как душе угодно. Можно обработкой события ПослеЗаписи в модуле документа, можно подпиской на событие.
Если вы производите изменение в другом документе на основании изменения в первом, то данные регистра не нужны, т.к. нужные данные вам уже есть в этом самом документе.
Другое дело, что изменять данные в одном документе при записи другого - это неправильный подход сам по себе, т.к. в случае ошибки ввода пользователем в одном документе зафиксируются неправильные данные в другом. Документы должны фиксировать (записывать) данные только в рамках себя самих: в своём объекте и регистрах, желательно подчиненных регистратору.
(4) Третий документ "Рейтинг абитуриента", если делать корректно, нужно заполнять на основании данных регистра сведений. Никакого объединения не нужно. Если регистр периодический, то выборка делается через СрезПоследних и условием ограничения по периоду изменения статуса и его значением "сдано" (или как там у вас).
Что-то вроде такого:
Если вы производите изменение в другом документе на основании изменения в первом, то данные регистра не нужны, т.к. нужные данные вам уже есть в этом самом документе.
Другое дело, что изменять данные в одном документе при записи другого - это неправильный подход сам по себе, т.к. в случае ошибки ввода пользователем в одном документе зафиксируются неправильные данные в другом. Документы должны фиксировать (записывать) данные только в рамках себя самих: в своём объекте и регистрах, желательно подчиненных регистратору.
(4) Третий документ "Рейтинг абитуриента", если делать корректно, нужно заполнять на основании данных регистра сведений. Никакого объединения не нужно. Если регистр периодический, то выборка делается через СрезПоследних и условием ограничения по периоду изменения статуса и его значением "сдано" (или как там у вас).
Что-то вроде такого:
ВЫБРАТЬ
ДанныеАбитуриентаСрезПоследних.Абитуриент,
ДанныеАбитуриентаСрезПоследних.СтатусИспытания
ИЗ
РегистрСведений.ДанныеАбитуриента.СрезПоследних КАК ДанныеАбитуриентаСрезПоследних
ГДЕ
ДанныеАбитуриентаСрезПоследних.Период МЕЖДУ &НачалоПериода И &КонецПериода
И ДанныеАбитуриентаСрезПоследних.СтатусИспытания = ЗНАЧЕНИЕ(Перечисление.СтатусыИспытания.Сдано)
(6) Вот в ведомости экзамена у меня есть ссылка на анкету абитуриента. Правильно понимаю, что мне нужно создать событие ПослеЗаписи на сервере, в ней получить анкету через получить объект и установить в табличной части нужное значение? Выполнив в ней поиск по конкурсу сдаваемому. Или проще выбирать в Рейтинг абитуриентов только тех, кто в регистре отмечен как "сдал"?
(7) В ведомости должен быть справочник Абитуриент экзамен же он сдает, а не анкета. При проведении в РС записывается для каждого Абитуриента сдал, не сдал и какой экзамен. Анкета это больше отчет в которой отображаются как данные жестко связанные с абитуриентом типа ФИО, дата рождения, пол (хотя это и не толерантно), так и данные которые меняются (место жительство, телефон и результаты экзамена в том числе). Заявления, Ведомости это отдельные документы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот