Зачем 1С выносит проведение документов в общий модуль? #674052


#0 by Aswed
САБЖ
#0 by Aswed
САБЖ
#1 by ДенисЧ
Чтобы общие функции использовать и не дублировать код
#2 by Aswed
Так проведение документа для каждого дока со своими движениями. А общие функции и так модно дергать в модуле проведения дока.
#3 by Нуф-Нуф
потому что.
#4 by ДенисЧ
Привелигированные модули и выполнение на сервере.
#5 by shuhard
зачем ТС выносит себе мозг бессмысленными вопросами ?
#6 by Живой Ископаемый
2 Чтобы когда дело дойдет до изменений алгоритма, то делать это в одном месте, а не в десяти.
#7 by ДенисЧ
Осталось понять, если там что выносить? :-)
#8 by Aswed
Да я док создаю просто, вот думаю писать как обычно в модуле дока или сделать всё "по модному")))) А привилегированные это да. Но вот смотрю УТ 11, и там модули не фига не привилигированные. Остаётся только выполнение на сервере.
#9 by Aswed
)))))))))) офтоп)))))))))
#10 by Aswed
Думал об этом, но по факту что так что так все равно для каждого дока своя процедура проведения.
#11 by Mitriy
а в управляемом приложении проведение по-любому на сервере...
#12 by Mitriy
атавизм, наверное...
#13 by MSII
Это не отменяет наличие общего для этих процедур кода, который целесообразно вынести в общие модули.
#14 by Aswed
А кстати да. На УФ это не плюс.
#15 by Живой Ископаемый
2 ну круто. а что если завтра будет два документа. а процедура по-прежнему одна.
#16 by Ненавижу 1С
потому что 1С не осиливает пока полиморфизм
#17 by Сияющий Асинхраль
Честно сказать никогда такой подход не нравился :-(, потому что вместо пары тысяч строк кода в конкретном доке приходится изучать от десяти тысяч в общих модулях :-(. К тому же всегда помнить надо, что правка в общем модуле может неожиданно вылезти еще в паре-тройке сторонних документов, а в конкретном документе поправил и всегда уверен, что в других доках это не вылезет...
#18 by Живой Ископаемый
2 ну это только у тех, кто не освоил условных операторов
#19 by z80a
Этот кретинский подход тянется еще с 7ки.. Забить и сделать нормально - проведение должно быть в модуле документа.
#20 by acsent
Опять поменялась концепция просто. Вот выйдет бсп 2.2 и снова концепция поменяетяется
#21 by Starhan
а ты условие на тип документа пиши для перестраховки :)
#22 by Wist
на днях ЗиК обновлял... 100+ тысяч строк в глобальнике
#23 by Живой Ископаемый
2 в 8-ке много глобальников
#24 by acsent
правки лучше подписками делать
#25 by Сияющий Асинхраль
Ну, значит за десять лет работы с 1С я так их и не освоил :-(, уже и собственную конфу написал, но вариант искать модуль проведения в конкретном текущем документе мне импонирует гораздо больше чем развлекаться с разбором многотысячных нагромождений строк с многочисленными Если...
#26 by Wist
не может быть :) +1
#27 by HIDDEN MESSAGE
#28 by fisher
+1 Это как раз удобная штука, хотя можно было и более универсально реализовать. Один раз разбираешься и потом спокойно пользуешься.
#29 by acsent
и что тут сложного? Работает - не трожь!
#30 by Ахиллес
Потамушто одинэсник это вершина эволюции человека. Доказательство: Другим людям ещё только предстоит развиться до состояния одинэсников.
#31 by ОбычныйЧеловек
Потому как это правильно (имхо) ибо модуль проведения по хорошему должен быть универсальным (на кой черт одно и тоже городить в каждом модуле документа?!) Любой подход можно испоганить (можно и миллион строк кода написать а можно всего пару тысяч)
#32 by Ахиллес
Совершенный человек пишет совершенный код. Раз так написано с типовой, значит это правильно.
#33 by fisher
В общих модулях целая подборка подобной байды, которая почти в любых доках используется. Суть в том, чтобы сразу получить всю необходимую для проведения информацию минимальным количеством запросов и по возможности единообразно. И больше БД при проведении не дергать.
#34 by Господин ПЖ
особо доставляет прибитые намертво имена табличных частей и прочие приколы...
#35 by wade25
Считай, что это защита от дурака. Если не поймет, не тронет.
#36 by Ахиллес
Ты их хоть когда нибудь читал? Если это расходная накладная... Иначе если это приходная Иначе если это списание Иначе если... нахрена тут это всё? Ну вынеси этот код в сам документ, нахрен эти лестницы в одном модуле?
#37 by Ахиллес
Причем внутри Если код существенно разный.
#38 by Господин ПЖ
чтобы отладка и кастомизация этого дерьма приносила "радость и удовольствие"...
#39 by ОбычныйЧеловек
Я их пишу  - так, что знаю о чем говорю. Универсальный модуль проведения по регистрам бухгалтерии (который "рисует" проводки по любому документу) - занимает чуть больше тысячи строк.
#40 by ОбычныйЧеловек
+39 И никаких Если ИначеЕсли - там нет.
#41 by Kyon8
Угадаю - на вход этому Универсальному модулю нужно подать заполненную ТЗ проводок :)
#42 by Wist
Каждому коду свое место, а общие моменты реализовывать через подписки.
#43 by Ахиллес
Вот не надо тут физдить. Или ты надеешься, что тя никто не проверит? Найдено за 15 сек. Просто первое попавшееся.
#44 by Господин ПЖ
>Каждому коду свое место, а общие моменты реализовывать через подписки. неизвестно когда какая подписка сработает, а это иногда важно
#45 by ОбычныйЧеловек
На входе настройка (чтооткудазачемкогда берется) - утрировано можно конечно сказать что это "ТЗ проводок" Речь шла о том - стоит ли выносить проведение в общий модуль - то, что у 1С пока код в таком виде (который ты привел) не означает, что замысел плохой. У меня лично такого кода нет.
#46 by timurhv
Да ... с общими модулями - постоянное форматирование кода раздражает порой (пробелы заменяются на табуляции и тп), не могут сразу по-человечески сделать?! :)
#47 by Ахиллес
Процедуры записи в регистр имхо только. То есть код, который для всех документов одинаковый. А такие лестницы, как в это человека кто то обидел. Может в метро на ногу наступили и он мстит.
#48 by ОбычныйЧеловек
С этим я согласен.
#49 by Aswed
Добавил голосовалку. ИМХО может и даёт некую универсальность, что в принципе сомнительно, но отлаживать и править потом это значительно труднее чем в одном модуле документа.
#50 by kuromanlich
если грамотно сделать, то допустим партионный учет можно для всех документов править в одном модуле. все заввисит от исполнения и квалификации того, кто пытается потом править
#51 by ОбычныйЧеловек
С точки зрения кодера которому нужно раз в год подправитьдописать проведение одного документа - искать гдечтокак править в общем модуле наверно действительно трудно. Но если ты разрабатываешь конфу (видишь так сказать ее целиком - как одно единое целое) - писАть примерно одно и тоже в каждый модуль документа мягко говоря "не айс".
#52 by z80a
Выносить проведение в бщий модуль ТУПО
#53 by Ахиллес
В том то и дело, что в общий модуль выносятся процедуры для конкретных видов документов, а не обще для всех документов куски кода. Общих для всех документов кусков кода вообще не так много, а сейчас в общих модулях каша из того что там быть должно и того чего не должно. Никакой системы не наблюдается. Поэтому
#54 by Wist
Как уже говорил, общий модуль не для описания уникальных движений, которыми является проведение документа
#55 by ОбычныйЧеловек
Ты смотришь на реализация в типовых конфигурациях... Возможно там и реализовано из рук вон плохо, но это не значит, что нельзя реализовать хорошо. Не всегда движения являются уникальными...Взять к примеру модуль проведения по партиям - кто нить хочет его в каждый документ вписать? (списание,реализация,требование-накладная и т.д.)
#56 by Aswed
Ну пока кроме типовых я подобного слава богу нигде не видел. В самом документе формируют таблицу движений, затем отправляют в общий модуль и тупо там её запихивают в движения. Потом возвращают обратно в док, потом из дока опять отправляют на сервер и выполняют движения там. ИМХО дебилизм какой то.
#57 by Поросенок Петр
Тупые 1Сники запутались в трех березах. Конечно плохо выносить в общий модуль, когда на собвстенном опыте имеешь 2-3 документа с тремя регистрами, а правка типовых заканчивается на отчетах да выгрузках и загрузках. Я бы с удовольствием посмотрел в УПП как движуха по взаиморасчетам дублируется во всех 31 документах.
#58 by ДенисЧ
Ладно взаиморасчёты... А если РАУЗ? :-)
#59 by CepeLLlka
Я против... Мне кажется если величина конфигурации увеличится на 10%, а лёгкость понимания и правки облегчится на 50%, то это уже плюс..
#60 by Jolly Roger
им думать некогда - они бабки зарабатывают...
#61 by Jolly Roger
а в чем проблема сделать модель взаиморасчетов и обращаться к ней из любого документа?..
#62 by Поросенок Петр
Модель? Какая нах модель?
#63 by Кокос
Помню УТ10.3.3.3 почти всё было в модулях объектов.. все быстро и классно настроил. а через 2 года сунулся еле разобрался с этими общими модулями. С другой стороны воспитывает не делать ченжи в типовых вещах а нужные вещи делать надстройками.
#64 by Jolly Roger
во, такие деятели и пишут типовые...
#65 by ОбычныйЧеловек
можно все таки услышать о модели?
#66 by Reaper_1c
Хорошо следовать корпоративному стандарту. У 1С есть собственная технология построения алгоритмов проведения, разработчики ей следуют - это хорошо.
#67 by Jolly Roger
о программной модели чего-либо? ну покурите википедию, что ли...
#68 by Лефмихалыч
это правильно 1. Исключение дублирования кода 2. Меньше объектов захватывать в хранилище для изменения о какой модели речь?
#69 by Лефмихалыч
давай уже или конкретику или одно из двух
#70 by ОбычныйЧеловек
при всем моем к тебе уважение - это называется "слился".
#71 by Jolly Roger
благодарю, конечно, за аванс, но честно, не ожидал что это будет воспринято с таким удивлением...
#72 by Jolly Roger
можешь отсюда начать:
#73 by Лефмихалыч
ага... а теперь расскажи, как это к 1С теоретически прикрутить (элементарный пример в виде cf утер бы мне нос да и всем в этой ветке заодно)
#74 by Aleksey
Плохо когда эти стандарты меняются от релиза к релизу (не факт что улучшаются, просто меняются). И то что вчера было стандарт, сегодня уже моветон и "за такое в приличном обществе могут и в морду дать"
#75 by Jolly Roger
это уже заденьги...
#76 by Aleksey
слив №2?
#77 by Jolly Roger
толсто, Леша...
#78 by DJ Anthon
не знаю, хорошо это или плохо, но то, что проведение в одном месте - мне нравится. иногда очень нужен общий вызов для всех процедур проведения какой-нибудь функции, желательно с отменой дальнейших действий, но в 8ке пока не пригождалось. хотя, наверное, с отладкой будут кое-какие проблемы
#79 by Икогнито
Это понравилось программе моделирования БазыДанных и она предложила такой вариант
#80 by vmv
модуль менеджера надо юзать а технология УПП его еще не знала когда-то, посему в общаках свалены тонны условного кода. что касается выноса в общаки общих алгоритмов проведения документов на Управляемом приложении, то там должны быть именно общие практически БЕЗУСЛОВНЫЕ алгоритмы. Мне всегда хочеться найти разработчиков, которые генерят тексты запросов в общих модулях шаблонами кода без возможности открыть их запросами. Найти и оскопить, ес-но)
#81 by shuhard
тупейший топик ни о чем
#82 by Поросенок Петр
Короче, чтобы документ при проведении не вызывал модуль, надо чтобы он вызывал модель. Вполне здраво на фоне всей ветки.
#83 by IamAlexy
я тоже выношу. и проводки пишу подпиской. а модуль закрываю ключиком. нет ключика - нет движений.
#84 by Лефмихалыч
слив засчитан
#85 by Полотенчик
Ага, захватишь один общий модуль и все другие кодеры курят...
#86 by EvgeniuXP
в обще-то когда надо, тогда и делают. 1С-овцы же делают справочник или регистр туда заносят все, потом обратно возвращают, потом снова :)
#87 by Aswed
Оппа. А про это можно поподробнее? Интересно.
#88 by szhukov
Аналог проведения в общем модуле всего: Class Человеки Производный Class ЧеловекиСКлювом Производный Class Человеки1С Внешняя функция хз в каком модуле: function УбитьВсехЧеловеков(Человеки  Чел) { } А можно ведь просто было написать: ИМХО
#90 by Serginio1
Проведение это плохо, а получение ТаблицыЗначений для загрузки в набор Записей это самое то. Получив на входе подготовленные данные. При этом можно этот набор записывать и из вне модуля документа, установив отбор по регистратору.
#91 by IamAlexy
просто когда появится новая деректива - "помучать" то тебе достаточно будет внести в функцию изменения function УбитьВсехЧеловеков(Человеки  Чел) { } а в другом случае придется вызовы пихать в каждый документ..
#92 by Живой Ископаемый
2 Сейчас так и есть. Просто внутри метода Убить идет вызов УбитьВсехЧеловеков
#93 by szhukov
Опять прийдется перечислять кому какие :)
#94 by Jump
В каждом конкретном случае может быть либо хорошо, либо плохо. В общем - нормально. И такова реальность. Не нравится, пиши нетленку.
#95 by IamAlexy
только прелесть схемы в том что форма причинения страданий, способы и длительность может меняться от сезона к сезону, может меняться порядок  и интенсивность от релиза к релизу.. и лазить по каждому модулю и искать где эти страдания причиняются, а не забыли ли мы их причинить, а изменили ли мы алгоритм оных.. ну нафиг. надо чтобы все было упорядочено..
#96 by МимохожийОднако
Не умение разобраться в чужом коде - проблема программиста.
#97 by Новиков
Мда. Совсем что-то плохеет люд.
#98 by jsmith82
Лень соображать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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