Имя: Пароль:
1C
1C 7.7
v7: Определить первичное проведение документа
,
0 Pit0n_08
 
16.06.16
20:21
Конфигурация - незначительно дописанная ТиС 9.2. Есть ли возможность в модуле проведения определить первый раз проводится документ или нет?
Можно конечно добавить реквизит документа типа "Новый", при ВводеНового() присваивать 1, а при проведении 0, но не хочется замусоривать ИБ. Может можно как-то иначе, что предложите?
1 Провинциальный 1сник
 
16.06.16
20:29
В модуле проведения доступен метод Проведен(). При перепроведении возвращает 1, при проведении впервые - 0.
2 HawkEye
 
16.06.16
20:31
(0) зачем?
3 Pit0n_08
 
16.06.16
20:32
(1) А если предварительно документ сделали непроведенным, то метод вернет 0, а док уже не новый.
4 Звездец
 
16.06.16
20:35
И что? Смысл метода по сути определить, есть ли у документа движения или нет. Может тебе лучше проверку на новый тогда делать?(3)
5 Pit0n_08
 
16.06.16
20:35
(2) нужно запретить ряду пользователей проведение документов, созданных сегодня (т.е. новых) после определенного момента времени.
6 Pit0n_08
 
16.06.16
20:37
(4) проверку на новый в модуле проведения - это как?
7 Pit0n_08
 
16.06.16
20:50
Пока пробую следующее: в модуле формы создаю переменную "Новый", при ВводеНового() присваиваю 1. При записи документа если Новый=1 очищаю значение ЮрЛицо. В модуле проведения проверяю ЮрЛицо на пустое значение и далее по схеме "если пользователю можно" заполняю реквизит и провожу, иначе до свидания.
8 mikecool
 
16.06.16
20:52
(7) (1) + ограничение на дату и нифига более не надо
9 HawkEye
 
16.06.16
21:01
(5) при открытии делай кнопку "Ок" - не доступной
10 Pit0n_08
 
16.06.16
21:07
(8) ещё раз по сути задачи - запретить после момента "Ч" текущего дня проведение НОВЫХ документов ("Заявки покупателей"), созданных на дату ТекущийДень + 1. Заявки, к сожалению, проводятся будущими датами.
11 Pit0n_08
 
16.06.16
21:10
(9) классная мысль!
12 FN
 
16.06.16
21:14
9 обработкой проведут.


общий реквизит Счетчикпроведений.
в модуле проведения делай всегда +1.
13 Mikeware
 
16.06.16
21:58
(3) а нефиг его распроводить! Логично?
14 Mikeware
 
16.06.16
22:01
(7) можно еще три раза поменять склад. Сменить валюту на монгольские тугрики. А потом -на корейские воны.
15 Torquader
 
16.06.16
22:39
В чём проблема - в заявке делаем поле шапки "проведена" - записываем туда "Y" в момент первого проведения и знаем, что если там есть "Y", то документ уже один раз проводился.
Так как пользователь может сохранить документ без проведения, а потом открыть его и провести - тогда документ уже явно будет не новый.
16 Djelf
 
16.06.16
23:23
(15) Проблема в экономии. Я тоже не люблю реквизиты добавлять, но если надо так надо...
Можно сделать одну символьную переменную и через битмаску хранить там несколько состояний, но 100% потом потребуют отчет, который будет жутко тормозить.
ИМХО Лучше замусорить базу (хотя и не хочется) дополнением реквизита как сказано в (0).
З.Ы. не сильно то и замусорит...
17 HawkEye
 
16.06.16
23:25
(12) у адекватного программиста, пользователи не пользуются обработками которые для них не предназначены....
18 Torquader
 
16.06.16
23:42
(17) Конечно, у них они давно в управляемых формах копаются.
А тут людям работать надо - им некогда новшества изучать.
19 vcv
 
17.06.16
05:20
Лучше добавить набор реквизитов. Автор, редактор, ДатаСоздания, ДатаРедактирования. И полномочия новые от них можно завязать, и пользователям показать, и отчетик диагностический сделать...
20 Mikeware
 
17.06.16
07:31
(19) зачем так много?
Если есть подсистема логирования изменений (а у всех приличных людей, работающих на клюшках, она есть) - то там уже есть и момент создания, и моменты редактирований, и авторы соответсвующих действий.
если есть подсистема ролей (а она тоже есть у доброй половины клюшечников) - то полномочия явно уже определены.
остается прикрутить бизнес-процессы (состояние документов, и разрешенные для ролей переходы между состоянияями)
21 Mikeware
 
17.06.16
07:34
(18) тут сложный вопрос. Нужно ли _бизнесу_ "изучение новшеств в лице управляемых форм"? Даст ли это отдачу, и когда? сколько это будет стоить?
Сколько будет стоить "оставание" на текущей ИС, и чем это грозит в дальнейшем?
Ну и т.д.
22 HawkEye
 
17.06.16
10:37
(18) глупость какая-то.... при чем тут "управляемые формы" в принципе?
23 vcv
 
17.06.16
10:58
(20) > зачем так много?
У меня для скорости аналитики (20000+ документов в месяц), совместимости и простоты реализации (РБД, SQL/DBF, местами довольно тонкие и негарантированные каналы).
А ТСу для простоты. Если задаёт такие вопросы, скорее всего о подсистемах логгирования и ролей речи не идёт.
24 Злопчинский
 
17.06.16
11:00
(10) Объясни менеджерам что в ЗаявкеПокупателя есть поле "ДатаОтгрузки" и не надо проводить заявки будущими датами.

Желание проводить документы будущими датами должно иметь вполне рациональное объяснение. Если такового нет - автор дятел, креатив не в тему.
25 Mikeware
 
17.06.16
11:34
(24) никакой необходимости проводить документы будущими датами нет. Ты это прекрасно знаешь и без меня.
26 Mikeware
 
17.06.16
11:39
(23) тююю 20 тыс документов в месяц - много, чтоль? у меня 130 было. до 7 в день
27 vcv
 
17.06.16
12:06
(26) Само по себе 20000 не много. А вот когда за несколько последних месяцев вдруг захотели анализировать, где документ оформился в "одно касание" текущей датой и больше не редактировался, а где разновсяческими задними числами создавался и редактировался - собирать и анализировать самодельные журналы изменений с учетом РБД+SQL/DBF уже не так быстро и просто.
Плюс, такой набор реквизитов даёт возможность быстро пользователю показывать "мои документы (по автору/редактору)", "историю документов (по автору/редактору и дате создания/редактирования)".
Конечно, хранение только последнего "редактора" накладывает свои ограничения на возможные отборы в журналах.
28 Mikeware
 
17.06.16
12:07
(27) да лехко!
функция каунт() на то и дана...
29 vcv
 
17.06.16
12:16
(28) А оно особо надо связываться, когда периферийки то SQL, то DBF? Местами просто двойной объём кода возникает, что бы твой каунт() через разные места заюзывать...
30 Mikeware
 
17.06.16
12:18
(29) не столь и много таких мест.