Как из модуля документа обратиться к данным, расчитанным в модуле формы? #22102


#0 by Diter
Вопрос собственно в теме. Немного поясню - есть документ "передача ТМЦ в производство", в модуле формы документа есть процедурка, которая расчитывает цену товара по одному из методов партионного учёта. Т.е. осуществляется как бы "списание" партий по ФИФО или ЛИФО (при этом естественно никаких движений в регистрах не возникает). Эта инфа заносится в ТЧ документа в виде цены, НДС и суммы списываемого товара. Потом при проведении документа приходится снова повторять те же действия, что и в модуле формы (уже для реального движения по регистрам). Как обойти это дублирование? Пока идея только одна - условное проведение. Т.е. в первом случае - движений нет а есть расчёт цены и формирование ТЗ с партиями, а во втором - реальное проведение с использованием данных из ТЗ. Может чего ещё есть?
#1 by Кувук
Блин ну сколько можно, ну занес же ты ее в ТЧ документа, оттуда и бери.
#2 by Diter
Не катит Как я занесу в ТЧ документа список партий, по которым я списываю один товар? В виде чего? нескольких строк? А мне это надо?
#3 by Кувук
2. А зачем нескоглько строк? А список значений уже не катит? Конечно не очень корректно в смысле ссылочной целостности, но список значений можно хранить в строковом выражении.
#4 by Diter
Мне нужно хранить как минимум три значения 1. партия 2. списываемое из партии количество 3. списываемая из партии сумма Это что, строка типа "ПН-0001,25,340.00,ПН-002,36,480.00"? Идея конечно имеет право на жизнь, но совсем уж недолгую. Сомневаюсь, что кто то так поступает. Одно дело, когда нужно передавать список из цифр, другое дело, когда фактически ТЗ.
#5 by Мулька
Сумму (цену) не хрен в таблицу заносить - туфта у тебя там. А если потом подправят че нить задним числом ? Или при перепроведении формируй новые цифры (из проводок)
#6 by Skifi
Привет ! А как-же изменение "задним числом" и перепроведение?
#7 by Diter
, Эти цифры в ТЧ документа нужны юзеры для решения - по какому методу проводить списание ТМЦ в производство и служат скорее для сведения. При перепроведении документов (восстановлении последовательности) процедура в модуле формы будет выполняться и цены будут пересчитываться. Хотя при таком раскладе - может вообще стоит отказаться от выдачи информации юзеру о цене списания ТМЦ? С другой стороны - они были бы необходимы для дальнейшего расчёта приблизительной себестоимости продукции а главное для выбора юзером партии ТМЦ при списании. "Играясь" партией-предпочтением можно "играться" себестоимостью сырья. Скажу сразу. Речь не идёт о полноценном учёте производства. Нужен приблизительный расчёт. Поэтому в регистр "ТМЦВПроизводстве" планируется запись цен и сумм именно из документа - т.е. расчётная.
#8 by Мулька
а что будет если две строки с одним ТМЦ занесут ?
#9 by Skifi
Инетересно, как при перепроведении у тебя будет выполняться процедура модуля формы? ""Играясь" партией-предпочтением можно "играться" себестоимостью сырья. " А если у тебя из нескольких партий придется брать? ИМХО: Если им так это нужно, пусть сами поработают и для каждой номенклатурной позиции сами выбирают партию(-и) из которой(-ых) списывать будут.
#10 by Valery
Я сохранял ЗначениеВФайл
#11 by Diter
Запрет на дубли Ну как запустить процедуру из модуля формы документа "со стороны" - не проблема. Говоря про партию-предпочтение я имел в виду, что юзер может сам выбрать партию с которой начнётся списание по одному из методов. Т.е. смотри есть приходы Метод ФИФО, партия-предпочтение - 3 нужно списать 80 тогда писание будет выглядеть так 40+20+20 если партия-предпочтение - отсутствует, тогда списание так 20+30+30 Т.е. списав партию-предпочтение 1С возвращается к схеме списания по ФИФО или ЛОФО, но уже естественно без учёта списанной партии-предпочтение.
#12 by 427
Демонстрация преимущества фра...
#13 by Diter
О чём речь?
#14 by Skifi
Угу..Давай из модуля документа очень легко вызвать процедуру модуля формы документа. ЛОФО - прикольно, но не понял как это. ЗЫ Так занеси твою "партию- предпочтение" в реквизит ТЧ и танцуй от нее. Однофигово, придется пересчитывать при проведении все..
#15 by Diter
Партия-предпочтение и так в ТЧ документа есть. ЛОФО=ЛИФО (опечатка) Так о том и речь, что сейчас приходится дважды распределять партии (первый раз - при расчёте цены ТМЦ, а второй раз при формировании движений), а хочется один раз. Вот и спрашиваю совета, где это лучше сделать - в модуле формы или документа. А как интересно из модуля документа можно вызвать процедуру из модуля формы?
#16 by Skifi
"А как интересно из модуля документа можно вызвать процедуру из модуля формы?" Эт я тебя хотел спрсить..;) "При перепроведении документов (восстановлении последовательности) процедура в модуле формы будет выполняться и цены будут пересчитываться." (с) Diter ;)
#17 by GrayT
У метода провести есть второй параметр
#18 by 427
я тащусь...
#19 by Asmody
мдя... думать, что документ будет проводиться исключительно из своей формы по-меньшей мере наивно, по-большей - в корне не верно.
#20 by Mic
"Хочется 1 раз" Сколько операционистов работает в базе ? Вариант опер. набил документ и ,не проводя , пошел в сортир , за это время его "приоритетную" партию продал другой опер. Вопрос : что сделает твоя прога если ты не пересчитываешь все второй раз?
#21 by Skifi
У меня нет таких прог.. ;)
#22 by Mic
пардон ошибся
#23 by Diter
Где в этом предложении сказано про вызов этой процедуры из модуля документа? При перепроведении данные должны пересчитаться. Документ не удастся провести не перераспределив партии. Короче всё ясно. 427 - в своём репертуаре Остальным спасибо - лишний раз подтвердили мысль высказанную в - нужно делать условное проведение и первый раз пересчитывать цены для оценки их, второй раз пересчитывать и формировать движения. Удачи всем.
#24 by Skifi
Ага. Щаслива! ЗЫ Причем здесь условное проведение и какой раз будет первым, а какой вторым? "Ничего не понимаю" (с)Колобки
#25 by Mic
По поводу вызова процедур и функций формы (дока , справочника ...) / Правда сам не пробовал пока . Была необходимость не было dll ,потом необходимость отпала .
#26 by Mic
помоему ты сам не знаешь чего хочешь.
#27 by Mic
+пардон опять ошибся
#28 by Skifi
Ага..Есть такая. Насколько помню, она из модуля документа не даст вызвать процедуры модуля формы. Там нужно явно контекст передавать..;)
#29 by Asmody
что за шняга? ну FormEx может вызывать что хошь откуда хошь. но в данном случае это не применимо.
#30 by Diter
Первый раз будет расчёт и отображение в ТЧ расчитанный сумм. Движение при этом не формируются (кнопка "расчитать" в форме). Второй раз - пересчёт и формирование движений (кнопка "провести" или программное проведение). Да знаю я. Просто ищу варианты. То что нужно - описано в . Варианты реализации - разные, но конечная цель чётко определена.
#31 by Asmody
это ты чего хочешь в модуле проведения документ менять? садись, 2!
#32 by Skifi
Функционал turbobl входит в состав 1С++. Про формекс - не уверен (отдельно от 1С++ не использовал). Откуда угодно - да, но по моему (могу и ошибаться), для этого нужно явно передавать конекст в котором происходит вызов. В даннлм случае - контекст открытой формы. А из модуля документа, открыть форму того-же документа, ИМХО, проблематично.
#33 by Mic
"Потом при проведении документа приходится снова повторять те же действия, что и в модуле формы (уже для реального движения по регистрам). Как обойти это дублирование?" +"При перепроведении данные должны пересчитаться. Документ не удастся провести не перераспределив партии. " +"Варианты реализации - разные, но конечная цель чётко определена." Здесь есть логика или четкость цели ?
#34 by Mic
+ конечно же к
#35 by Diter
Это почему, интересно? А как по твоему работает документ "Списание ТМЦ"? Там в модуле проведения расчитывается ликвидационная стоимость и вносится в реквизиты ТЧ. Тут ты чего то погарячился с оценками.
#36 by 427
Классная сегодня трава у некоторых
#37 by Skifi
Забей. "У всех так работает" (с)Diter
#38 by Diter
У тебя проблемы с цифрами? :))) Цель такая - дать возможность юзеру осознанно участвовать в формировании себестоимости сырья путём выбора партии-предпочтения. Эту цену (стоимость если хотите) он должен видеть визуально на форме. Всё. На этом цель заканчивается и начинается её реализация.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С