Имя: Пароль:
1C
1С v8
Не делать движения по определенному регистру, или удалять их после проведения.
0 palm1c
 
20.07.12
11:22
Добрый день.
Есть задача при проведении документов с датой меньше Д, не делать движения по определенным регистрам.
Спрашиваю советов мудрых, как это проще реализовать.
Конечно же, можно это сделать, дописав в документах процедуру проведения, но есть ли более элегантное решение?

Спасибо.
1 GLazNik
 
20.07.12
11:23
(0) Подписка на событие?
2 Amra
 
20.07.12
11:24
(1) +100
3 F13
 
20.07.12
11:26
В модуле набора записей регистра в процедуре
Процедура ПередЗаписью(Отказ, Замещение)
   Если ТвоеУсловие Тогда
           Отказ = Истина;
       КонецЕсли;
КонецПроцедуры
4 palm1c
 
20.07.12
11:28
(1) Можно подробнее?
Какое событие лучше использовать?
5 palm1c
 
20.07.12
11:29
(3) По-моему, это то, что мне нужно.
6 Irbis
 
20.07.12
11:29
В модуле набора записей очищай набор по условию
7 Maxus43
 
20.07.12
11:30
(3) отказ не приведёт к отмене проведения?
Процедура ПередЗаписью(Отказ, Замещение)
   Если ТвоеУсловие Тогда
           ЭтотОбъект.Очистить();
       КонецЕсли;
КонецПроцедуры
8 palm1c
 
20.07.12
11:32
(3), (7) Проверю и отпишусь.
9 Maxus43
 
20.07.12
11:35
2ТвоеУсловие" - можно использовать ДополнительныеСвойства
10 palm1c
 
20.07.12
11:46
Мне понравилась идея с подпиской на событие.
С подписками мало работал, поэтому есть вопрос:
Создаю подписку на событие РегистрНакопленияВзаиморасчеты, ПередЗаписью.
Хочу выбрать модуль для обработчика, но список модулей пуст. Почему так и что делать?
Спасибо.
11 Virusaka
 
20.07.12
11:55
(10)  Для этого в конфигурации должен быть общий модуль с установленной в свойствах галочкой Серверный
12 palm1c
 
20.07.12
11:56
(11) ОК, спасибо, пробую.
13 palm1c
 
20.07.12
11:58
(11) Это оно.
14 Serg_1960
 
20.07.12
12:17
Сорри, что с советами лезу, но работать с движениями в момент проведения документа - не айс. И подписка тут вам не помошник.

Имхо: если движение формируется в модуле документа - то там и вносить изменения. Не надо писать а потом очищать. Надо не писать это движение если оно не надо.

PS: совет насчет "Отказ=Истина" - сорри - глупость. Движение может быть и не запишится, но и документ - не проводится. Да и глупо будет выглядеть сообщения обшибках проведения по этому движению, если их не будет.
15 palm1c
 
20.07.12
12:24
ОК, всё работает.
Что сделал: Подписка на событие, ПередЗаписью, регистра накопления.
В обработчике,


Если Условие Тогда
 Источник.ЭтотОбъект.Очистить();
КонецЕсли;

Всем спасибо. Хорошего дня!
:)
16 Reset
 
20.07.12
12:30
Квест для следующего программиста?
Условие="Если меня уволили"
17 palm1c
 
20.07.12
12:31
(16) Что не так?
18 Spieluhr
 
20.07.12
12:58
(0) В чем изначально проблема? Почему решили именно так поступать с проводками?
19 palm1c
 
20.07.12
13:03
(18) Перевожу на восьмерку. Изначально учет велся в 12 базах 7-ки. Сейчас пришли к тому, что бух учет ведется в 8-ке по всем организациям холдинга, оперативный учет ведется в торговле 7.7. Данные выгружаются конвертацией в 8-ку. Движения денег ведутся уже в 8-ке (дублируется с 7.7) Для того, чтобы перевести оперативный учет в 8-ку (то есть 7-ку закрыть насовсем) ввожу остатки товаров на 01.07, чищу регистры упр учета по товарам и взаиморасчетам, делаю (0). Как-то так.
20 palm1c
 
20.07.12
13:04
(19) И да, всё из-за того, что хотят оставить аналитику по деньгам, в этом вся фишка
21 palm1c
 
20.07.12
13:04
(20) В восьмерке.
22 SherifSP
 
20.07.12
13:12
(19)Условие поставь при провидении в обработка провидения
23 palm1c
 
20.07.12
13:13
(22) -> (15)
24 SherifSP
 
20.07.12
13:16
(23)Так как ты сделал это криво, если будет проводится много доков, это займет много времени
25 palm1c
 
20.07.12
13:36
(24) Можно поподробнее, я не в теме?
26 palm1c
 
20.07.12
13:38
(24) Ну и еще хочу сказать, что железо тут очень хорошее. сервер 50 ГБ оперативы, база крутится на SSD. Думаю, будет норм.
Еще мне нравится решение тем, что в конфу вносится меньше изменений - это плюс при обновлении.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.