Имя: Пароль:
1C
1С v8
Обход даты запрета
0 Повелитель
 
19.10.11
14:36
Стандартными средствами, установили запрет на изменение документов позже 3-х дней.
Есть документ Поступление товаров. Который тоже можно редактировать только 3 дня. Тут все нормально.
Есть документ Приемка товаров, которые при проведении устанавливает статус "Поступлению товаров" (Выполнен, В работе, и т.д.). Соответсвенно Поступление товаров через 3 дня не дают и приемку провести, так как срабатывает запрет "Поступление товаров".

Сейчас такие документы проводит человек со специальными правами, но ему это надоело.

Один из вариантов выключить из подписки на события Поступление, и все его регистры, но этого делать нельзя.

Придумал один вариант, не знаю можно так сделать или нет:
1. Создаю регистр сведение: "Провести документы".
2. При проведении Приемки товаров, в регистр сведении будет записано какой документ проводить.
3. Создаю регламентное задания (у меня клиент-сервер), с периодичностью 1 раз в минуту, которое будет отслеживать записи в этом регистре и проводить документы, от пользователя с полными правами.
Можно так?
1 NDN
 
19.10.11
14:37
Так что сделать надо? Позволить конкретному пользователю проводить документы несмотря на установленную дату запрета?
2 acsent
 
19.10.11
14:38
Храни статус не в документе а в регистре
3 NDN
 
19.10.11
14:39
добавь новую роль и при проверке на запрет редактирования проверяй на эту роль
4 Sammo
 
19.10.11
14:42
"Есть документ Приемка товаров, которые при проведении устанавливает статус "Поступлению товаров" "
Попробуй сие делать при обменданными.загрузка = Истина
5 Повелитель
 
19.10.11
14:45
(4) Сейчас попробую, кажется должно получиться.
6 Повелитель
 
19.10.11
15:22
Не помогло, выдает ошибку:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПриемкаТовара.МодульОбъекта(433)}: Ошибка при вызове метода контекста (Записать)
по причине:
Действие не может выполняться в режиме загрузки данных

Я так понял ТекОбъект.Записать(РежимЗаписиДокумента.Проведение); При Загрузке = Истина, проведение нельзя вызвать. А мне именно перепровести нужно Поступление товаров.
7 Живой Ископаемый
 
19.10.11
15:23
ну... а ты не проводи.
8 Повелитель
 
19.10.11
15:28
(7) Склад меняется у поступления, Поступление до фактической приемки кладовщиком находится на виртуальном складе.
9 Повелитель
 
19.10.11
15:29
(7) Соответственно без проведения никак, а то в регистрах будет другой склад.
10 Живой Ископаемый
 
19.10.11
15:34
тогда надо менять процедуру проверки даты запрета
11 Повелитель
 
19.10.11
15:42
(10) Нет у меня мыслей как запретить изменения, когда проводишь сам документ и разрешить изменения когда проводишь его другим документом.

Вот еще мысль пришла. Перед проведением документа, Установить пользователю нужную дату запрета и тут же ее вернуть после проведения на место ))
12 Живой Ископаемый
 
19.10.11
15:44
безусловно мысль ест. в 8.2 есть такая структура как дополнительные свойства.. когда из другого документа, устанавливаешь такое дополнительное свойтсво, и потом в процедуре проверки редактируешь его...
13 Конфигуратор1с
 
19.10.11
15:45
В привилегированный модуль вынеси поцедуру
14 Живой Ископаемый
 
19.10.11
15:45
скажи понятно ли про Доп.свойства.
15 Axel2009
 
19.10.11
15:47
(11) только эта дата запрета кешируется. и при изменении в регистре, кеш не поменяется
16 Александр_
Тверь
 
19.10.11
15:49
>>есть документ Приемка товаров, которые при проведении устанавливает статус "Поступлению товаров"
как-то криво.
Сделай документ - планирумое поступление товаров (он у тебя будет выполнять текущую роль документа "Поступление товаров"), а на его основании делай документ "поступление товаров"
17 Александр_
Тверь
 
19.10.11
15:54
+(16) идею легко развить и добавить регистр, в который писать остаток к получению товаров (как разницу планируемых поступлений и уже сформированных поступлений) + сможно добавить пару отчетов или вписать данную ситуацию в существующие.
18 Александр_
Тверь
 
19.10.11
15:55
а менять одним документом реквизит другого (статус это реквизит?) совсем как-то криво.
19 shuhard
 
19.10.11
15:56
(17) в УТ 11 у заказов 6 статусов и всё прекрасно работает
20 Александр_
Тверь
 
19.10.11
15:57
(19) и что, там статус реализован в виде реквизита документа? Я не смотрел УТ 11. И есть другой документ который меняет статус заказа?
21 Повелитель
 
19.10.11
16:05
(12) Да идея понятна. С самим документом проблем не будет, а вот регистры сработают на дату запрета.
(13) Какую процедуру?
(15) Надо покопаться, может что-то получится сделать.
(16) Статус не проблема поменять, он на регистры не влияет. Склад меняем еще, вот тут нужно перепроводить поступление.
(17) Весь бизнес процесс как то не хочется переписывать сейчас.
Схема такая (оптовая торговля):
1.Менеджер 1 октября заносит Поступление, на основании электронной накладной. На виртуальный склад "Приемка".
2. Устанавливает цены.
3. Рассылает прайсы ожидаемого поступления покупателям.
4. Приходит товар на склад.
5. 10 октября. Кладовщик принимает товар по факт, часто есть отклонения +- от фактуры. Прав на исправление Поступления ни у кого уже нет.
6. При проведении документа "Приемка товаров", меняется статус Поступления и переводится склад на основной. В случае отклонений, на основании создаются документы Оприходование товаров или Списание товаров (для актуальности остатков на складе), до момента пока с поставщиком не разберемся, а на это может уйти месяц, так только доставка составляет 2-3 недели.

Весь бизнес процесс менять будет трудно.

На дату запрета задействовано 3 документа: Поступление, Оприходование и Списание. А так же их регистры.
22 shuhard
 
19.10.11
16:10
(20) да
крайне редко
23 Александр_
Тверь
 
19.10.11
16:11
(21) на мой взгляд оч. плохое решение.
(22) как минимум это странно.
24 FIXXXL
 
19.10.11
16:14
(15) менять в кеше
25 Axel2009
 
19.10.11
16:15
(24) а что, это можно сделать???
26 FIXXXL
 
19.10.11
16:17
(25) встречал тут на форуме пример с группами доступа вроде
27 Программисточка
 
19.10.11
16:42
Я в похожем случае дописывала процедуру проверки даты запрета в подписке на событие, чтобы часть реквизитов можно было менять и в закрытом периоде.
Хотя это тоже кривовато
28 Живой Ископаемый
 
19.10.11
16:43
2(21) не сработают, там вызывается таже процедура.. в ней ты так или иначе сравнивай доп.свойства. а уж самого объекта для документа или регистратора для регистров - смоотри по типу
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс