Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0
Добрый день! Скажите как запретить проведение одного документа, пока не будет проведен другой. То есть два документа - Договор и Заявление. Как сделать так, чтобы пока не проведен документ на имя какого-то человека в заявлении, на него его же имя нельзя будет провести документ - Договор? Скажите пожалуйста, как это сделать?
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2
В модуле объекта есть событие ОбработкаПроведения. В нём есть параметр Отказ. Если Отказ установить в значение Истина, то документ проводиться не будет. Устанавливайте Отказ в Истина по нужным вам условиям.
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0
Да, они у меня связаны между собой, так как одно заполняется на основании другого. И насчет ОбработкаПроведения я знаю, хотелось бы подробнее узнать каким образом организовать тот самый запрос или функцию, который позволил бы мне проверить наличие уже существующего документа, записанного на имя того человека который в данный момент варьирует у меня в Договоре. То есть если В заявлениях такого человека нету, то Договор мы не проводим, а если есть - проводим. Вот, если Вам не сложно скажите как именно организовать этот самый запрос или функцию проверки?
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0
Хорошо, хорошо. Вот пожалуйста два документа - Заявление. В нем реквизиты есть Курсант (СправочникСсылка.Курсанты). И документ - Договор, который заполняется на основании Заявления (там тоже Курсант есть, тоже имеет ссылку на справочник). Вот, конфигурация самописная. Какие еще Вам данные желательно бы узнать?
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
В документе Договор есть поле ДокументОснование с типом ДокументСсылка.Заявление? Если нет - советую его добавить. Тогда условие будет выглядеть так:
Если Не ДокументОснование.Проведен тогда Отказ=истина; КонецЕсли;
Можно обойтись и без этого поля, но тогда возможны неприятные коллизии, когда один и тот же курсант будет писать несколько заявлений, но не по каждому будет оформлять договор.
Сообщение отредактировал pablo - 06.02.13, 12:49
Правильно поставленный вопрос содержит до 90% ответа.
Интересно почему? Ведь когда-то мы обсуждали исходные коды модулей, и выявили, что чем меньше кода тем быстрее производительность. Даже если опустить это обсуждение и так понятно, что присвоение значения пройдет быстрее, чем проверка условия, а затем присвоение значения, т.е. зачем выполнять лишнюю операцию?
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2
Цитата(logist @ 06.02.13, 10:37)
Интересно почему?
Воспринимается легче.
Цитата(logist @ 06.02.13, 10:37)
Ведь когда-то мы обсуждали исходные коды модулей, и выявили, что чем меньше кода тем быстрее производительность. Даже если опустить это обсуждение и так понятно, что присвоение значения пройдет быстрее, чем проверка условия, а затем присвоение значения, т.е. зачем выполнять лишнюю операцию?
Можете провести эксперимент, но я уверен, что прироста производительности, в данном случае, вы не получите.
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0
Скажите, то есть я добавляю в Документы "Договор" новый реквизит, который называется Основание (ДокументыСсылка.Заявление), и уже исходя из этого реквизита я делаю обработку?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!