Имя: Пароль:
1C
 
Оперативный учет
0 Black Dragon
 
11.08.07
13:33
Есть некоторый документ, который делает перерасчет некоторых величин по регистрам прошлым периодом. Есть ли возможность при проведении данного документа делать движения по регистрам датой, отличной от даты текущего документа?
1 IamAlexy
 
11.08.07
13:36
в 7.7 - нет.
2 Black Dragon
 
11.08.07
14:01
В таком случае, если при проведении данного документа создавать необходимое количество документов другого вида с нужными датами, тогда как быть при отмене проведения документа? В случае повторного проведения этого документа будет необходимо отслеживать наличие уже созданных ранее таких документов...
Напряг это, может есть способ проще?
3 insider
 
11.08.07
14:08
(2) можно как ты написал, ну и подчинить те новые доки этому, потом и отслеживать легко.
имхо лучше так.
4 Cthulhu
 
11.08.07
14:08
Не напряг, а методологическая корректность.
Нет - и не надо (если конечно субъект отношения не является моей жертвой).
5 1Сергей
 
11.08.07
14:13
(2,3) При проведении одного документа невозможно проводить другие документы. И при отмене проведения тоже самое
6 Black Dragon
 
11.08.07
14:18
(5) Это почему так? Что такого нигде не написано...
7 insider
 
11.08.07
14:18
(5) спасибо, я знаю :)
зато при записи - можно (и нужно)
8 insider
 
11.08.07
14:18
(6) действительно так
9 IamAlexy
 
11.08.07
14:19
проведение запускать после формирования подчиненных документов.
при распроведении - вынести в журнал отдельну кнопку с процедурой аналогичной.
10 1Сергей
 
11.08.07
14:20
(7) некрасиво это... уж лучше избежать этого
11 insider
 
11.08.07
14:20
+8 правда не совсем:
при отмене проведения МОЖНО юзать Провести() для других доков, при проведении можно выкрутиться с помощью Записать()
12 Cthulhu
 
11.08.07
14:20
(5): Выражайся, плз, аккуратнее. А именно: не "при" а "во время". Потому что "сразу после" - єто тоже "при", а как раз "сразу после" реализовать вполне возможно.
13 insider
 
11.08.07
14:21
(10) а если нет выбора?
14 1Сергей
 
11.08.07
14:21
(12) Я говорю только про штатные методы
15 у лю 427
 
11.08.07
14:22
фигня....
16 1Сергей
 
11.08.07
14:22
(13) Пример?
17 insider
 
11.08.07
14:22
(12) конкретнее, а то запутал своими "до" и "после" :)
18 Cthulhu
 
11.08.07
14:24
(14): я - тоже (хинт: вызов проведения из обработки проведения - это не единственный штатный способ))))
19 insider
 
11.08.07
14:25
(16) учет серийных номеров, две табл. части, вторая - подчиненный док, проводки основного дока зависят от подчиненного, отношение табл. частей "1 к многим".
в этом случае приходилось юзать рекурсию в Записать()

второй пример: в конце месяца нужно перерасчитать по фактическому расходу калькуляции и (требование заказчика!) "размазать" излишки/недостачи, отклонения от норм на имеющиеся доки. делается именно задним числом, но сервисным доком в конце месяца (почти как у автора вообщем-то)
20 insider
 
11.08.07
14:25
(15) ты традиционно информативен :)
21 1Сергей
 
11.08.07
14:30
(18) из хинта понял так:

Процедура ОбработкаПроведения(ПереданноеЗначение)
   
   Если ПереданноеЗначение="Программно" Тогда
       
   Иначе
       Провести(0,"Программно");
   КонецЕсли;

КонецПроцедуры

// Ну и где тут до проведения, а где после?
22 Cthulhu
 
11.08.07
14:42
(21): Неправильно понял. Иди думай дальше.
23 1Сергей
 
11.08.07
14:45
(22) Значит ошибка в хинте :)
24 insider
 
11.08.07
14:45
(22) ты знаешь, я тоже нифига не понял, может расскажешь, что имел ввиду?
25 Cthulhu
 
11.08.07
14:48
(23): не значит.
(24): остальное (разжовывание ленящимся шевелить мозгами самостоятельно) стоит денег, сколько именно - спроси у пети (у__лю...)
26 insider
 
11.08.07
14:51
(25) ну-ну...
27 DrShad
 
11.08.07
15:01
(25) а ты у нас надо полагать Петя №2?
28 insider
 
11.08.07
15:04
(27) они двойняшки :)
P.S. имхо подобный менторский тон не подошел бы даже при офигительно красивом и оригинальном решении, а уж тем более при отсутствии конкретики...
29 DrShad
 
11.08.07
15:06
ну для (15) нет ничего удивительного
а для (25) скажу что здесь денег не заработаешь, а по сему можешь нас покинуть
30 insider
 
11.08.07
15:09
(29)+1
(25) вообще-то ни даром, ни за бабки мне совет по данному вопросу не нужен, т.к. мои способы реализации подобного меня вполне устраивают (я и совета не спрашивал - это к автору ветки). мне непонятной показалась твоя фраза, т.е. слова вроде все знакомые, а вот смысл остался за гранью восприятия.
P.S. юмор насчет денег оставь pit'у, это его фирменная фича, зачем плагиат?
31 Cthulhu
 
11.08.07
15:14
(29): Что могу и чего не могу - я уж как нибудь без твоих советов обойдусь.. а кроме того, кто тебе сказал что я тут и этим деньги зарабатываю?.. это тебя грязно и подло обманули.. :))
(30): верю, что фраза показалась непонятной... и точно так же знаю, что фраза в том не виновата. :)) (а насчет денег - так я, если ты не заметил, и так оставил именно пете, так что никакого плагиата))))
32 insider
 
11.08.07
15:16
(31) ага, т.е. платные советы ты даешь, но деньги отсылать Пете? :)
или ты его менеджер? :))
33 DrShad
 
11.08.07
15:22
(32)+1
34 1Сергей
 
11.08.07
15:23
Коммерсанты, блин...
http://parus.novokuz.net/parus348790.html
0,99 $ просят за пример
35 1Сергей
 
11.08.07
15:25
Если так, то это самы дебильный способ:
Процедура ОбработкаПроведения()
   Док=СоздатьОбъект("Документ.Документ2");
   Док.Новый();
   //Заполняем реквизиты...
   Док.Записать();
   ОткрытьФормуМодально(Док.ТекущийДокумент(),"ПровестиИЗакрыть",0);
КонецПроцедуры
36 DrShad
 
11.08.07
15:29
пипец
37 Cthulhu
 
11.08.07
15:41
(32): ни то ни другое.. ))))
(35): угумс, редкостный дебилизм..
38 DrShad
 
11.08.07
15:45
(35) тока придумал его ты сам
39 1Сергей
 
11.08.07
15:48
(38)
http://www.infostart.ru/articles/67/?print=1

З.Ы. НЕНАВИЖУ ПРОГРАММИСТОВ!
40 DrShad
 
11.08.07
15:52
(39) а кто тебе сказал что мигание экрана это правильно?
41 DrShad
 
11.08.07
15:54
а на кнопку "ОК" повесить процедуру, в которой собственно и сделать все, включая проведение основного дока, уже не катит?
42 Cthulhu
 
11.08.07
15:57
(38): эка у тебя фантазия педалирована воспаленным комплексом неполноценности.. ты присмотрись, автор дебилизма (35) -- вовсе не я.. так что двойка тебе за внимательность, иди гуляй дальше, пацан..
43 1Сергей
 
11.08.07
15:59
(41) программное проведение?
44 DrShad
 
11.08.07
15:59
(42) а я что тебе по поводу (35) что то сказал? дедушка
45 DrShad
 
11.08.07
16:00
(43) такие документы не создаются для группового перепроведения
46 1Сергей
 
11.08.07
16:00
(45) Наивный бурятский юноша...
47 1Сергей
 
11.08.07
16:03
(40) насчет мигания почитай коменты в той же ссылке
48 Cthulhu
 
11.08.07
16:03
(44): слово "дебилизм" в данном эпизоде разговора применяется именно к изложенному в (35), в ином случае была бы необходима оговорка -- хотя в данном конкретном случае наблюдаю уже иной дебилизм, а именно отягощенную идиосинкразией одержимость попытками немотивированного обвинения собседника в авторстве дебилизма(-ов).. да ты не ёрзай и успокойся - лицо сохранишь.. :))
49 DrShad
 
11.08.07
16:05
млин кто-то из нас наверное накурился или день дятла продолжается
50 1Сергей
 
11.08.07
16:07
(48) пост 38 был адресован мне, как я понял :)
51 Cthulhu
 
11.08.07
16:08
(50): Упс, mea culpa :)))
52 1Сергей
 
11.08.07
16:09
(51) скажи штатный способ проведния одного дока из модуля другого
53 DrShad
 
11.08.07
16:10
(47) на счет мигания аж в коментах проблема решена, но ты ведь кусок кода выложил без поправки
54 1Сергей
 
11.08.07
16:21
(51) Да сцылку хотябы! Ну что, жалко что ли?
55 DrShad
 
11.08.07
16:29
(54) ну если нельзя использовать метод Провести() в модуле документа, а в модуле формы можно, то что тебе еще нужно
56 1Сергей
 
11.08.07
16:33
(55) он сказал, что знает недибильный способ
57 DrShad
 
11.08.07
16:36
а кто сказал что подменив в кнопке порядок вызова процедур и добавив свои действия это дебелизм? или не штатный метод
58 1Сергей
 
11.08.07
16:40
(57) мы это уже обсуждали... н-е-п-р-и-е-м-л-е-м-о
59 DrShad
 
11.08.07
16:41
очень даже приемлимо, если подумать то и проблему группового перепроведения можно решить
60 1Сергей
 
11.08.07
16:41
(57) ладно, фиг с ним, будем делать по дэбильному
61 Cthulhu
 
11.08.07
16:42
(52): У тебя недопонимание с самого начала. (12) перечти вдумчиво..
62 DrShad
 
11.08.07
16:42
(60) а тебе то это зачем?
63 1Сергей
 
11.08.07
16:44
(61) "сразу после" не получится, разве что как говорит DrShad
64 DrShad
 
11.08.07
16:44
(61) на сколько я понял, то проблема была в том что основной док строит свои проводки на основании тех движений, которые сделают подчиненные, а по сему "сразу после" не катит
65 Cthulhu
 
11.08.07
16:45
(58): не видел ни одного убедительного аргумента в пользу того, что предлагаемый DrShad штатный способ (один из) решения проблемы однозначно неприемлем. Точнее было бы выразиться так: у этого способа есть недостатки, которые преодолимы штатными же способами. ;)
66 DrShad
 
11.08.07
16:45
(63) вынеси процедуру вызываемую кнопкой "ОК" в глобальный модуль и тогда переделав немного обработку группового перепроведения можно все решить
67 Cthulhu
 
11.08.07
16:46
(64): "сразу перед" в контексте (12) - это тоже "при" ;))
68 DrShad
 
11.08.07
16:47
(67) так то что я ему предлагаю это и есть "сразу перед", только более детально описано
69 1Сергей
 
11.08.07
16:48
(63) хотя нет, помню читал здесь что-то такое, что запускается какая-то обработка последней строкой в ОбработкеПроведения(), которая досоздает и допроводит подчиненные документы. Но сначала она должна дождаться завершения проведения первого документа... Дебилизм еще хуже чем то как я показал в (35)
70 1Сергей
 
11.08.07
16:49
(65) А встроенное восстановление последовательности?
71 DrShad
 
11.08.07
16:51
(70) тоже прийдется переделать
72 1Сергей
 
11.08.07
16:54
Большой минус метода "невидимого открытия документа для проведения" в том, что если при проведении первого документ возникнит ошибка, которая отменит проведение, не отменит проведения подчиненных. И транзации тут не помогут, т.к. при каждом проведении документа создается новая транзакция автоматически.
73 1Сергей
 
11.08.07
16:55
(71) :)
74 DrShad
 
11.08.07
16:57
строй условия
75 Cthulhu
 
11.08.07
17:05
(72): Даладно. Как будто метод "Провести" не возвращает ничего. Или как будто вера не позволяет на основании информации об успешности проведения каждого документа "цепочки" осуществлять принцип "все или ничего"...
76 у лю 427
 
11.08.07
20:50
ВСЕ ФИГНЯ....

неверна сама методология, которая требует прведения кучи вспомогательных документов при проведении основного... Не лучше ли поменять методику?


P.S. у 8 есть возможность делать движения документа датами, отличными от даты документа...
А теперь, тупые одноЭсники, включите мосх (если он есть) и прикиньте, откуда на вас свалится бАльььшая задница в этом случае...
77 Cthulhu
 
12.08.07
00:43
(76): Н, Петь, куча случаев когда это (порождение документов и их проведение) - правильная методология. Но - именно документов с их движениями на учетных регистрах, на которых собираются и фиксируются результаты хозяйственной деятельности. Чаще всего - в управленчес.. кхм, в нутыпонялкаком учете (навскидку: многофирменка с торговлей чужими товарами при фин.учете по каждой фирме).. а что в 8-ке учет одномоментной хозяйственной операции учетными движениями за разные даты.. это ж не одна задница получится, а море задниц..
ЗЫ: кстати, Петь, методологический вопрос про контроль остатков при проведении задним числом.. почему фирма одинэс в типовые не добавила в таких случаях тупо перебор подокументный движений вперед от проводимого документа до ТА с уточнением доступного остатка как минимума доступного на сам документ и на конец любого дока (из двигающихт остатки по товарам проводимого дока) между проводимым и ТА?.. ну и по константе врубать-вырубать такой механизьм, а проводишь задом будь мол готов ждать.... э?.. кстати, скажи что там из негатива может получиться?..
78 jcage
 
12.08.07
00:52
(76) Не фзди. Есть случаи, когда очень удобно использовать возможность проведения на дату, отличную от даты документа. Например при бронировании номеров в гостинице - движения делать с периодом, равным дате бронирования.
Программист всегда исправляет последнюю ошибку.