![]() |
![]() |
tracer666 30.09.2004 - 14:26 | 1 С 7.7 Необходимо , чтобы один документ при своем проведении создавал другой документ заполнял, записывал и проводил его и все это было не было видно пользователю . Народ кто что подскажет? |
SnarkHunter 1 - 30.09.2004 - 14:29 | Проблем нет... Только делать это при проведении - моветон... |
tracer666 2 - 30.09.2004 - 14:32 | Хотелось бы более конкретно |
Zebestov 3 - 30.09.2004 - 14:34 | А куда конкретнее? Дальнейшее уже переходит в стадию поминутной оплаты... |
sauxID 4 - 30.09.2004 - 14:35 | Что значит "моветон" |
Фолькишер Беобахтер 5 - 30.09.2004 - 14:37 | 2(4) Это антоним к слову "Бонтон" |
tracer666 6 - 30.09.2004 - 14:38 | (3)С поминутной оплатой ты сюда пришел зря , боюсь ты не будешь пользоваться спросом. |
tracer666 7 - 30.09.2004 - 14:40 | (2) |
Rommick 8 - 30.09.2004 - 14:40 | Посмотри как делается продажа собственной фирме. Там из одной формы два документа получаются: расход и приход. |
sauxID 9 - 30.09.2004 - 14:40 | А вообще при проведении т.е. не посредственно в модуле документа это прокатит ведь ОбработкаПроведения() транзакцию держит даст она ще что нить записать? |
tracer666 10 - 30.09.2004 - 14:42 |
При проведении не работает команда Док.Провести(); поскольку не закрыта транзакция. |
Thrash 11 - 30.09.2004 - 14:43 |
(6) не скажи. все, что конкретнее - это конкретно куски кода, причем на основе твоих данных о виде и реквизитах документа. тебе могут подсказать путь, а вот идти по нему придется тебе. а судя по вопросу - тебе нужно действительно попросить сделать кого-то, ибо пока ты сам дойдешь - много воды утечет и ошибок прибудет. вот тебе самый простой путь (минимум): в обработке проведения, в конце, в блоке обработки исключительных ситуаций в рамке единой транзакции создавай, заполняй и проводи другой документ, при этом воздержись от вывода каких либо сообщений, и будет тебе счастье. |
КРС 12 - 30.09.2004 - 14:45 |
Один, из стандартных вопросов, свидетельствующих о неправильной постановке задачи. |
sauxID 13 - 30.09.2004 - 14:45 | "в рамке единой транзакции" что за термин такой |
aleonov 14 - 30.09.2004 - 14:46 |
(0) В ПриЗаписи() (Есть такая функция, это в модуле документа), там можно создавать документы. У меня например есть что-то типа этого: Процедура ПриЗаписи() Если ПустоеЗначение(Фирма.Субброкер) = 0 Тогда Если ПустоеЗначение(ТекущийДокумент()) = 1 Тогда Субброкерство(Фирма.Субброкер,Фирма.СубброкерКлиент) КонецЕсли; КонецЕсли; КонецПроцедуры Процедура Субброкерство(СФирма,СКлиент) Перем ч,м,с,МВремя; ДокСуббр = СоздатьОбъект("Документ.ПриходДенег"); ДокСуббр.Новый(); МВремя = ТекущееВремя(ч,м,с); ДокСуббр.УстановитьВремя(ч,м,с); ДокСуббр.ДатаДок = ДатаДок; ДокСуббр.Автор = Пользователь.ТекущийЭлемент(); ДокСуббр.Клиент = СКлиент; ДокСуббр.Сумма = Сумма; ДокСуббр.Валюта = Валюта; ДокСуббр.Курс = Курс; ДокСуббр.Дата_Курса = ДатаДок; ДокСуббр.Биржа = Биржа; ДокСуббр.Рынок = Рынок; ДокСуббр.ДокументОснование = ДокументОснование; ДокСуббр.ТипСделки = ТипСделки; //ДокСуббр.БанковскийСчет = СФирма.БанковскийСчет; ДокСуббр.Фирма = СФирма; ДокСуббр.Записать(); ДокСуббр.Провести(); Если ПустоеЗначение(СФирма.Субброкер) = 0 Тогда Субброкерство(СФирма.Субброкер,СФирма.СубброкерКлиент) КонецЕсли КонецПроцедуры |
Thrash 15 - 30.09.2004 - 14:46 |
(10) модуль формы, ПриЗаписи (13) в рамках |
aleonov 16 - 30.09.2004 - 14:48 |
+14 Тут правда есть тонкости, например если документ не был записан, т.е. отказались от записи, это не отработает. Но это все можно корректировать. Здесь в этом примере при проведении документа, у меня на автомате по цепочке проводятся документы в вышестоящие фирмы, для того чтобы были видны в разрезе фирм и фирм-клиентов (но это не суть важно, не забивай голову =)) |
tracer666 17 - 30.09.2004 - 14:49 |
(11) Интересно про обработку исключительных ситуаций,по подробней пожалуста. Суть проблемы следующая есть приходный документ, например Ав. отчет в котором материал пришел со счетом фактурой и это счет фактура должна появится при проведении . Я в общем то выход нашел но он какой то не сексуальный , создал процкедуру в форме и подцепил к кнопке ок |
aleonov 18 - 30.09.2004 - 14:50 | (15) Твоя правда. |
tracer666 19 - 30.09.2004 - 14:52 | (14)Идея бомба , ней только одна проблема,документ может быть записан но не проведен , а подчиненный уже сделал проводки |
aleonov 20 - 30.09.2004 - 14:53 | (19) Ну тебе прямо все на свете рассказывать надо. ;) Подумай тоже чуток. Обработать все можно :) |
Thrash 21 - 30.09.2004 - 14:54 | ЖКК, раздел про Попытка...Исключение...КонецПопытки |
sauxID 22 - 30.09.2004 - 14:55 | (19)А процедура при проведении не прокатит? |
tracer666 23 - 30.09.2004 - 14:56 | (20)Ничего ты таким образом не обработаешь , а если и обработаешь то это будет совсем не сексуально. |
BruceXXX 24 - 30.09.2004 - 14:57 |
Лана. Ловите идею :) 100% рабочая. В обработке проведения делаешь открытьформу() нужного дока с каким-нить параметром. В открываемом доке при открытии с этим параметром делаешь провести() и форма.закрыть(). Результат - при проведении одного дока гарантированно проводится другой. Распровести еще проще :))) |
tracer666 25 - 30.09.2004 - 14:58 | (22) если ты имеешь ввиду ОбработкуПроведения то читай 10 |
aleonov 26 - 30.09.2004 - 14:58 |
(23)Чисто в легкую что угодно сделаю. Если не нравится, то как вариант попробуй замутить со всякими "ввод на основании" может вообще прикольно получиться |
tracer666 27 - 30.09.2004 - 15:00 | 24 я что то такое находил , если можно то хотя бы примерный код. |
warenic 28 - 30.09.2004 - 15:05 |
ДвоИшники, блин... http://www.sinor.ru/~my1c/knowhow/post_drd.html |
sauxID 29 - 30.09.2004 - 15:05 | Ты прикалываешься, найди любую пару документов с Вводом на основании и почитьй "примерный код" (документы напр СЧФ и ЗаписьКП) |
BruceXXX 30 - 30.09.2004 - 15:06 |
я уже все описал :).... лана... Процедура ОбработкаПроведения() ... ... ОткрытьФорму("Документ.ХХХ","Спецпар",0); .... ... КонецПроцедуры в документе ХХХ: Процедура ПриОткрытии() Если Форма.Параметр="Спецпар" тогда ... заполняй док; Записать(); Провести(); Форма.Закрыть(); ... .... КонецПроцедуры |
aleonov 31 - 30.09.2004 - 15:07 | (27) Ну код я сейчас вряд ли наду, но общий смысл таков, что документ может быть введен на основании другого документа, в результате чего он становится как бы подчиненным. К примеру при пометке на удаление главного дока, на автомате можно пометить и все введенные на его основании. Но так либо иначе тебе придется все равно доки формировать автоматически в каком-то месте и самому заполнять. Попробуй как у меня выше описано, не понравится или найдешь серьезные недостатки, так откажешься (это никогда не поздно) |
tracer666 32 - 30.09.2004 - 15:08 | (30)Спасибо. |
BruceXXX 33 - 30.09.2004 - 15:09 | С тебя пиво :))))) |
tracer666 34 - 30.09.2004 - 15:11 | (33)Вопросов нет . Ты щас где. |
BruceXXX 35 - 30.09.2004 - 15:13 | в Москве... |
tracer666 36 - 30.09.2004 - 15:14 | А я в Краснодарском крае . Так что с пивом пожалуй придется подождать. |
BruceXXX 37 - 30.09.2004 - 15:15 | значит опять пить виртуально :))) |
tracer666 38 - 30.09.2004 - 15:21 | Зато здоровее будешь |
BruceXXX 39 - 30.09.2004 - 15:22 | ничего подобного! просто ты будешь виртульно присутствовать а реально пить за твою удачу :))) |
tracer666 40 - 30.09.2004 - 15:25 | Вообще идея мне нравится , можешь начинать а я поприсутствую. |
BruceXXX 41 - 30.09.2004 - 15:27 | не искушай :) я еще на работе. пиво будет вечером |
tracer666 42 - 30.09.2004 - 15:32 | Так и я на работе а пива от этого хочется не меньше . Как погода в Москве? |
BruceXXX 43 - 30.09.2004 - 15:36 |
это да, хочется! а погода - уже осень, солнце и прохладно... |
JUJO 44 - 30.09.2004 - 15:40 |
Я наткнулся на следующие грабли: есть 2 документа Д1 и Д2. При записи Д1 в Д2 переносятся данные. При проведении Д1 из Д2 берутся данные и формируются проводки для Д1. Так вот в чем заквозка: если создать новый Д1 и тут же его провести, то все нормально, НО как только я опять открываю Д1, меняю данные (которые должны сохранится в Д2), то при проведении формируются проводки со старыми данными. Выход для себя нашел только один: Если вновь отрываю Д1 и там что то поменял, то тогда его надо сначала Записать, закрыть, и уж потом открываю и провожу - вот тогда все нормально. Может кто подскажет в чем у меня проблема, или посоветуйте что-нибудь... |
tracer666 45 - 30.09.2004 - 15:40 | А у нас тепло +34 можно загорать. |
Грек 46 - 30.09.2004 - 15:41 | +30: а если снять проведение что будет? |
BruceXXX 47 - 30.09.2004 - 15:43 | (45) везет вам... |
BruceXXX 48 - 30.09.2004 - 15:59 |
(46) Дык усе просто есть проца ОбработкаУдаленияПроведения() в ней и обрабатываешь распроведение :))) |