|
Проведение документа, у которого в основании есть документы в закрытом периоде | ☑ | ||
---|---|---|---|---|
0
Валидатор
14.11.13
✎
13:05
|
Есть самописный документ, который вводился на основании других документов, и в этой цепочке документов начальный документ, допустим датой 01.12.2011, а последний документ вообще 13 года, так вот, при перепроведении последнего летит ошибка, что редактирование запрещено, мол закрытый период, потому что если мы проводим последний документ, он цепляет и предыдущие, как сделать, чтобы проводился только тот документ, который мы проводим, не цепляя остальные? Границы редактирования сдвигать нельзя, права менять тоже(
|
|||
1
Maxus43
14.11.13
✎
13:06
|
Если при проведении документа перепроводится-перезаписывается докмент основание - это кривая реализация
|
|||
2
Euguln
14.11.13
✎
13:06
|
(0) вырвать руки тому, кто писал документ
|
|||
3
Maxus43
14.11.13
✎
13:06
|
провести конечно можно, но это будет нарушением логики. в сторону обменданными посмотреть например
|
|||
4
Валидатор
14.11.13
✎
13:07
|
(1) это давно очень кто то реализовывал, х3, но так есть, причем если админские права, то ошибка не летит, какое условие на проверку воткнуть в обработке проведения, чтобы ошибка не вылетала, а документ проводился?(
|
|||
5
Валидатор
14.11.13
✎
13:07
|
(3) ну это уже их проблемы) они хотят чтобы новый документ проводился, не смотря на то, что у него основанием могут быть доки в закрытом периоде
|
|||
6
Maxus43
14.11.13
✎
13:07
|
>>если админские права, то ошибка не летит
на полные права дата запрета может не распространятся |
|||
7
Maxus43
14.11.13
✎
13:08
|
(5) тебе же ноги потом отрвут что поехали данные в закрытом периоде
|
|||
8
Валидатор
14.11.13
✎
13:08
|
(6) это да, так как сделать чтобы документ проводился все таки?
|
|||
9
Валидатор
14.11.13
✎
13:08
|
(7) не, нужно чтобы данные в закрытом периоде не менялись, а просто проводился документ который проводим
|
|||
10
Maxus43
14.11.13
✎
13:09
|
(9) дак смотри в код, почему при проведении документа 2013 года трогаются данные 2012
|
|||
11
Валидатор
14.11.13
✎
13:16
|
блин и так криворукий, так еще и за другими криворукими дебилами теперь переделывать, ох уж этот бит
|
|||
12
Maxus43
14.11.13
✎
13:28
|
>>ох уж этот бит
бугага. они такие, да |
|||
13
Валидатор
14.11.13
✎
13:29
|
(12) мучайся после них потом(
|
|||
14
Maxus43
14.11.13
✎
13:31
|
(13) я мучаюсь, ничо, жить можно и лучше переписать заново всё
|
|||
15
Валидатор
14.11.13
✎
13:33
|
(14) это же займет явно больше чем пара часов)
|
|||
16
Maxus43
14.11.13
✎
13:37
|
а кто сказал что жить легко?
БИТ - благодетели мира 1с, после них столько работы - что я уже 2 года не испытываю недостатка в оной |
|||
17
МойКодУныл
14.11.13
✎
13:42
|
Лучше отключить перепроведение задним числом...
Последовательностей у вас нет? Не слетают они? Есть подозрение, что в прошлом документе что-нить заполняется(какой-нить реквизит не значимый для проведения). Любят так былокодить. Если проведение не меняется, то как минимум заменить на РежимЗаписиДокумента.Запись. А так - смотри подписку на событие, где идет проверка даты запрета и пиши под себя, чтобы для записи из модуля проведения твоих самописок она не контролировалась. Но это в любом случае криво. (16) БиТ - да, лучшие=). Часто создают дополнительные рабочие места для программистов 1С. |
|||
18
Sammo
14.11.13
✎
13:51
|
(17) Кстати, пожалуй довольно частая ситуация (это я про запись некритичного реквизита в документе основании).
Еще 1 вариант запись в режиме ОбменгДанными.Загрузка = Истина В этом случае _могут_ отключаться некоторые проверки. Правда не уверен - слетит ли последовательность. |
|||
19
Валидатор
14.11.13
✎
13:55
|
(18) в начале обработки проведения документа при проведении которого ошибка летит?
|
|||
20
Serg_1960
14.11.13
✎
13:55
|
(All) Народ, прежде чем советовать, вспомните что при обмене данными документы не проводятся :(
|
|||
21
Serg_1960
14.11.13
✎
14:11
|
Как вариант: в параметрах сеанса изменить дату запрета редактирования данных; начать транзакцию; провести документ; выгрузить движения документа; отменить транзакцию; загрузить движения документа; восстановить дату в параметрах сеанса... как-то типа так.
Но прежде чем сесть писать обработку - прочти ещё раз первые посты ветки и крепко подумай ещё раз. |
|||
22
Maxus43
14.11.13
✎
14:16
|
логику надо переделывать, не надо играться с датами, надо бдить границы последовательностей коли есть и другие штуки-дрюки
|
|||
23
Starhan
14.11.13
✎
14:18
|
(0)Найти где изменяется документ в закрытом периоде (и в случае елси там тупая перезапись без изменения данных) убрать этот кусок не предлагать?
ну а если данные меняются то разобраться что к чему. |
|||
24
Валидатор
14.11.13
✎
15:26
|
в общем нашел запрос, который всю малину портит:
|ВЫБРАТЬ | Ссылка |ИЗ Документ.ЗаказПокупателя |ГДЕ | Проведен И ДоговорКонтрагента = &ДоговорКонтрагента И | НачалоПериода(Дата, День) = ДатаОплаты | теперь думаю сделать, чтобы брались только те документы, у которых Дата Документа больше даты запрета документов, так же будет это:ВЫБРАТЬ | ЗаказПокупателя.Ссылка |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Проведен | И ЗаказПокупателя.ДоговорКонтрагента = &ДоговорКонтрагента | И НАЧАЛОПЕРИОДА(ЗаказПокупателя.Дата, ДЕНЬ) = ЗаказПокупателя.ДатаОплаты | И ЗаказПокупателя.Дата > &ДатаЗапретаРедактирования" |
|||
25
Валидатор
14.11.13
✎
15:28
|
только почему в 8.1 нету константы дата запрета редактирования? мне же нужно будет в параметр потом передавать
Запрос.УстановитьПараметр("ДатаЗапретаРедактирования", Константы..??) |
|||
26
Serg_1960
14.11.13
✎
16:08
|
Я уж не помню как дата запрета в 8.1, но кажется она всю жизнь была в параметрах сеанса и в регистрах, а не в константах...
PS: ну вот почему так - 8.1 всплыла в конце обсуждения. Все уже давно только с позиции 8.2 общаются (а продвинутые - 8.3) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |