powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / GUID из 1С в MS SQL и обратно, как реализовывается?
25 сообщений из 129, страница 5 из 6
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698072
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,

Ещё можно поставить признак остановка по ошибке, в конфигурационных, может остановиться на ошибке и тогда увидим к какой таблице обращение идёт.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698073
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗначит дальше смотрите алгоритм в менеджере записи регистра сведений, он кудан что-то ещё добавляет при записи, а потом при открытии это считывает. Кстати не помню есть ли подписка на событие для записи РС, если есть то ещё код м.б. в подписке.
как это сделать?
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698074
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2beyавторПопробуйте в отладчике поставить остановку по ошибке, и вызвать опять ошибку, м.б. покажет на какой строке ошибка.
я не знаю как это сделать

В Гугле посмотрите, там инструкций полный интернет.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698075
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕщё можно поставить признак остановка по ошибке, в конфигурационных, может остановиться на ошибке и тогда увидим к какой таблице обращение идёт.
как это сделать?
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698077
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с профайлом разберусь, но как это мне поможет?
если в самой конфигурации добавляется нормально, если рест 1с добавляет нормально, а мой запрос работает не корректно, значит я что-то упускаю
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698083
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, правильно ли я сделал, но отладчик не перехватывает эту ошибку
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698106
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2beyкак это мне поможет?
ну как же, перед нажатием кнопки записать в РС при вводе нового, начнёте снимать трассу, и вырубите как запишеться элемент. Там в трассе будут все команды от 1С к SQL серверу. Соответственно там и увидите, что он там пишет помимо этого регистра, раз в коде 1С не хотите разбираться. Ну и вообще мне трудно объяснять такие элементарные вещи, вам лучше почитать зачем нужен профайлер и как его использовать совместно с 1С. Статей на эту тему море.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698109
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2beyне знаю, правильно ли я сделал, но отладчик не перехватывает эту ошибку
У вас наверняка не подключен как предмет отладки сервер 1С, проверьте и подключите. Сервер 1С к отладчику подключается через правку реестра. Так же подключите отладку фоновых заданий. Как делается всё есть в Гугле.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698121
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автормой запрос работает не корректно
ваш запрос полностью корректный, только вы должны понимать, что там запись идёт не только в эту таблицу, а в ещё и в другие. Запись может осуществляться как триггерами 1С (событийный механизм), так и модулями этого регистра.
Там также могут быть расширения конфигурации которые тоже работают как триггеры. В каком месте осуществляться такая запись вам нужно разобраться. Поэтому прямая запись в таблицы 1С и не рекомендуется т.к. необходимо обладать недюжинными знаниями. И 99.9% 1С ников скажут вам, что зря вы на такое замахнулись, кто-то вспомнит про "лицензионное соглашение" (кстати, запрет 1С на прямой, в обход платформы доступ мы можем игнорировать) .
Ваш же комментарий выделенный мною говорит о том, что знаний у вас на данном этапе недостаточно. Потому как запись в РС у вас осуществляться корректно, функции преобразования guid работают правильно, в чем мы с вами и убедились.
Поэтому вам так или иначе придется лезть в код и разбираться что к чему.
Будет ли вам достаточно, чтобы разобраться только алгоритмов MSSQL или придется ещё и разбираться с 1С я не знаю.
Но мне, чтобы писать обмены, между базами 1С на уровне MSSQL пришлось разбирать как архитектуру и алгоритмы конфигураций на уровне 1С, так и архитектуру БД на уровне MSSQL. Ушло у меня на это порядка полугода. Причем сами конфигурации между которыми осуществлялся обмен были различными УТ 11.1 и много Розница 2.2. После этого я знал на уровне консультанта эти конфигурации, сейчас уже подзабыл конечно многое т.к. у меня сейчас ERP и УПП.
Все это я рассказал, чтобы вы осознали сложность задачи за которую беретесь. У вас конечно все проще на несколько порядков, но так или иначе разбираться придется.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698194
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,
я вот сейчас подумал, может у вас сообщение вообще не системное, т.к. в системном сообщении д.б. идентификатор и номер таблицы. Сделайте глобальный поиск по конфигурации (Ctrl+Shift+F) слова "Объект не найден".
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698208
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторя вот сейчас подумал, может у вас сообщение вообще не системное, т.к. в системном сообщении д.б. идентификатор и номер таблицы. Сделайте глобальный поиск по конфигурации (Ctrl+Shift+F) слова "Объект не найден".
не хочется мне в 1С лезть, вот результаты поиска
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698209
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698210
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с mssql разберусь я месяц с ним работаю
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698226
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
DECLARE @json NVARCHAR(4000) = N'{
    "date": 1536057600,
    "latitude": 45.3645,
    "longitude": 55.3645,
    "vehicle": "3c29ac92-4a0b-11e8-9414-bcaec5369a36"
}'

INSERT INTO [dbo].[_InfoRg8287] 
(		[_Fld8288], 
		[_Fld8289],
		[_Fld8290RRef],
		[_Fld8291],
		[_Fld8292],
		[_Fld8293],
		[_Fld8294],
		[_Fld8295])
SELECT
	'4018-09-04 13:08:00'
	,'2001-01-01 13:08:00', 
	CONVERT(binary(16),'0x'+SUBSTRING(vehicle,20,4)+SUBSTRING(vehicle,25,13)+SUBSTRING(vehicle,15,4)+SUBSTRING(vehicle,10,4)+SUBSTRING(vehicle,1,8),1)  vehicle
	,latitude
	,longitude
	,0
	,0
	,''
FROM OPENJSON(@json)  
WITH (date char(10)
	,latitude numeric(15,4)
	,longitude numeric(15,4)
	,vehicle  char(36))
AS t
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698228
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже несколько раз говорил, реализован REST на 1С
мне нужен костыль сделать напрямую писать этот объект в базу, т.к. 1С не справляется
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698236
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,
а я пример вам чего привел? Там от 1С только таблицы. Массовый Insert будет явно быстрее вашего построчного insert. Которым вы вряд ли обгоните 1Сй менеджер записи РС.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698271
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В поиске по Объект не найден ничего, что могло бы помочь не увидел.

В том методе что вы мне дали, у вас запись должна проходить по 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.
INSERT INTO [tmsWeb].[dbo].[_InfoRg8287] 
(
		[_Fld8288], 
		......
)
VALUES 
(
		'4018-09-04 13:08:00',
		'2001-01-01 13:08:00',
		CONVERT(binary(16),@GUIDasStr,1),
		...
);



МенеджерЗаписи() для РС в 1С делает ровно тот же самый построчный insert into values что и у вас, только через препаред хранимку, что еще быстрее чем у вас.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698604
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,
скачал я эту конфу УАТ, повторил ошибку.

У вас эта проблема из-за времени

в полях со временем должно быть так:
в первом поле должна быть дата без времени:
'4018-09-05 00:00:00',
во втором поле время без даты:
'2001-01-01 13:08:00',
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698613
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. если взять ваш алгоритм, ошибка у вас в первом поле, там во времени вместо '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.
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)

INSERT INTO [tmsWeb].[dbo].[_InfoRg8287] 
(
		[_Fld8288], 
		[_Fld8289],
		[_Fld8290RRef],
		[_Fld8291],
		[_Fld8292],
		[_Fld8293],
		[_Fld8294],
		[_Fld8295]
)
VALUES 
(
		'4018-09-04 00:00:00',
		'2001-01-01 13:08:00',
		CONVERT(binary(16),@GUIDasStr,1),
		45.4,
		36.6,
		0,
		0,
		''
);
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698648
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv,

авторскачал я эту конфу УАТ, повторил ошибку.

У вас эта проблема из-за времени

в полях со временем должно быть так:
в первом поле должна быть дата без времени:
'4018-09-05 00:00:00',
во втором поле время без даты:
'2001-01-01 13:08:00',
даааа, спасибо!!!
а я был рядом с решением, я еще у нашего 1сника спрашиваю, почему так странно сделано два поля datatime2(0) из первого берется дата, а из второго время? )))))))) Рарус порадовал
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698657
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2beyvitkhv,

Рарус порадовал

Не ну а че, вставим в таблицу второе поле datetime2() и пофиг, что надо будет в два раза больше места для хранения и вставка идти будет медленнее. Да 1С ники они такие. Хотя фирма 1С такого себе не позволяет.

И перепишите все на
OPENJSON()
не повторяйте ошибок 1С ников.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698659
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,
и то, что в справочнике в модуле менеджера будет ошибка, которая не даст справочнику открыться и использовать метод ПолучитьСтруктуруХраненияБД() будет нельзя, тоже пофиг.

Я помню в 10 лет назад выпилил этот УАТ из УПП, т.к. от Раруса (ну или чей он там был 10 лет назад) еще и обновления не вовремя приходили и забыл как страшный сон.
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698689
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv, спасибо за OPENJSON() и за возню со мной ))
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698690
Фотография sc2r2bey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sc2r2bey,

авторНе ну а че, вставим в таблицу второе поле datetime2() и пофиг, что надо будет в два раза больше места для хранения и вставка идти будет медленнее.
там еще три одинаковых индекса ))) сейчас в таблице 2000000 записей, добавь запись и пошла переиндексация, а запись идет регулярно и часто ))))
...
Рейтинг: 0 / 0
GUID из 1С в MS SQL и обратно, как реализовывается?
    #39698757
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot sc2r2bey]sc2r2bey,

автортри одинаковых индекса ))) сейчас в таблице 2000000 записей, добавь запись и пошла переиндексация, а запись идет регулярно и часто ))))


Я бы рассмотрел на вашем месте два предложения

1) Пусть 1С ник сделает второй такой же регистр с префиксом архив и в запросах переделает на объединение архивного и не архивного регистров. В архивном хранятся все записи кроме последнего месяца(или недели), а в неархивном регистре соответственно хранятся записи за последний месяц(или неделю). Записи из неархивном сливаются в архивный по ночам, за один день.

2) в регистр добавить поле с типом уникальный идентификатор и при вставке средствами SQL генерировать в этом поле sequintial GUID. Тогда вставка будет проходить пачками в конец таблицы, к чему это приведет и как это примерно сделать очень хорошо написано здесь .
...
Рейтинг: 0 / 0
25 сообщений из 129, страница 5 из 6
Форумы / [игнор отключен] [закрыт для гостей] / GUID из 1С в MS SQL и обратно, как реализовывается?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]