|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
В 1С ссылки хранятся в БД в бинарном виде, например так 0x898BBCAEC5369A3611E6DC86B0D27F78, а 1С их отдает в виде строки вот так "85cbd3bd-06ec-11e6-a37b-14dae906a3f2", а как реализован этот механизм преобразования туда, а потом обратно? Так вроде работает: SELECT CONVERT(binary(16), 'b0d27f78-dc86-11e6-898b-bcaec5369a36', 0) AS GUID;, но насколько это точно не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:02 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, обратно вот такая функция подходит, опубликована была на SQL.ru, кто автор не помню : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Такая функция нужна, что бы в 1С не получать ComeSafeAray Потом в 1С пишите: UID = ADOНаборДанныхТовары.Fields(0).Value; Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(UID)); Вполне себе работает, тормозная правда немного на больших объемах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:32 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
спасибо, но мне нужна прямая работа с sql server туда и обратно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:37 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, ну так это она и есть в направлении обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:43 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, т.е. эта функция вернет вам строку вида: "85cbd3bd-06ec-11e6-a37b-14dae906a3f2" из вашего же селекта: SELECT CONVERT(binary(16), 'b0d27f78-dc86-11e6-898b-bcaec5369a36', 0) AS GUID ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:45 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhvsc2r2bey, т.е. эта функция вернет вам строку вида: "85cbd3bd-06ec-11e6-a37b-14dae906a3f2" из вашего же селекта: SELECT CONVERT(binary(16), 'b0d27f78-dc86-11e6-898b-bcaec5369a36', 0) AS GUID да, я понял, но насколько SELECT CONVERT(binary(16), 'b0d27f78-dc86-11e6-898b-bcaec5369a36', 0) AS GUID; дает точный 85cbd3bd-06ec-11e6-a37b-14dae906a3f2? ЗЫ 1С знает толк в извращениях ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:48 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
на инфостате похожее было https://forum.infostart.ru/forum9/topic183950/ но там CONVERT не используется ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:49 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyна инфостате похожее было https://forum.infostart.ru/forum9/topic183950/ но там CONVERT не используется Эта еще тормознее так как в ней используеться fn_sqlvarbasetostr. Вы это читали, там я давал ссылку на что есть Guid в 1С, там все по полочкам разложено. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:54 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, и вообще fn_sqlvarbasetostr не документирована. Когда-то тоже с помощью нее пытался преобразования делать. Но нафиг, если binary в строку преобразовывается и обратно, а дальше просто местами меняешь значения. Подобные функции и на 1С кстати есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:11 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Вот эта функция на 1С: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
взято отсюда . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhvsc2r2bey, Вот эта функция на 1С: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
взято отсюда . Вот еще нашел тут тоже накручено http://dubraver.ru/?page_id=146 я не 1С поэтому приходится работать напрямую со скулем тут три задачи, вытянуть бинарник, перевести его в строку перевести строку в бинарник и сгенерировать ссылку и кинуть ее в таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:31 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyтут три задачи, вытянуть бинарник, перевести его в строку перевести строку в бинарник и сгенерировать ссылку и кинуть ее в таблицу И на фига это все? Т.е. зачем это гонять туда сюда, смысл какой? Получить представление в 1С ном виде, что бы потом 1С ники могли использовать вот это: ПолучитьСсылку(Новый УникальныйИдентификатор(UID))? SQL та это нафиг не надо, SQL чистый бинарник подсовываешь, без всяких преобразований вот в таком виде: SELECT * FROM _Reference16990 WHERE _IDRref = 0x898BBCAEC5369A3611E6DC86B0D27F78 и все работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:42 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
потому что 1С не справляется со своим рестом и бинарник нельзя в json засунуть ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:53 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
прилетает вот такая хрень Код: javascript 1. 2. 3. 4. 5. 6. 7. 8.
засунь vehicle в бинарное поле ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 11:54 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
а vehicle это ссылка на элемент другого справочника ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:00 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Да я понял. Та функция которую я дал она вам в обратку. 100% то, что надо. Которая же из 1с делает представление в sql у меня не было необходимости, поэтому проверьте просто запросом, найдет idrref или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:09 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Я так вызвал функцию и параметры, насколько правильно я не знаю Код: sql 1.
Вернул 3c29ac92-4a0b-11e8-9414-bcaec5369a36 а а вот SELECT CONVERT(binary(16), '3c29ac92-4a0b-11e8-9414-bcaec5369a36', 0) AS GUID; Вернул 0x33433239414339322D344130422D3131 т.е. неправильно или я неправильно передал параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:21 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, У вас гуид получить из полученой функцией sp_getid строки не получиться. Вам же надо выкинутьиз строки минусы, переставить местами литералы и добавить в начало 0x. Вон как я на 1с вам функцию скинул. Там в этой статье есть нужная вам функция на sql которая это делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:37 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, вот она на 1С которую в SQL переписать можно 1 к 1: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:21 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:40 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, вот вам преобразование туда обратно: declare @GUIDasStr char(36),@GUID1С char(36); SET @GUID1С = '3c29ac92-4a0b-11e8-9414-bcaec5369a36' SET @GUIDasStr ='0x'+SUBSTRING(@GUID1С,20,4)+SUBSTRING(@GUID1С,25,13)+SUBSTRING(@GUID1С,15,4)+SUBSTRING(@GUID1С,10,4)+SUBSTRING(@GUID1С,1,8) SELECT dbo.sp_getid(CONVERT(binary(16),@GUIDasStr,1)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhv, вы маньяк! ) Про эту ссылку https://infostart.ru/public/236956/ ? Она ужасна, там нет чистого sql ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:47 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, причем без всяких недокументированных fn_sqlvarbasetostr и fn_varbintohexstr ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:49 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я правильно понял: Код: php 1.
Зн - это GUID, мы берем 33 символа справа, потом из полученного результата 32 символа слева и конкатенируем с 0x ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:50 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я про fn_sqlvarbasetostr и fn_varbintohexstr и не слышал, пока не столкнулся с 1С, я использовал https://docs.microsoft.com/ru-ru/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017 лучше не бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:51 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhv, Код: php 1.
гуид это, который мы получили из Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 13:55 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyя правильно понял: Код: php 1.
Зн - это GUID, мы берем 33 символа справа, потом из полученного результата 32 символа слева и конкатенируем с 0x ну да, только эта функция преобразовывает значение полученное 1С ной функцией ЗначениеВСтрокуВнутр(). У вас та такой нет, поэтому вам она не нужна. Просто в начале не понятно было, что вам нужно, я думал вы в 1С пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:04 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyvitkhv, Код: php 1.
гуид это, который мы получили из Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
да. Функция полностью выглядит так: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:08 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
[quot vitkhv]sc2r2beyvitkhv, да. Функция полностью выглядит так: Код: sql 1. 2. 3. 4. 5.
Сейчас синтаксис 1С выучу )) авторгуид = Строка(докссылка.УникальныйИдентификатор()); - это, например, Код: php 1.
авторДля й = 1 по СтрЧислоВхождений(гуид,"-") Цикл гуид = СтрЗаменить(гуид,"-", Символы.ПС); КонецЦикла; Это непонятно, зачем цикл, чтобы удалить "-", т.е. должно получится "50cb4263dd5c11e6898bbcaec5369a36" ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:15 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, этот цикл преобразовывает 50cb4263-dd5c-11e6-898b-bcaec5369a36 в: 50cb4263 dd5c 11e6 898b bcaec5369a36 итого 5 строк. а потом просто строчку по номеру получает и в новом порядке их конкатенирует с добавлением 0x ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:18 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhvsc2r2bey, этот цикл преобразовывает 50cb4263-dd5c-11e6-898b-bcaec5369a36 в: 50cb4263 dd5c 11e6 898b bcaec5369a36 итого 5 строк. а потом просто строчку по номеру получает и в новом порядке их конкатенирует с добавлением 0x т.е. это получается массив/коллекция, его собираем в строку "0х" + "898bbcaec5369a3611e6dd5c50cb4263" Получилось, спасибо!!! Ты гений :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:27 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, да но только в 1С это работа с объектом текст, можно и через массив/коллекцию в той же 1С. С текстом просто быстрее будет. Еще быстрее если со строкой работать: Код: sql 1.
в 1С даже синтаксис такой же. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 14:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhv, большое человеческое спасибо, я много дополнительного для себя подчерпнул! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 15:30 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, всегда пожалуйста. Дальше пишу как для вас, так и заметку для себя. Функцию по получению UID из GUID написал свою: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
работает на 10-15% быстрее вот этой функции неизвестного автора: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Думаю автор использовал преобразование binary через uniqueidentifier к CHAR , потому как видимо не разобрался как напрямую конвертировать binary в CHAR, CAST например это делать не умеет, только CONVERTс доп. параметром. В моем варианте функции можно использовать вместо "+" для конкатенации функцию CONCAT (c 2012 MSSQL) или что еще лучше CONCAT_WS (c 2017 MSSQL) будет еще на 2-3% быстрее: Код: sql 1.
Вроде кажется, что такое 2-3 %, а на самом деле в нескольких местах выжмешь эти проценты и вот весь код начинает работать на 30-50% быстрее. Поэтому я такими вещами лучше не пренебрегать. Ну и еще для тренировки написал функцию преобразования аналогичную: Код: sql 1. 2. 3. 4. 5.
но на TSQL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Кстати самая тормозная часть этого запроса, желательно переписать: Код: sql 1.
писал чтобы потренироваться в использовании табличной функции STRING_SPLIT. Функция удобная конечно, но для наших целей намного быстрее будет функция: Код: sql 1.
или если MSSQL 2017 через CONCAT_WS вместо "+". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2018, 10:10 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
что-то все некорректно работает ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 17:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyчто-то все некорректно работает Ну так проверьте почему? Что выдаст такой запрос: Код: sql 1. 2. 3. 4. 5.
Где _ReferenceXXX это таблица справочника (вместо XXX номер), к которого должен формироваться запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 20:37 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Если не знаете название таблицы, в 1С в табло выполните такой код: Код: sql 1.
вместо НужныйМнеСправочник напишите нужный справочник. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 20:58 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Для общей проверки работоспособности функции в табло выпоните такой код: Код: sql 1.
вместо НужныйМнеСправочник напишите нужный справочник. вместо 00000014622 подставьте код имеющийся в НужномСправочнике. Результат выполнения этой функции, а получиться что то подобное: "3c29ac92-4a0b-11e8-9414-bcaec5369a36" вставляете в переменную @GUID1С вышеуказанного SQL запроса, соответственно вместо _ReferenceXXX подставляете результат функции ПолучитьСтруктуруХранения. Табло вызывается в меню->сервис->табло Выполняете, смотрите думаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 21:08 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Напомню еще раз я не 1Сник, поэтому она далеко от меня, есть только SQL Server и веб сервер Я получал GUID обоими функциями, потом на php преобразую в бинарник и пишу в базу, смотрю в 1С запись есть и все данные подтягиваются, но при при попытке открыть элемент справочника пишет объект не найден ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 09:55 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, авторпотом на php преобразую в бинарник Как вы его на PHP преобразуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 10:31 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyпишет объект не найден там д.б. в таком виде: 193 86f0b888e3fcbec611e873b98345ccc8 первая цифра до пробела это и есть номер таблицы. т.е. запрос в данном случае будет выглядеть так SELECT * FROM _Refernce193, а дальше неправильно преобразованный ГУИД 86f0b888e3fcbec611e873b98345ccc8 т.е. вам бы найти исходник GUID, и посмотреть в каком месте происходит неверное преобразование. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 10:40 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
для того,чтобы точно убедиться, что там справочник выполните такой запрос: Код: sql 1. 2. 3.
где XXX номер таблицы из битой ссылки. 193 86f0b888e3fcbec611e873b98345ccc8 в данном случае 193. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 10:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Ну а дальше уже выполняете вот это: Код: sql 1. 2. 3. 4. 5.
где @GUID1С берете из вашего файла обмена, а вместо _ReferenceXXX подставляете таблицу полученную в результате выполнения предыдущего запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 10:51 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
там что-то с 1С разбираются, как там все под капотом работает ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 14:25 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyтам что-то с 1С разбираются, как там все под капотом работает Там видимо данные не догружаются, т.е. это не справочник не загрузился а, реквизит из этого справочника. Т.е. сам справочник загрузился нормально (иначе вы бы вообще ничего не увидели), а вот на то, что ссылается реквизит не загрузилось (другой справочник или перечисление или ПВХ или Документ). Поэтому я и говорю, выполните запрос который я дал и посмотрите есть ли вообще данные в таблице и что это за таблица. В общем донастраивайте обмен. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 14:46 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey как там все под капотом работает Ну удачи им, дусмаю через полгодика разберутся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 14:48 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
надеюсь быстрее, данные падают в БД правильные, в 1С отображаются, а вот как они подтягиваются это магия )) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:04 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey как они подтягиваются это магия )) Честно говоря не понял про что вы, и причем здесь функции преобразования GUID. Если вы про ссылку на реквизит, то обычный SELECT_Description FROM _ReferenceXXX WHERE _IDRref = @1, где @1 ссылка которая у вас битая и все это завернуто в sp_executesql или sp_execute. Если в профайлере не видите обращений, значит данные закешировались уже на сервере 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:12 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я тоже вас понимаю через раз ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:23 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
вот прилетают данные: Код: javascript 1. 2. 3. 4. 5. 6.
вот в SQL Server ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
а вот в 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:27 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
т.е. он подтягивает и отображает данные а дальше непонятно как работает ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:28 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyт.е. он подтягивает и отображает данные а дальше непонятно как работает В списке где ТС есть надпись объект не найден? Это у вас регистр сведений _InfoRgXXX, периодический. Он подчинен регситратору, т.е. поле _RecorderRRef в этой таблице есть? И вообще наименование всех полей в таблице покажите. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:46 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:53 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
_Fld8290RRef - это ссылка на ТС ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 15:54 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, 1. Он у вас даже не периодический, поля _Period нет. 2. Запустите 1С в режиме Обычного приложения с /RunModeOrdinaryApplication (Дополнительные параметры запуска в списке ИБ при запуске 1С, кнопка изменить). 3. В режиме обычного приложения запустите табло. Меню-Сервис-Табло. 3. В табло выполните команду Справочники.ТранспортныеСредства.ПолучитьСсылку(Новый УникальныйИдентификатор("3c29ac92-4a0b-11e8-9414-bcaec5369a36")) Сообщите результат ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:10 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Справочники.уатТС.ПолучитьСсылку(Новый УникальныйИдентификатор("3c29ac92-4a0b-11e8-9414-bcaec5369a36")) ИВЕКО 672 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:15 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, теперь в табло ПолучитьСтруктуруХраненияБазыДанных().Найти("Справочник.уатТС","ИмяТаблицы").ИмяТаблицыХранения что выдаст? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:20 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Ошибка {Справочник.уатПараметрыВыработки.МодульМенеджера(89,33)}: Переменная не определена (уатОбновлениеИнформационнойБазы) СпрОбъект.ЕдиницаИзмерения = <<?>>уатОбновлениеИнформационнойБазы.НайтиСоздатьЕдиницу(ОбластьНастроек.Область(НомерСтроки, 2, НомерСтроки, 2).Текст, ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:22 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyОшибка {Справочник.уатПараметрыВыработки.МодульМенеджера(89,33)}: Переменная не определена (уатОбновлениеИнформационнойБазы) СпрОбъект.ЕдиницаИзмерения = <<?>>уатОбновлениеИнформационнойБазы.НайтиСоздатьЕдиницу(ОбластьНастроек.Область(НомерСтроки, 2, НомерСтроки, 2).Текст, Это у вас такая ошибка после запуска Код: sql 1.
в табло ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:29 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, такого быть не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:29 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
да ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:30 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, тогда вам надо идти в модуль менеджера и комментировать там весь код, иначе мы никогда не узнаем имя таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:31 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, либо запускать профайлер и открыть в этот момент справочник транспортные средства. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:32 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, ну или запустить в табло такой код Справочники.уатТС.НайтиПоКоду("111111111111") снимая в этот момент трассу профайлера. Там будет такой код: Код: sql 1. 2. 3. 4.
где _ReferenceXXX то что нам надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:38 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Соответственно дальше запускаем вот это: Код: sql 1. 2. 3. 4. 5.
где _ReferenceXXX справочник уатТС ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 16:57 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторснимая в этот момент трассу профайлера я вообще не понимаю что это ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:13 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
сначала делали REST средствами 1С все работало, но 1С падала и тормозила постоянно, вот решили в обход и тут такие грабли на скрине когда раст был 1с ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:15 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5.
этот код нормально отрабатывает, отдает строку из БД ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:16 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
вот этот метод https://yadi.sk/d/CSrfPmpngQdhNQ ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:18 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey Код: sql 1. 2. 3. 4. 5.
этот код нормально отрабатывает, отдает строку из БД Значит функция преобразования GUID которую я вам дал работает правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:20 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
ну да, я сразу это сказал, проблема как эта хрень читается в 1С )) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:22 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyну да, я сразу это сказал, проблема как эта хрень читается в 1С )) Она и в 1С читается правильно. Видимо в справочнике ТС, ссылочные поля заполнены битыми ссылками. Структуру справочника ТС пришлите. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:24 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
ну так родной рест писал все открывалось(оба скрина выше), а мои данные нет :( Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, сделайте тестирование и исправление, пункт проверка ссылочной целостности. Это в конфигураторе меню-администрирование-тестирование и исправление ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
выходит, что мой код побил ссылки? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:29 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyну так родной рест писал все открывалось(оба скрина выше), а мои данные нет :( ну так не понятно где у вас сбой, на каком уровне вы эти ссылки перегоняете туда сюда. Может где-то в одну сторону сделали преобразование, в другую нет. Вообще бы по идее снять трассу того, что ваш код преобразования делает в профайлере, там хотя бы понятнее станет, что происходит. Скорей всего в одном из этих полей неправильно преобразованная ссылка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:38 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyвыходит, что мой код побил ссылки? Да нет , я думаю где то не недогружает какие то данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:39 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyвыходит, что мой код побил ссылки? Она такое сообщение выдает в случае если в поле записанная ссылка на не существующий элемент. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:40 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Возьмите откройте справочник ТС и откройте ИВЕКО 672 . Посмотрите на каком поле битая ссылка. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:43 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторВообще бы по идее снять трассу того, что ваш код преобразования делает в профайлере, там хотя бы понятнее станет, что происходит. по идее не совсем понимаю преобразование в одну сторону, мне приложение присылает вот такой массив: Код: javascript 1. 2. 3. 4. 5. 6.
я записываю в БД: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
результат известен ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я тоже понимаю, что чего-то не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:47 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
сделайте так Код: sql 1. 2. 3. 4. 5.
Посмотрите, будет после этого ругаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:50 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
все удалил (строк обработано: 19010) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:52 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
в таблице записи остались? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:53 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, если остались откройте регистр в 1С и посмотрите будет ли ругаться, на те поля которые вы не вносили своим кодом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:55 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
нет ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:56 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, а еще лучше - внесите одну запись старым алгоритмом и одну запись новым, сравните чем отличаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:57 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
старым не смогу, это с мобильного пишется через рест 1с у меня нет доступа к нему, могу только новым ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 17:59 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Судя по коду у вас там ещё и координаты пишутся, он скорей всего обращается при открытии к другому справочнику или РС и пишет вам что ссылка битая, т.к. получает ее через идентификатор. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:14 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
В это регистр вы все правильно пишите, смотрите что он пытается при открытии получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:16 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Попробуйте в отладчике поставить остановку по ошибке, и вызвать опять ошибку, м.б. покажет на какой строке ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:23 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Второй вариант, запустить профайлер и посмотреть какой запрос вызывает ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Кстати а ну как добавьте в этот регистр руками запись из 1С. Будет такую ошибку выдавать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:30 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторПопробуйте в отладчике поставить остановку по ошибке, и вызвать опять ошибку, м.б. покажет на какой строке ошибка. я не знаю как это сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:37 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторВторой вариант, запустить профайлер и посмотреть какой запрос вызывает ошибку. что вы имеете ввиду? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:38 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторКстати а ну как добавьте в этот регистр руками запись из 1С. Будет такую ошибку выдавать? нет ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:38 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
руками стрелкой выделена разницы нет ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 18:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Значит дальше смотрите алгоритм в менеджере записи регистра сведений, он кудан что-то ещё добавляет при записи, а потом при открытии это считывает. Кстати не помню есть ли подписка на событие для записи РС, если есть то ещё код м.б. в подписке. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 19:37 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, А вообще лучше трассу снять в замере производительности или на крайний случай в профайлере, но вы не тем ни тем пользоваться не умеете. Профайлер та надо знать, как использовать, это же инструмент без которого как без рук в MSSQL. Почему вы им не пользуетесь? Я с помощью профайлера полностью приложение раскручивал, которое без документации было. А админ у меня не зная 1С только с помощью профайлера отследил, что и в какие таблички кладется не используя ПолучитьСтруктуруХранения(), причем отслеживал механизмы регистров расчетов, самое сложное, что есть в 1С. Я честно говоря был под впечатлением. Я та думал ну умеет он там какие-то простенькие селекты писать. А потом узнал уже, что у него сертификаты по скулю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 19:46 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, Ещё можно поставить признак остановка по ошибке, в конфигурационных, может остановиться на ошибке и тогда увидим к какой таблице обращение идёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 19:59 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторЗначит дальше смотрите алгоритм в менеджере записи регистра сведений, он кудан что-то ещё добавляет при записи, а потом при открытии это считывает. Кстати не помню есть ли подписка на событие для записи РС, если есть то ещё код м.б. в подписке. как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 20:01 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyавторПопробуйте в отладчике поставить остановку по ошибке, и вызвать опять ошибку, м.б. покажет на какой строке ошибка. я не знаю как это сделать В Гугле посмотрите, там инструкций полный интернет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 20:02 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторЕщё можно поставить признак остановка по ошибке, в конфигурационных, может остановиться на ошибке и тогда увидим к какой таблице обращение идёт. как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 20:02 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
с профайлом разберусь, но как это мне поможет? если в самой конфигурации добавляется нормально, если рест 1с добавляет нормально, а мой запрос работает не корректно, значит я что-то упускаю ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 20:04 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
не знаю, правильно ли я сделал, но отладчик не перехватывает эту ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 20:12 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyкак это мне поможет? ну как же, перед нажатием кнопки записать в РС при вводе нового, начнёте снимать трассу, и вырубите как запишеться элемент. Там в трассе будут все команды от 1С к SQL серверу. Соответственно там и увидите, что он там пишет помимо этого регистра, раз в коде 1С не хотите разбираться. Ну и вообще мне трудно объяснять такие элементарные вещи, вам лучше почитать зачем нужен профайлер и как его использовать совместно с 1С. Статей на эту тему море. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 22:19 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyне знаю, правильно ли я сделал, но отладчик не перехватывает эту ошибку У вас наверняка не подключен как предмет отладки сервер 1С, проверьте и подключите. Сервер 1С к отладчику подключается через правку реестра. Так же подключите отладку фоновых заданий. Как делается всё есть в Гугле. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 22:33 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
автормой запрос работает не корректно ваш запрос полностью корректный, только вы должны понимать, что там запись идёт не только в эту таблицу, а в ещё и в другие. Запись может осуществляться как триггерами 1С (событийный механизм), так и модулями этого регистра. Там также могут быть расширения конфигурации которые тоже работают как триггеры. В каком месте осуществляться такая запись вам нужно разобраться. Поэтому прямая запись в таблицы 1С и не рекомендуется т.к. необходимо обладать недюжинными знаниями. И 99.9% 1С ников скажут вам, что зря вы на такое замахнулись, кто-то вспомнит про "лицензионное соглашение" (кстати, запрет 1С на прямой, в обход платформы доступ мы можем игнорировать) . Ваш же комментарий выделенный мною говорит о том, что знаний у вас на данном этапе недостаточно. Потому как запись в РС у вас осуществляться корректно, функции преобразования guid работают правильно, в чем мы с вами и убедились. Поэтому вам так или иначе придется лезть в код и разбираться что к чему. Будет ли вам достаточно, чтобы разобраться только алгоритмов MSSQL или придется ещё и разбираться с 1С я не знаю. Но мне, чтобы писать обмены, между базами 1С на уровне MSSQL пришлось разбирать как архитектуру и алгоритмы конфигураций на уровне 1С, так и архитектуру БД на уровне MSSQL. Ушло у меня на это порядка полугода. Причем сами конфигурации между которыми осуществлялся обмен были различными УТ 11.1 и много Розница 2.2. После этого я знал на уровне консультанта эти конфигурации, сейчас уже подзабыл конечно многое т.к. у меня сейчас ERP и УПП. Все это я рассказал, чтобы вы осознали сложность задачи за которую беретесь. У вас конечно все проще на несколько порядков, но так или иначе разбираться придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2018, 23:48 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, я вот сейчас подумал, может у вас сообщение вообще не системное, т.к. в системном сообщении д.б. идентификатор и номер таблицы. Сделайте глобальный поиск по конфигурации (Ctrl+Shift+F) слова "Объект не найден". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 09:06 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
авторя вот сейчас подумал, может у вас сообщение вообще не системное, т.к. в системном сообщении д.б. идентификатор и номер таблицы. Сделайте глобальный поиск по конфигурации (Ctrl+Shift+F) слова "Объект не найден". не хочется мне в 1С лезть, вот результаты поиска ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 09:43 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 09:43 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
с mssql разберусь я месяц с ним работаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 09:44 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyс mssql разберусь я месяц с ним работаю В данной задаче этого может быть мало. А почему вы не пользуете OPENJSON? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 10:11 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я уже несколько раз говорил, реализован REST на 1С мне нужен костыль сделать напрямую писать этот объект в базу, т.к. 1С не справляется ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 10:16 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, а я пример вам чего привел? Там от 1С только таблицы. Массовый Insert будет явно быстрее вашего построчного insert. Которым вы вряд ли обгоните 1Сй менеджер записи РС. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 10:26 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
В поиске по Объект не найден ничего, что могло бы помочь не увидел. В том методе что вы мне дали, у вас запись должна проходить по 2 РС: 1. МенЗаписи = РегистрыСведений.уатТекущееМестоположениеПоGPS.СоздатьМенеджерЗаписи(); 2. МенЗаписи = РегистрыСведений.уатИсторияМестоположенияПоGPS.СоздатьМенеджерЗаписи(); в своем инсерте вы пишете только в 1. Поэтому если не хотите лезть в 1С запустите профайлер и на ручной записи в 1С снимите трассу, покажите мне. ИЛИ\И 2. включите отладку на сервере 1С, запустите 1С предприятие в режиме отладки 2.1 поставте галку останавливаться по ошибке, откройте РС с ошибкой. 2.2 если пункт 2.1 не поможет снимите трассу по замеру производительности. Покажите мне. 2.3 если не поможет уже тогда надо лезть в код и смотреть как минимум, что в менеджере записи и что происходит при открытии когда происходит ошибка. 3. препешите ваш код на OPENJSON, полностью работоспособный пример под вашу таблицу я привел выше, только естественно передавайте ей сразу весь полученный JSON. Этим вы добьетесь массового инсерта, что будет явно быстрее вашего построчного: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
МенеджерЗаписи() для РС в 1С делает ровно тот же самый построчный insert into values что и у вас, только через препаред хранимку, что еще быстрее чем у вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 11:07 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, скачал я эту конфу УАТ, повторил ошибку. У вас эта проблема из-за времени в полях со временем должно быть так: в первом поле должна быть дата без времени: '4018-09-05 00:00:00', во втором поле время без даты: '2001-01-01 13:08:00', ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 15:58 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
Т.е. если взять ваш алгоритм, ошибка у вас в первом поле, там во времени вместо '4018-09-04 13:08:00' д.б. '4018-09-04 00:00:00' Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 16:08 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhv, авторскачал я эту конфу УАТ, повторил ошибку. У вас эта проблема из-за времени в полях со временем должно быть так: в первом поле должна быть дата без времени: '4018-09-05 00:00:00', во втором поле время без даты: '2001-01-01 13:08:00', даааа, спасибо!!! а я был рядом с решением, я еще у нашего 1сника спрашиваю, почему так странно сделано два поля datatime2(0) из первого берется дата, а из второго время? )))))))) Рарус порадовал ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 17:01 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyvitkhv, Рарус порадовал Не ну а че, вставим в таблицу второе поле datetime2() и пофиг, что надо будет в два раза больше места для хранения и вставка идти будет медленнее. Да 1С ники они такие. Хотя фирма 1С такого себе не позволяет. И перепишите все на OPENJSON() не повторяйте ошибок 1С ников. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 17:27 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, и то, что в справочнике в модуле менеджера будет ошибка, которая не даст справочнику открыться и использовать метод ПолучитьСтруктуруХраненияБД() будет нельзя, тоже пофиг. Я помню в 10 лет назад выпилил этот УАТ из УПП, т.к. от Раруса (ну или чей он там был 10 лет назад) еще и обновления не вовремя приходили и забыл как страшный сон. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 17:32 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
vitkhv, спасибо за OPENJSON() и за возню со мной )) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 18:48 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2bey, авторНе ну а че, вставим в таблицу второе поле datetime2() и пофиг, что надо будет в два раза больше места для хранения и вставка идти будет медленнее. там еще три одинаковых индекса ))) сейчас в таблице 2000000 записей, добавь запись и пошла переиндексация, а запись идет регулярно и часто )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 18:52 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
[quot sc2r2bey]sc2r2bey, автортри одинаковых индекса ))) сейчас в таблице 2000000 записей, добавь запись и пошла переиндексация, а запись идет регулярно и часто )))) Я бы рассмотрел на вашем месте два предложения 1) Пусть 1С ник сделает второй такой же регистр с префиксом архив и в запросах переделает на объединение архивного и не архивного регистров. В архивном хранятся все записи кроме последнего месяца(или недели), а в неархивном регистре соответственно хранятся записи за последний месяц(или неделю). Записи из неархивном сливаются в архивный по ночам, за один день. 2) в регистр добавить поле с типом уникальный идентификатор и при вставке средствами SQL генерировать в этом поле sequintial GUID. Тогда вставка будет проходить пачками в конец таблицы, к чему это приведет и как это примерно сделать очень хорошо написано здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 22:25 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
sc2r2beyvitkhv, спасибо за OPENJSON() и за возню со мной )) Нет тут ценное в этом посте не openjson(), тем более в этом методе есть большой недостаток, нужен минимум 2016 сервер, что не каждый может себе позволить. Как по мне, ценное в этом посте это информация о GUID собранная в одном месте с примерами и ссылками и функциии преобразования GUID. Если бы в свое время мне бы объяснили на таком уровне, я бы не убил кучу времени на то, чтобы это осознать. Представьте, у тебя горят сроки, тебе надо писать прямые обмены между базами 1С, а ты сидишь и тупишь с GUID. У вас тоже самое бы было, если бы я этот путь предварительно не прошел и вам все это не объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 22:36 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
согласен, это самое дорогое! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2018, 09:36 |
|
GUID из 1С в MS SQL и обратно, как реализовывается?
|
|||
---|---|---|---|
#18+
я предложил отдельно создать таблицу и туда координаты писать, а потом из 1С по необходимости забирать, только по уму ее спроектировать(таблицу) пакетной загрузки нет, координаты прилетают по одной из приложения. в перспективе можно оптимизировать, например сервер очередей развернуть ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2018, 09:38 |
|
|
start [/forum/topic.php?all=1&fid=28&tid=1518327]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
124ms |
get tp. blocked users: |
2ms |
others: | 232ms |
total: | 467ms |
0 / 0 |