Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запретить проведение документа 2 страниц V   1 2 >          
alexk Подменю пользователя
сообщение 03.02.13, 11:14
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день! Скажите как запретить проведение одного документа, пока не будет проведен другой. То есть два документа - Договор и Заявление. Как сделать так, чтобы пока не проведен документ на имя какого-то человека в заявлении, на него его же имя нельзя будет провести документ - Договор? Скажите пожалуйста, как это сделать?

Vofka Подменю пользователя
сообщение 03.02.13, 11:47
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

В модуле объекта есть событие ОбработкаПроведения. В нём есть параметр Отказ. Если Отказ установить в значение Истина, то документ проводиться не будет. Устанавливайте Отказ в Истина по нужным вам условиям.

logist Подменю пользователя
сообщение 03.02.13, 12:03
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vofka @ 03.02.13, 11:47) *
В модуле объекта есть событие ОбработкаПроведения.

Лучше использовать в ПередЗаписью. Если РежимЗаписи = Проведение И НекоеУсловие... Что бы проведение не вызывалось вообще.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 04.02.13, 9:21
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(logist @ 03.02.13, 12:03) *
Лучше использовать в ПередЗаписью. Если РежимЗаписи = Проведение И НекоеУсловие... Что бы проведение не вызывалось вообще.

Сказать честно, чем это лучше - я не знаю, но такой вариант решения тоже приемлемый smile.gif

pablo Подменю пользователя
сообщение 04.02.13, 9:50
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Это лучше тем, что не вызывает откат транзакции записи.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Ardi Подменю пользователя
сообщение 04.02.13, 10:23
Сообщение #6

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(pablo @ 04.02.13, 10:50) *
Это лучше тем, что не вызывает откат транзакции записи.

А разве откат транзакции это не новый тренд в рекомендациях 1с?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

pablo Подменю пользователя
сообщение 04.02.13, 11:18
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

А откат транзакции - это лучше, чем вообще транзакцию не создавать?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

logist Подменю пользователя
сообщение 04.02.13, 11:58
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vofka @ 04.02.13, 9:21) *
Сказать честно, чем это лучше - я не знаю

Это лучше тем, что если в результате проверки документ проводить не надо, то и вызывать обработку проведения вообще ни к чему.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alexk Подменю пользователя
сообщение 04.02.13, 16:32
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0

Да, они у меня связаны между собой, так как одно заполняется на основании другого. И насчет ОбработкаПроведения я знаю, хотелось бы подробнее узнать каким образом организовать тот самый запрос или функцию, который позволил бы мне проверить наличие уже существующего документа, записанного на имя того человека который в данный момент варьирует у меня в Договоре. То есть если В заявлениях такого человека нету, то Договор мы не проводим, а если есть - проводим. Вот, если Вам не сложно скажите как именно организовать этот самый запрос или функцию проверки?

pablo Подменю пользователя
сообщение 05.02.13, 9:40
Сообщение #10

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Ожидается приезд телепата для угадывания структуры Вашей конфигурации. Пока он не прибудет, ничем помочь не можем.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

svinuk Подменю пользователя
сообщение 05.02.13, 20:51
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 29
Спасибо сказали: 9 раз
Рейтинг: 0

alexk

Цитата
Как сделать так, чтобы пока не проведен документ на имя какого-то человека в заявлении, на него его же имя нельзя будет провести документ - Договор?


Запрос:
ВЫБРАТЬ 
Документ.Ссылка
ИЗ Документы.Заявление КАК Документ
ГДЕ Документ. Контрагент = &Контрагент


Далее результат этого запроса обрабатывается

Если НЕ Результат.Следующий Тогда
Сообщить("По данному контрагенту нет заявления");
КонецЕсли;


В чем сопсна проблема?

pablo Мне кажется телепат здесь будет безсилен icon_cuss.gif


Signature
Не доверяйте лошади с фиолетовыми бровями

alexk Подменю пользователя
сообщение 05.02.13, 21:11
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0

Хорошо, хорошо. Вот пожалуйста два документа - Заявление. В нем реквизиты есть Курсант (СправочникСсылка.Курсанты). И документ - Договор, который заполняется на основании Заявления (там тоже Курсант есть, тоже имеет ссылку на справочник). Вот, конфигурация самописная. Какие еще Вам данные желательно бы узнать?

pablo Подменю пользователя
сообщение 06.02.13, 10:03
Сообщение #13

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

В документе Договор есть поле ДокументОснование с типом ДокументСсылка.Заявление?
Если нет - советую его добавить.
Тогда условие будет выглядеть так:
Если Не ДокументОснование.Проведен тогда
Отказ=истина;
КонецЕсли;

Можно обойтись и без этого поля, но тогда возможны неприятные коллизии, когда один и тот же курсант будет писать несколько заявлений, но не по каждому будет оформлять договор.

Сообщение отредактировал pablo - 06.02.13, 12:49


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Vofka Подменю пользователя
сообщение 06.02.13, 10:17
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

pablo, сейчас придет logist и скажет, что можно так:
Отказ = Не ДокументОснование.Проведен;

smile.gif

ЗЫ. Но я лично предпочитаю вариант pablo. smile.gif

logist Подменю пользователя
сообщение 06.02.13, 10:37
Сообщение #15

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Офф
Цитата(Vofka @ 06.02.13, 10:17) *
ЗЫ. Но я лично предпочитаю вариант pablo.

Интересно почему? Ведь когда-то мы обсуждали исходные коды модулей, и выявили, что чем меньше кода тем быстрее производительность. Даже если опустить это обсуждение и так понятно, что присвоение значения пройдет быстрее, чем проверка условия, а затем присвоение значения, т.е. зачем выполнять лишнюю операцию?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 06.02.13, 10:43
Сообщение #16

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(logist @ 06.02.13, 10:37) *
Интересно почему?

Воспринимается легче.

Цитата(logist @ 06.02.13, 10:37) *
Ведь когда-то мы обсуждали исходные коды модулей, и выявили, что чем меньше кода тем быстрее производительность. Даже если опустить это обсуждение и так понятно, что присвоение значения пройдет быстрее, чем проверка условия, а затем присвоение значения, т.е. зачем выполнять лишнюю операцию?

Можете провести эксперимент, но я уверен, что прироста производительности, в данном случае, вы не получите.

pablo Подменю пользователя
сообщение 06.02.13, 11:35
Сообщение #17

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Почему я использую такой вариант:
Как правило, я внутрь условия добавляю дополнительные строчки, а ля Сообщить("Галактика в опасносте!!!111")


Signature
Правильно поставленный вопрос содержит до 90% ответа.

logist Подменю пользователя
сообщение 06.02.13, 11:58
Сообщение #18

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(pablo @ 06.02.13, 11:35) *
Почему я использую такой вариант:
Как правило, я внутрь условия добавляю дополнительные строчки

В таком случае да. Но если это одно присвоение значения, то не вижу смысла добавлять условие.
В общем, чего спорить, каждый делает так как хочет.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alexk Подменю пользователя
сообщение 06.02.13, 18:42
Сообщение #19

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 0 раз
Рейтинг: 0

Скажите, то есть я добавляю в Документы "Договор" новый реквизит, который называется Основание (ДокументыСсылка.Заявление), и уже исходя из этого реквизита я делаю обработку?

alex040269 Подменю пользователя
сообщение 07.02.13, 8:17
Сообщение #20

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(logist @ 03.02.13, 12:03) *
Лучше использовать в ПередЗаписью. Если РежимЗаписи = Проведение И НекоеУсловие... Что бы проведение не вызывалось вообще.

Если документ проводится из журнала или программно ПередЗаписью вызывается?
это дырка.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 9:01
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!