Как создает 1С в скуле документ... #92598


#0 by Drunkovsky
Интересует сам процесс на низком уровне, попорядку какие действия (какие хранимый процедуры дергает и с какими параметрами) делаются при создании документа, как айдишник формируется и тд.. вплоть до проведения документа...и ичень интересует принцып раздачи айдишников...
#1 by Кабан мимо пробеган
Profiler не пробовали смотреть?
#2 by Денис2
у, как все запущено...А SQL Prifiler взять?А ИД формируется просто... Последний ИД преобр в число с оснавания 36, +1, опять в число по основанию 36, формируется строка и...
#3 by Drunkovsky
пробовал... но там много всякой фигни , боюсь ошибиться.. тоесть берется максимальный айдишник по всем таблицам и к нему прибавляется 1 ? как это делает 1Ска ? в смысле какие хранимые процедуры за это отвечают...
#4 by Drunkovsky
к чему эта ветка - мне нужно без 1Ски в базе скуля создать документ и его провести... и чтобы потом 1Ска неупала :о)
#5 by Денис2
"берется максимальный айдишник по всем таблицам и к нему прибавляется 1" ну... это жестоко... -1sdnlock, вроде..."ак это делает 1Ска " унутре себя. _я_ не нашел никаких SP на ту тему.
#6 by Drunkovsky
как это она делает внутри себя - алгоритм
#7 by Gloom
"Drunkovsky" в переводе на русский - "божественный ветер"...
#8 by Drunkovsky
эт ты к чему ?
#9 by Денис2
Алгоритм?а. найти ID из 1sdnlockб. Преобразовать в десятичное число.в. добавить1г. преобразовать в 36-рчиное.д. записать в таблицы.е. обновить -1sdnlockг. отпустиьт транзакцию.
#10 by Gloom
)<br" target="_blank">http://www.books.ru/shop/books/8646<br><br>В _1SDNLOCK номера документов лежат, ID - в _1SUIDCTL.Для извлечения / записи - _1sp__1SUIDCTL_GetMaxID / _1sp__1SUIDCTL_SetMaxID
#11 by Денис2
Ну да :-)и только для извлечениязаписаи. но не для добавления 1 :-)
#12 by pnick
т.е. "камикадзе"? :-)
#13 by Drunkovsky
а есть какойто мануал по моему вопросу - про внутренние процессы происходящие в 1С по отношению к скулю ?
#14 by Денис2
Если и есть, то однозначно, не "мануал", поскольку это не дкоументированые процессы.
#15 by Drunkovsky
не придерайся к словампомогите плиз... нужно создать документ в 1С
#16 by Денис2
Сначала прочитать >Потом
#17 by Kp
А чем стандартные, рекамендованные методы (1С как OLE-сервер) не нравяться? Тем более если документ проводится, то на низком уровне, помоему никак.
#18 by Денис2
Наверное, товарисч считает, что на "низком уровне" у него получится более быстро...
#19 by Джинн
Опять мы легких путей не ищем? :)))Создать документ и провести его теоретически можно. Но лично я бы лучше повесился, чем взялся за это. Обеспечить целостность данных при этом очень геморойно. Кода писать нужно кучу. Особенно приятно заполнять всякого рода таблички с графами отбора, пересчитывать итоги регистров и пр.
#20 by Drunkovsky
ну предложи легце из C# создать документ в скулевской базе которую юзает 1С ..весь во внимании
#21 by Kp
Это чем это легче?
#22 by Кабан мимо пробеган
ОЛЕ чем не устраивает?
#23 by AndyHomeS
Согласен с 19.Однако, для некоторых задачь переноса данных в справочники я для себя написал функцию, которая генерит следующий ID.Правда, не знаю как она будет себя вести в случае использования УРИБ.Для каждого справочника существует процедура вида _1sp_SCXXXX_MaxID, возвращает максимальный ID.Кроме того ID хранятся в таблице _1SUIDCTLВот Функция:create function nextid (@ind char)returns char asbeginif ((@ind is null) or (rtrim(@ind)=''))return ' 1 'declare @rp char--RightPart of IDdeclare @cnt int, @adds int, @s char,@out varcharendgo
#24 by Ьарсук
1C, говоришь, пишите? Sehr gut.
#25 by Drunkovsky
у меня на серваке нехватит памяти открывать через оле сотню 1Сок.. это не легче, задача такая , на др С# взаимодействовать с 1С...ОПЯТЬ ВЫ БЛИН С СОВЕТАМИ ОБХОДА ПРОБЛЕМЫ, мне нужно не обойти проблему а решить как создавать доки и их проводить суть изложена в
#26 by Kp
Ну если какой-то отдельный тип документ, то может и можно, посмотрев в 1С обработку проведения, создать свой аналог на C#. Вы посмотрите для примера сколько там внутри проводки документа расчетов, ссылок на справочники. Если все-таки хочется на С# и есть большое количество типов документов или конфигурация 1С изменяется (обновляется), то у вас получиться аналог движка 1С ..."ОПЯТЬ ВЫ БЛИН С СОВЕТАМИ ОБХОДА ПРОБЛЕМЫ, мне нужно не обойти проблему а решить как создавать доки и их проводить" - вот вам и говорят как их более правильно СОЗДАВАТЬ И ПРОВОДИТЬ, а то что вы хотите не прокатит. " у меня на серваке нехватит памяти открывать через оле сотню 1Сок.." Вот на С# и напишите мененджер, к которому сотня задач обращается, а он в своё время одно соединение с 1С использует.P.S. Вы сразу у файлам SQL обращайтесь, минуя сам сервер. Зачем лишняя прослойка нужна.
#27 by Drunkovsky
так я и хочу напрямую в скуль..+ обход оле через юзанье одного экземпляра 1С - нкатит, потомучто 1С однопоточна, более одного задания она з араз не выполнить.+ мне нужно корректно создать документ в скуле
#29 by toypaul
лехко и непринужденно
#30 by Kp
"так я и хочу напрямую в скуль.." - я предложил не в SQL, а в его файлы, минуя SQL сервер. (это риторическое предложение)Не знаю слышали Вы или нет но 1С использует SQL сервер, как хранилище информации в основном. За что 1С и ругают. Вся бизнес часть, расчеты, выборки и прочее делается движком 1С, а не SQL-сервером. Т.е. на стороне клиента!!!Низкоуровневые операции с SQL-сервером не описаны фирмой 1С и не рекомендовани ею к применению. И создание документа может отражаться во многих таблицах. К тому же со сменой релиза движка (недавно например встала необходимость 25 поставить) список этих таблих и правила, фирма 1С может запросто поменять.
#31 by Kp
+ "+ мне нужно корректно создать документ в скуле" - невозможно в принципе. Так как не почем проверить корректность. Нету документа от 1С регламентирующего такой доступ. Все доработки по прямому обращению к SQL серверу, а равно как и DBF - это использование на свой стах и риск. Сегодня работает, а завтра перестало...
#32 by Эстет хренов
+ в вольном переводе "пьяные с небес" :)Намного проще и легче запустить в 1с пользователя-робота который будет сканировать некое хранилище данных и создавать на их основе документы в 1с-среде.
#33 by Drunkovsky
в данный момент так организован интернет магазин.. все хорошо , но в этом есть свой минус - это не моментальность...
#34 by Эстет хренов
>>но в этом есть свой минус - это не моментальность..ну, не все в мире совершенно
#35 by Drunkovsky
а я стремлюсь блин...
#36 by хакер
может тебе web расширение нужно?
#37 by Drunkovsky
есть вэбрасширение - на нем крутится часть интернет магазина - все упирается в то что 1Ска Немногопоточна... для большой нагрузки интернетмагазина нужно десяток 1сок... а если больше - страшно думать...
#38 by Drunkovsky
настало время пьяных
#39 by smaharbA
не советую, у их (модеров) спиртометр по ипи работает ;)
#40 by Drunkovsky
гдето я это уже слышал
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям