Регистрация Правила Главная форума Поиск |
0
- 22.02.2013 - 08:53
|
Хочу в документе возвратОтПокупателя ( 1с комплексная 7.7 DBF ) сделать одну хитрую штуку. чтобы 1С при проведении документа штатно сделала движения регистров остатки, партии, потом я их "перехватываю" в момент формирования проводок, и беру оттуда суммы чтобы сделать немного другие проводки ( суть - понадобилось чтобы возврат сначала на транзит счет бух операцию делал ) . потом я хочу эти движения убрать ! все получается, но есть один глюк. - движения регистра убираются, если документ провести второй раз. то есть первый раз провожу - движения регистра остаются ! второй раз нажимаю "провести" - все - они убираются . очищение делаю так - в самом конце процедуры ОбработкаПроведения : ОчиститьДвижения("Регистр.ОстаткиТМЦ"); ОчиститьДвижения("Регистр.ПартииНаличие"); | |
1
- 22.02.2013 - 10:27
| Нормальные герои всегда идут в обход? Отредактировать шаблон проводок в предприятии для тебя унизительно? | |
2
- 22.02.2013 - 10:46
| Неа, тут посложней дело, надо если один флажок в документе - то так делать, иначе - по штатному механизму. и само главное - шаблон проводок я отредактирую - но регистры то останутся. а тут надо чтобы проводки были а регистров не было. но проводки пусть штатный механизм комплексной делает - регистры - проводки. потом просто убиваем эти регистры. а проводки я потом подменяю перехватываю в глобальн модуле ( по этому флажку ). но если флажок не установлен - то надо чтобы работал штатный механизм комплексной. то есть - просто лень - хотелось заставить 1сный механизм сработать ( не писать самому списания по ФИО лифо среднее) | |
3
- 22.02.2013 - 12:06
| какой то огород городим!!! оло-ло | |
4
- 22.02.2013 - 12:15
|
нифига не понял, но вот если ты делаешь движения, а потом их читаешь, то это должен быть облом. Все движения надо сразу запоминать в таблицу значений, чтобы их можно было использовать А чем не устраивает автоматическое удаление движений? | |
5
- 22.02.2013 - 12:41
| Слишком просто. | |
6
- 22.02.2013 - 12:52
| Мне надо ( придумал что можно так сделать )- чтобы документ был проведенным, проводки были, но в особом случае - другие( по шаблонам не сделать - надо перехватывать ) , а вот движений регистров чтобы не было. проводки самому рисовать в данном случае неохота - нужно чтобы сработал типовой механизм по шаблонам ( а они базируются на движениях регистров ). автоматическое удаление движений тут не причем вроде. | |
7
- 22.02.2013 - 13:07
| притом, что это работает очень успешно. только единственный глюк - если документ проводится "впервые" то движения не удаляются. потом, если провести его снова ( нажать кнопку провести ) , или выйти и войти и провести, или обработкой провести, движения регистров - пропадают. вот и спрашиваю что за притча такая ?? почему с первого раза не удаются ? и как бы обойти это чтобы с первого разу удалялось | |
8
- 22.02.2013 - 23:58
|
"по шаблонам не сделать - надо перехватывать", "проводки самому рисовать в данном случае неохота - нужно чтобы сработал типовой механизм по шаблонам" Какие то противоречивые желания. Ты хочешь все таки типовые проводки, которые будут нанизаны на движения регистров справочником хозопераций, но без этих самых движений регистров? То есть: - движения -> типовой механизм хозопераций -> проводки -> удалить проводки ? Если так, то почему стали не нужны движения? Может есть другое решение твоего особенного учета? Надо всегда плясать от печки, то есть не от частной проблемы (удалить вдруг ставшие ненужными движения), а от общей задачи (почему вдруг в конфигурации, построенной на регистрах оперативного учета стали не нужны движения регистров, а проводки, основанные на этих движениях - нужны). Согласись, странно? Что это за проводки такие хитрые и движения ненужные? | |
9
- 23.02.2013 - 00:29
| 8-USSR > Ы. Тут интересное кино вырисовывается. Долг покупателя уменьшается как в бухгалтерском, так и в управленческом контуре. Товар проходит только по бух. учету, где-то на "транзитном счете". Интересно, что же это за "транзитный счет"? Уж не 94-й ли? | |
10
- 25.02.2013 - 09:47
| Да, кино интересное, спрашиваю про одно , спрашивают зачем это нужно. вобщем, еще более подробно : счет не 94. Аудиторы потребовали буха чтобы процесс возврата от покупателя проходил через "транзит". придумали такую схему , в том числе и программную ( может и кривовато конечно ). старый документ ВозвратОтПокупателя - делает проводки на транзитный счет 41.8 ( завели в плане счетов ), то есть товар приходит на этот счет , а по регистрам - он не должен приходить , даже на какой нибудь специально созданный "виртуальный" склад. Затем, когда товар реально приходит на склад - завели в конфигурации новый документ , ПриходИзВозврата. который и делает проводки 41.1 - 41.8 и по регистрам приход . Так вот чтобы работал штатный механизм 1с комплексной по регистрам, я в возврате от покупателя - код оставляю как есть - типовой, в глобальнике перехватываю 41.1 по нему - подменяю проводку на 41.8. а затем - в конце обработкипроведения возвратаотпокупателя - очищаю регистры. так они , очищаются, только когда документ проводится 2 ( ДВА ) раза. про это я спрашивал. | |
11
- 25.02.2013 - 10:37
|
Автор, юзай принудительно алгоритм из ОбработкаУдаленияПроведения(). Скорее всего ситуация возникает при перепроведении документа без отмены проведения, тогда регистры не обнуляются до начала процедуры проведения, а потом переписываются уже на результат. | |
12
- 25.02.2013 - 12:06
|
из процедуры обработки проведения ломать результаты этой процедуры - да вы знаете толк в извращениях. в (11) правильный ответ | |
13
- 25.02.2013 - 12:44
| 12-BigBro >в обработкеУдаленияПроведения ничего нужного нет. там код по удалению партий товаров. а результаты процедуры я можно сказать не ломаю, а изменяю :). это же документированная функция - ОчиститьДвижения()- сама 1с ее активно применяет в типовых, но в начале проведения. тем более, что у меня случай когда часть проводко все же остается типовыми, то есть надо очистить движения только по товарам ( такая хотелка ). транзит только по товару, а задолженность клиента и по регистру и по провокдам остается. | |
14
- 25.02.2013 - 13:27
| СпецХ, то, что я описал выше имеет смысл в случае, если надо получить движение по регистру без учета движухи текущего документа, т.е. надо сначала очистить то что он насоздавал, а затем считать (бывает надо забежать по регистрам вперед). В снеговике проще - можно поменять флаг Записывать на Ложь, в 7ке уж лучше вычистить это на уровне алгоритма. | |
15
- 25.02.2013 - 13:37
| 14+ последнее я написал - если нужно вычистить текущее создаваемое при проведении. | |
16
- 25.02.2013 - 13:40
| 14-Том >не подскажешь тогда , как это сделать ( мне как раз и надо забежать по регистрам вперед ). может тогда и не надо этого что я сделал. | |
17
- 25.02.2013 - 14:32
|
16 - вот простой вариант Процедура ОбработкаПроведения() ОчиститьДвижения("Регистр.Новый"); //чтоб считалось, что текущий документ уже не проведен Рег = СоздатьОбъект("Регистр.Новый"); Рег.ВыбратьИтоги(); // - тут можно даты вписать Пока Рег.ПолучитьИтог()=1 Цикл Продолжить; //здесь работаем с результатом КонецЦикла; .... и т.д. | |
18
- 25.02.2013 - 16:21
| 17-Том >Спасибо, но это то чего мне как раз не хотелось делать, обрабатывать самому эти итоги... | |
19
- 25.02.2013 - 17:08
|
Ну так, там вроде можно отборов напхать :))) Можно чёрным запросом работать, но это уже ближе к черной магии | |
20
- 26.02.2013 - 03:46
| Полный изврат, все сделано наоборот. В чем проблема завести специальный регистр "ТоварвВПути", по нему приходное движение и "надеть"требуемые проводки, затем возвратом все закрывать. И никаких упражнений с регистрами "а ля проктолог"и товар видно в регистре. Тем более, что комплексная - это конфигурация оперативного учета + натянутого на регистры бухгалтерского, а не наоборот | |
21
- 26.02.2013 - 09:52
| 20-USSR >согласен насчет доп регистра - можно по нему доп отчеты делать . - а суммы проводок на транзит откуда брать ? или самому рисовать( не хочется изобретать велосипеды - тем более что типовая все это делает ) , или брать из механизма типовой , как я и сделал. весь смысл - чтобы убрать ( чтобы не было ) движений по остаткам и партиям , а бух проводки были. | |
22
- 26.02.2013 - 19:02
| (21)Зачем рисовать? достаточно скопировать требуемые записи справочника хозоперации и подставить в него свой регистр | |
23
- 25.04.2013 - 09:15
| Кстати, докладываю. проблему свою все таки решил как мне надо ( обошел ). давно еще встречал не помню только кто автор идеи. вобщем, при записи документа возврата !!вызывается обработка которая закрывает первоначальный документ, затем я в ней анализирую есть ли требуемые движения регистра, если есть - то в обработке перепровожу изначальный док. ну и в закрытии возврата также прописано немного. Спасибо всем за отклики. могу тут код разместить. | |
| Интернет-форум Краснодарского края и Краснодара |