Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Можно ли использовать INSERT и DELETE для справочн (число прочтений - 14414 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Можно ли использовать INSERT и DELETE для справочн
14. Июля 2006 :: 10:39
Печать  
Есть у меня справочник, хочу попробовать его заполнить командой INSERT, а перед этим почистить. Написал:

[code]

л_ODBCDatabase = СоздатьОбъект("ODBCDatabase");
л_ODBCRecordset = СоздатьОбъект("ODBCRecordset");
л_ODBCRecordset.УстБД(л_ODBCDatabase);
л_ODBCRecordset.Выполнить("DELETE FROM $Справочник.Склад_Товары");
л_ODBCRecordset.Выполнить("INSERT INTO $Справочник.Склад_Товары (Descr) VALUES (""какой-то товар"")");

[/code]

В справочнике изменений нету никаких. Почему?
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #1 - 14. Июля 2006 :: 10:45
Печать  
Нажми кнопки HOME, а потом END.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #2 - 14. Июля 2006 :: 10:46
Печать  
Конечно при условии, что запрос верен...
А то это как-то смущает: INSERT INTO $Справочник.Склад_Товары (Descr) VALUES ("какой-то товар")
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #3 - 14. Июля 2006 :: 12:03
Печать  
HOME+END, открытие/закрытие, не помогает, то есть справочник без изменений

А что в запросе смущает??
  
Наверх
ICQ  
IP записан
 
U_zer
Экс-Участник


Re: Можно ли использовать INSERT и DELETE для спра
Ответ #4 - 14. Июля 2006 :: 12:37
Печать  
Вообще-то есть метод специальный.
ПолучитьОписаниеОшибки()
Очень иногда помогает найти ошибки в таких запросах.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #5 - 14. Июля 2006 :: 13:08
Печать  
Никакой ощибки не возвращает
  
Наверх
ICQ  
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #6 - 14. Июля 2006 :: 13:14
Печать  
Должно быть что-то вроде:
л_ODBCRecordset.Выполнить("INSERT INTO $Справочник.Склад_Товары (Id, Descr) VALUES (""+36_ричный_идентификатор_элемента+"",""какой-то товар"")");
  
Наверх
ICQ  
IP записан
 
vig
Junior Member
**
Отсутствует


Мой опыт показывает, что
умирают обычно другие.

Сообщений: 34
Местоположение: Киев
Зарегистрирован: 21. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #7 - 14. Июля 2006 :: 13:54
Печать  
Если в Entreprise Manager сгенерить скрипт на create таблицы справочника, видно, что почти все поля имеют описание "NOT NULL". Ты же заполняешь только поле Descr. Нужно заполнить и  остальные поля.
  
Наверх
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #8 - 17. Июля 2006 :: 08:43
Печать  
А где взять этот "идентификатор элемента"?
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #9 - 17. Июля 2006 :: 08:48
Печать  
es3000 писал(а) 17. Июля 2006 :: 08:43:
А где взять этот "идентификатор элемента"?

Читай описание объекта SQLLock.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #10 - 18. Июля 2006 :: 15:55
Печать  
es3000 писал(а) 14. Июля 2006 :: 13:08:
Никакой ощибки не возвращает


полюбому должна была выскочить ошибка: Cannot insert the value NULL into column ......

если пытаешься вставить запись обязательно заполняй все поля (кроме identity, хотя 1С и его правит(если мне память не изменяет)). лучше insert затулить в процедуру на всякий случай.
  
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #11 - 18. Июля 2006 :: 16:22
Печать  
villy писал(а) 18. Июля 2006 :: 15:55:
полюбому должна была выскочить ошибка: Cannot insert the value NULL into column ......

Ошибка - это когда
Код
Выбрать все
л_ODBCRecordset.ВыполнитьСкалярный(...); 


или, хотя бы,
Код
Выбрать все
Если л_ODBCRecordset.Выполнить(...) = 0 Тогда 


а приведённый код - неуправляемый в принципе.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #12 - 18. Июля 2006 :: 16:40
Печать  
Код
Выбрать все
л_ODBCRecordset = СоздатьОбъект("ODBCRecordset");
Если л_ODBCRecordset.Выполнить("DELETE FROM $Справочник.Склад_Товары") = 0 Тогда
    Сообщить("Описание ошибки: " + л_ODBCRecordset.ПолучитьОписаниеОшибки());
КонецЕсли;
Если л_ODBCRecordset.Выполнить("INSERT INTO $Справочник.Склад_Товары (Descr) VALUES (""какой-то товар"")") = 0 Тогда
    Сообщить("Описание ошибки: " + л_ODBCRecordset.ПолучитьОписаниеОшибки());
КонецЕсли;
 

  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #13 - 18. Июля 2006 :: 16:43
Печать  
Вообще, не понятно к какой базе идет запрос. Если к "родной", то можно просто
Код
Выбрать все
л_ODBCRecordset = СоздатьОбъект("ODBCRecordset");
 


без "ODBCDatabase". Возможен вариант конечно и через "ODBCDatabase".
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #14 - 19. Июля 2006 :: 07:00
Печать  
в начальном примере:
1. можно и не использовать объект database, т.к. имхо, устанавдивается соединение к текущей базе.
2. после "л_ODBCRecordset.Выполнить("INSERT INTO $Справочник.Склад_Товары (Descr) VALUES (""какой-то товар"")")" можно получить описание ошибки, лучше сразу и сообщить и в результате будет видна ошибка приведеная мною выше. решение данной ошибки первым предложил vig.

2  berezdetsky & spock. вопрос не в том управляемый или не управляемый код. сообщить результат метода ПолучитьОписаниеОшибки можно в любом случае(даже не проверяя результат метода Выполнить), а в данном случае она будет(сам лично проверил Подмигивание ).
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #15 - 19. Июля 2006 :: 07:31
Печать  
Цитата:
ПолучитьОписаниеОшибки можно в любом случае(даже не проверяя результат метода Выполнить)

Не нужно так делать! Получать описание ошибки нужно только в случае, если Выполнить() = 0!!!
Потому как текст ошибки в переменной-члене класса находится, можно поймать вообще левый текст ошибки.
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #16 - 19. Июля 2006 :: 10:35
Печать  
spock писал(а) 19. Июля 2006 :: 07:31:
Не нужно так делать!

это уже другой вопрос(ты же понимаешь что: "кто как хочет так и ..."  © не знаю чьё ). но в данном случае ошибка будет.
Цитата:
Потому как текст ошибки в переменной-члене класса находится, можно поймать вообще левый текст ошибки.

метод ПолучитьОписаниеОшибки выдаёт последнюю ошибку, если она конечно есть, если ее нет тогда вернет пустую строку. попробуй для начала выполнить глюкавый инсерт, а затем выполни НЕ глюкавый (к примеру селект либо инсерт) и после каждого метода выполнить сообщай описание ошибки. в результате ты увидишь что после первого метода выполнить у тебя метод получитьописаниеошибки вернет не пустую строку, а после второго - вернет пустую. имхо, метод ПолучитьОписаниеОшибки возвращает строку m_strError класса CDBException в случае не выполнения метода Выполнить, а в случае выполнения метода Выполнить возвращает пустую строку.
имхо, из выше изложеного можно сделать вывод что код:
Код
Выбрать все
запрос.Выполнить(".....");
если запрос.ПолучитьОписаниеОшибки() <> "" тогда
сообщить(запрос.ПолучитьОписаниеОшибки());
запрос.Закрыть();
возврат;
конецесли;
запрос.Закрыть();
 


будет верным, но и с этим кодом можно спорить на разные темы.
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #17 - 19. Июля 2006 :: 11:14
Печать  
Еще раз говорю, так ловить ошибку в корне не верно.

Цитата:
...имхо, из выше изложеного можно сделать вывод что код...

будет работать до поры, до времени.
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #18 - 19. Июля 2006 :: 11:16
Печать  
spock писал(а) 19. Июля 2006 :: 11:14:
Еще раз говорю, так ловить ошибку в корне не верно.

Цитата:
...имхо, из выше изложеного можно сделать вывод что код...

будет работать до поры, до времени.

я же не спорю, я только основываюсь на фактах.
  
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #19 - 20. Июля 2006 :: 06:49
Печать  
spock писал(а) 19. Июля 2006 :: 11:14:
Еще раз говорю, так ловить ошибку в корне не верно.

несогласен, если пользоваться методом выполнить, т.к. в начале метода переменная, содержащая текст ошибки, обнуляется, а при ПолучитьОписаниеОшибки, если есть ошибка при выполнении метода Выполнить, возвращает текст ошибки, иначе просто возвращает содержимое переменной, которое в начале метода выполнить было очищено. отсюда делаем вывод: работает и ловит.
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #20 - 20. Июля 2006 :: 07:02
Печать  
Это юмор такой чтоли?
Цитата:
Выполнить / Execute
...
Возвращает: тип: Число. 1 - запрос выполнился успешно, 0 - безуспешно, описание ошибки можно получить, вызвав метод ПолучитьОписаниеОшибки.
...

А если что-то поменяется в поведении класса? И не будет каждый раз очищаться переменная-член?
И еще, лишние вызовы зачем делать?
Если метод вернул 0, то проверяем, что там за ошибка, если интересно конечно. Другого варианта не должно быть вообще.
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #21 - 20. Июля 2006 :: 07:48
Печать  
не спорь с ним, spock
это бесполезно... Нерешительный
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #22 - 20. Июля 2006 :: 10:22
Печать  
а если чтото поменяется в поведении класса и метод Выполнить не будет возвращать 0 или 1, а метод ПолучитьОписаниеОшибки отработает правильно?  что тогда? (это тоже из разряда фантастики).
я не говорю что так как ты предлагаешь нельзя писать, а нужно писать так как я говорю. и не спорю чей код универсальней или правильней. твой вариант я использую в своих наработках, но по большей части проверяю ВыборкаОткрыта(). с неданих времен использую ВыполнитьИнструкцию().
писать код можно какой угодно в данной ситуации и мой вариант не будет ошибочным.
  
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #23 - 20. Июля 2006 :: 10:27
Печать  
villy писал(а) 20. Июля 2006 :: 10:22:
а если чтото поменяется в поведении класса и метод Выполнить не будет возвращать 0 или 1

это будет уже критическим багом.

А вот если метод ПолучитьОписаниеОшибки() будет при неправильном использовании выдавать мусор, то это фича.

Я к чему это все... а к тому, что читают этот форум люди и советовать использовать заведомо опасный код не нужно.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #24 - 20. Июля 2006 :: 10:35
Печать  
transbublik

villy писал(а) 20. Июля 2006 :: 06:49:
spock писал(а) 19. Июля 2006 :: 11:14:
Еще раз говорю, так ловить ошибку в корне не верно.

несогласен, если пользоваться методом выполнить, т.к. в начале метода переменная, содержащая текст ошибки, обнуляется, а при ПолучитьОписаниеОшибки, если есть ошибка при выполнении метода Выполнить, возвращает текст ошибки, иначе просто возвращает содержимое переменной, которое в начале метода выполнить было очищено. отсюда делаем вывод: работает и ловит.

А твой метод документирован в официальной документации?
Т.е. что является гарантией того, что реализация метода ПолучитьОписаниеОшибки() завтра не изменит поведение?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #25 - 20. Июля 2006 :: 10:40
Печать  
kms писал(а) 20. Июля 2006 :: 10:35:
А твой метод документирован в официальной документации?
Т.е. что является гарантией того, что реализация метода ПолучитьОписаниеОшибки() завтра не изменит поведение?

к кому вопрос?
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #26 - 20. Июля 2006 :: 10:41
Печать  
какая же это фича? если я дропну не существующую темп.таблицу (к примеру) и в дальнейшем у меня текст этой ошибки будет присутствовать при каждом вызове метода ПолучитьОписаниеОшибки .... нет, это не фича. поэтому называть код (решающий проблему в поставленном вопросе) заведомо опасным я бы не стал.
  
Наверх
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #27 - 20. Июля 2006 :: 10:49
Печать  
spock писал(а) 20. Июля 2006 :: 10:40:
kms писал(а) 20. Июля 2006 :: 10:35:
А твой метод документирован в официальной документации?
Т.е. что является гарантией того, что реализация метода ПолучитьОписаниеОшибки() завтра не изменит поведение?

к кому вопрос?

Ну, вообще, первая цитата transbublik'а - ему и вопрос.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #28 - 20. Июля 2006 :: 11:08
Печать  
kms писал(а) 20. Июля 2006 :: 10:49:
Ну, вообще, первая цитата transbublik'а - ему и вопрос.

просто тоже хотел ответить
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #29 - 21. Июля 2006 :: 11:24
Печать  
хочу поставить точку в данной дискусссссии:
es3000 писал(а) 14. Июля 2006 :: 13:08:
Никакой ощибки не возвращает

код:
Код
Выбрать все
л_ODBCDatabase = СоздатьОбъект("ODBCDatabase");
л_ODBCRecordset = СоздатьОбъект("ODBCRecordset");
л_ODBCRecordset.УстБД(л_ODBCDatabase);
л_ODBCRecordset.Выполнить("DELETE FROM $Справочник.Склад_Товары");
л_ODBCRecordset.Выполнить("INSERT INTO $Справочник.Склад_Товары (Descr) VALUES (""какой-то товар"")");
сообщить(л_ODBCRecordset.ПолучитьОписаниеОшибки());
л_ODBCRecordset.Закрыть();
 


является ответом на данный пост (еще раз заостряю внимание на решение проблемы в : es3000 писал(а) 14. Июля 2006 :: 13:08:
Никакой ощибки не возвращает

)
т.е. я не претендую что этот код есть универсальным (и не претендовал). но то что он позволит "узреть" ошибку --- это факт.

to kms
kms писал(а) 20. Июля 2006 :: 10:35:
А твой метод документирован в официальной документации?
Т.е. что является гарантией того, что реализация метода ПолучитьОписаниеОшибки() завтра не изменит поведение?

в описании метода Выполнить чёрным по белому :
"...
Возвращаемое значение:
(Число)  1 - запрос выполнился успешно, 0 - не успешно, описание ошибки можно получить вызвав метод GetLastError.
..."
--- явно указано то что "изрекает" spock, но для того что бы увидеть ошибку при выполнении операции: "INSERT INTO $Справочник.Склад_Товары (Descr) VALUES (""какой-то товар"")" не обязательно проверять возвращаемое методом Выполнить значение.
p.s.: ... всё в этом мире относительно.
  
Наверх
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #30 - 21. Июля 2006 :: 13:24
Печать  
transbublik

Я тебе нежно намекаю, что ты действуешь, как опытный практик, когда полагаешься на реализацию, возвращающую "" в случае отсутствии ошибки.

Между тем документировано таким образом:
Цитата:
ПолучитьОписаниеОшибки / GetLastError
---------------------------------------------------------------------
     **Синтаксис:** ПолучитьОписаниеОшибки()

     **Возвращает:** тип: Строка. Описание ошибки.

     **Описание:** позволяет получить описание последней возникшей ошибки.

Никаких гарантий, что в случае отсутствия ошибки не будет возвращена непустая строка, нет.

Что будет, если завтра я или spock или кто-то еще изменят поведение метода, отказавшись от очистки строки?
Ты, конечно, разберешься в коде, благо он открыт, но обработку ошибок в 1С придется переписывать.

Так что, хоть spock и редиска, в этом вопросе лучше прислушаться к его мнению.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #31 - 21. Июля 2006 :: 15:14
Печать  
to kms:
я говорю что можно использовать такой код (представленный мною) для выявления ошибки которую не может найти, увидеть или еще как не "узреть" автор данной темы, НО я не утверждаю что данный код есть универсальным, правильным (либо еще в каком-то свете красивым) что бы его использовать в конечном коде, (и опять таки еще одно) НО если учитывать данную структуру(концепцию) 1С++, то данная связка Выполнить <--> ПолучитьОписаниеОшибки для операции вставки (в конкретном случае) будет верной. Не уверен что разработчики 1С++ пойдут на такой шаг как "сообщать" ошибку после выполнения предыдущего метода, т.к. это не есть правильно (имхо). Если бы у меня было больше знаний и возможность, я бы более подробнее описал метод ПолучитьОписаниеОшибки(). Здесь можно еще придумать еще новый метод Улыбка ПолучитьОписание_ПОСЛЕДНЕЙ_Ошибки() (если такая имела место быть), но это не мне уже решать и такого метода я наверное не стал бы допускать. Метод для получения ошибки должен быть один и он ДОЛЖЕН отражать текст ошибки последнего выполненного метода (если таковая ошибка была, если её не было значит пустая строка и баста). Ведь этот метод (ПолучитьОписаниеОшибки) нужен в первую очередь для прога.
p.s.: не мне решать редиска spock или не редиска, тебе виднее Подмигивание. зацепились мы с ним из-за ерунды (хотя это с какой стороны посмотреть). Прислушываться к его мнению в данном вопросе нужно при написании конечного кода, но здесь ведь совсем другой случай.
  
Наверх
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #32 - 22. Июля 2006 :: 10:41
Печать  
У меня боль-мень беспроблемный INSERT работает только с 1sconst. Проблема именно с генерацией ID непосредственно на серваке. А если генерить ID в 1С, то там же можно и сказать Новый()
А вот update и delete юзаю постоянно
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Можно ли использовать INSERT и DELETE для спра
Ответ #33 - 22. Июля 2006 :: 14:38
Печать  
при использовании update таблицы какого-нибудь справочника, открытого в виде списка у какого-нибудь пользователя периодически получаем у данного пользователя дикие тормоза и подвисоны в данном списке справочника, особенно если это иерархический список и мы вдруг программно поменяли родителя Печаль

я смотрел в профайлере, чего 1С мутит при апдейте, не считая транзакций, там куча всего, в том числе и работа с открытыми курсорами и прочее... кто знает (а лучше может привести качественный код) для обхода таких проблем?..
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать