Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Странное поведение прямого запроса (число прочтений - 9194 )
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Странное поведение прямого запроса
Ответ #30 - 27. Декабря 2011 :: 06:37
Печать  
просто у тебя rowid нет, вот и спутал
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Странное поведение прямого запроса
Ответ #31 - 27. Декабря 2011 :: 06:40
Печать  
Ну тогда так:
1.IDDOC уникален в 1sjourn (т.е до твоего инсерта, дока с таким же iddoc нет случаем) ?
2. уверен, что iddocdef именно такой ?
3.как проверяешь, что инсерт не выполнился ?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Странное поведение прямого запроса
Ответ #32 - 27. Декабря 2011 :: 06:40
Печать  
DCKiller писал(а) 27. Декабря 2011 :: 06:27:
Код самый обычный:
INSERT INTO [my_db].[dbo].[_1SJourn](IDJOURNAL,
...

другие запросы в одном батче с этим есть?
  

1&&2&&3
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #33 - 27. Декабря 2011 :: 06:41
Печать  
Пожалуй, нужно пояснить алгоритм работы.

1. Делается прямой запрос к базе-источнику, получаем остатки, которые нужно ввести в базу-приемник документами ввода нач. остатков.
2. Результат предыдущего запроса получаем в ТЗ; делаем выборку из нее.
3. В цикле выборки делаем вышеописанный запрос на добавление записей в таблицу журнала, шапки и ТЧ нужного нам документа базы-приемника.
  
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #34 - 27. Декабря 2011 :: 06:43
Печать  
trad писал(а) 27. Декабря 2011 :: 06:40:
DCKiller писал(а) 27. Декабря 2011 :: 06:27:
Код самый обычный:
INSERT INTO [my_db].[dbo].[_1SJourn](IDJOURNAL,
...

другие запросы в одном батче с этим есть?


'В одном батче' - имеется в виду, один и тот же объект RecordSet выполняет несколько разных запросов? Да, есть еще 2 - запрос записи в шапку и ТЧ, оба они выполняются успешно.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Странное поведение прямого запроса
Ответ #35 - 27. Декабря 2011 :: 06:44
Печать  
DNPREFIX явно не соответствует номеру дока - у тебя же не числовой нумер..
  
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #36 - 27. Декабря 2011 :: 06:45
Печать  
Eprst писал(а) 27. Декабря 2011 :: 06:40:
Ну тогда так:
1.IDDOC уникален в 1sjourn (т.е до твоего инсерта, дока с таким же iddoc нет случаем) ?
2. уверен, что iddocdef именно такой ?
3.как проверяешь, что инсерт не выполнился ?


2. Уверен точно.
3. Запрос.Выполнить(ТекстЗапроса) = 0.

А вот насчет № 1, пожалуй, я что-то не подумал... Хотя для SQLLock, который в цикле выборки по ТЗ генерит новый ИД, установлен вид документа, разве он при этом не должен сгенерить автоматически уникальный в пределах данного вида новый ИД?
  
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #37 - 27. Декабря 2011 :: 06:50
Печать  
Eprst писал(а) 27. Декабря 2011 :: 06:44:
DNPREFIX явно не соответствует номеру дока - у тебя же не числовой нумер..


DNPREFIX = Вид документа+ДатаДок, не?
  
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #38 - 27. Декабря 2011 :: 06:53
Печать  
Eprst писал(а) 27. Декабря 2011 :: 06:40:
Ну тогда так:
1.IDDOC уникален в 1sjourn (т.е до твоего инсерта, дока с таким же iddoc нет случаем) ?
2. уверен, что iddocdef именно такой ?
3.как проверяешь, что инсерт не выполнился ?


Блин! Ты был прав насчет 1! Ну- ё-моё...  Ужас
Выходит, он генерит новые ИД у записей доков всегда с самого начала... Пойду искать стенку Улыбка

Господа, тогда вопрос: как заставить SQLLock генерировать ИД записей, начиная не с самого первого, а с последнего присутствующего в таблице журнала?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Странное поведение прямого запроса
Ответ #39 - 27. Декабря 2011 :: 07:18
Печать  
DCKiller писал(а) 27. Декабря 2011 :: 06:53:
Блин! Ты был прав насчет 1! Ну- ё-моё...  Ужас

ты бы об этом узнал раньше если бы пользовался православным методом ВыполнитьИнструкцию(), или, на худой конец, посмотрел в ПолучитьОписаниеОшибки()
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Странное поведение прямого запроса
Ответ #40 - 27. Декабря 2011 :: 07:23
Печать  
DCKiller писал(а) 27. Декабря 2011 :: 06:53:
Господа, тогда вопрос: как заставить SQLLock генерировать ИД записей, начиная не с самого первого, а с последнего присутствующего в таблице журнала?

метод НовыйИД() и так возвращает следующий за max(iddoc)
  

1&&2&&3
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #41 - 27. Декабря 2011 :: 07:58
Печать  
trad писал(а) 27. Декабря 2011 :: 07:23:
DCKiller писал(а) 27. Декабря 2011 :: 06:53:
Господа, тогда вопрос: как заставить SQLLock генерировать ИД записей, начиная не с самого первого, а с последнего присутствующего в таблице журнала?

метод НовыйИД() и так возвращает следующий за max(iddoc)


Нифига подобного он не возвращает, только что проверил.  Нерешительный
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Странное поведение прямого запроса
Ответ #42 - 27. Декабря 2011 :: 08:11
Печать  
DCKiller писал(а) 27. Декабря 2011 :: 07:58:
Нифига подобного он не возвращает, только что проверил.  Нерешительный

не верю. код покажи.
  

1&&2&&3
Наверх
 
IP записан
 
DCKiller
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 70
Зарегистрирован: 12. Декабря 2011
Re: Странное поведение прямого запроса
Ответ #43 - 27. Декабря 2011 :: 08:35
Печать  
trad писал(а) 27. Декабря 2011 :: 08:11:
DCKiller писал(а) 27. Декабря 2011 :: 07:58:
Нифига подобного он не возвращает, только что проверил.  Нерешительный

не верю. код покажи.


Я, похоже, понял, в чем дело.
SQLLock работает в базе-источнике, и относительно записей базы-источника новый ИД генерит. А надо, чтобы он его генерил для базы-приемника. Как-то можно ему указать, для какой базы создавать ИД?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Странное поведение прямого запроса
Ответ #44 - 27. Декабря 2011 :: 08:39
Печать  
ПрисоединитьИБ
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать