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


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Пишу свой первый прямой запрос. Помогайте:)
15. Ноября 2007 :: 06:34
Печать  
Собственно текст запроса
Запрос = СоздатьОбъект("ODBCRecordset");

      ТекстЗапроса = "
      |SELECT 
      |    Рег.асТовар as [асТовар $Справочник.Номенклатура],
      |    Рег.КоличествоНачальныйОстаток as КоличествоНачОст,
      |    Рег.КоличествоПриход as КоличествоПриход,
      |    Рег.КоличествоРасход as КоличествоРасход,
      |    Рег.КоличествоКонечныйОстаток as КоличествоКонОст,
      |    Рег.СуммаПриход as СуммаПриход,
      |    Рег.СуммаРасход aa СуммаРасход,
      |    Рег.СуммаКонечныйОстаток as СуммаКонОст,
      |FROM
      |   $РегистрОстаткиОбороты.ОстаткиТоваров(:ДатаНачалаЗапроса, :КонпрМесяца~,,,
      |                                , (товар), (Сумма, Количество)) as Рег";
     Запрос.Отладка(1);          
     ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
     ТЗ.ВыбратьСтроку();


Что надо дописать что бы запрос выполнялся в базе E:/1C_BASE/Base_Tovar?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #1 - 15. Ноября 2007 :: 06:36
Печать  
У тебя база SQL?
Ты хочешь получить данные не из текущей базы?
  
Наверх
ICQ  
IP записан
 
ev-kov
God Member
*****
Отсутствует



Сообщений: 694
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #2 - 15. Ноября 2007 :: 06:45
Печать  
[quote author=Aswed link=1195108453/0#0 date=1195108453]Что надо дописать что бы запрос выполнялся в базе E:/1C_BASE/Base_Tovar?[/quote]
Все просто:
[code]   //подключаемся к другой базе 1С
     Serv = "marketolog";
     КатИБ = "\\marketolog\c\1s-base\GazetaOld\";
     base ="BaseOld";
     baseuser = "sa";
     basepwd       = "****"; //свой напиши
     
     user1c ="Админ";
     pwd1c = "*****"; // аналогично
     ИБ=СоздатьОбъект("ODBCDataBase");
     СтрокаПодключения = ШАБЛОН("Driver={SQL Server};Server=[Serv];Database=[Base];Uid=[baseuser];Pwd=[basepwd];");
     Попытка
           ИБ.ПрисоединитьИБ(КатИБ,user1c,pwd1c,СтрокаПодключения);
     Исключение
         Сообщить(СтрокаПодключения);
           Возврат;
     КонецПопытки;      

     RS=СоздатьОбъект("ODBCRecordset");
     RS.УстБД(ИБ);
// дальше твой запрос

     
[/code]
  

Информация - то, что снижает неопределенность в какой-либо области и очень важно не ошибиться областью в наш информационный век!
Наверх
 
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #3 - 15. Ноября 2007 :: 06:51
Печать  
Да база SQL. Забыл написать Смущённый
Этоподключение к ДБФ, насколько я понял.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #4 - 15. Ноября 2007 :: 06:57
Печать  
Aswed писал(а) 15. Ноября 2007 :: 06:51:
Да база SQL. Забыл написать Смущённый
Этоподключение к ДБФ, насколько я понял.

Нет это какраз подключение к SQL, так что используй его если надо подключится не к текущей базе!
  
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #5 - 15. Ноября 2007 :: 07:01
Печать  
А  Serv = "marketolog"; - это имя сервера? И если да , то можно ли его прописывать, как IP адрес?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #6 - 15. Ноября 2007 :: 07:06
Печать  
Aswed писал(а) 15. Ноября 2007 :: 07:01:
А  Serv = "marketolog"; - это имя сервера? И если да , то можно ли его прописывать, как IP адрес?

Тебе сюда:
http://www.connectionstrings.com/?carrier=sqlserver
  
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #7 - 15. Ноября 2007 :: 07:08
Печать  
Всё понялУлыбка Сам протупил и не полно объяснилУлыбка
Я работаю в терминале\, где на одном и том же скюль сервере висит несколько баз 1С. И мне нужно из одной базы 1С подключится и выполнить запрос в другой базе 1С, работающей на этом же сервере. Подключаться к серверу не нужно, вход уже выполнен.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #8 - 15. Ноября 2007 :: 07:15
Печать  
Aswed писал(а) 15. Ноября 2007 :: 07:08:
Всё понялУлыбка Сам протупил и не полно объяснилУлыбка
Я работаю в терминале\, где на одном и том же скюль сервере висит несколько баз 1С. И мне нужно из одной базы 1С подключится и выполнить запрос в другой базе 1С, работающей на этом же сервере. Подключаться к серверу не нужно, вход уже выполнен.


Тогда наверное достаточно этого:

ИБ=СоздатьОбъект("ODBCDataBase");
ИБ.ПрисоединитьИБ("\\server\КаталогИБ\");
рс=СоздатьОбъект("ODBCRecordset");
рс.УстБД(ИБ);
Результат=рс.ВыполнитьИнструкцию(ТекстЗапроса);

  
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #9 - 15. Ноября 2007 :: 07:25
Печать  
Цитата:
Тогда наверное достаточно этого:

ИБ=СоздатьОбъект("ODBCDataBase");
ИБ.ПрисоединитьИБ("\\server\КаталогИБ\");
рс=СоздатьОбъект("ODBCRecordset");
рс.УстБД(ИБ);
Результат=рс.ВыполнитьИнструкцию(ТекстЗапроса);


Пишет общая файловая ошибка(выдаётся как предупреждение)
А в окне сообщений 1С выводится сообщение "Введенный пароль не верен"Улыбка Правильно, я же его не вводилУлыбка В чём ошибка?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #10 - 15. Ноября 2007 :: 07:25
Печать  
Можешь использовать тот же коннект, но писать примерно так:
Код
Выбрать все
Select
    *
From
    [имясервера].[имябазы].dbo.[имя таблицы] 


Но тогда тебе придётся вручную переписать $РегистрОстаткиОбороты
  
Наверх
 
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #11 - 15. Ноября 2007 :: 07:32
Печать  
Всё подключился, но теперь при выполнении запроса выдаёт странное сообщение
Meta name parser error: не указан параметр ":ДатаНачалаЗапроса"
Хотя там она точно задана. Смотрел через отладчик.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #12 - 16. Ноября 2007 :: 05:12
Печать  
А вопрос осталсяУлыбка Подскажите что это за ошибка и как с ней бороться.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #13 - 16. Ноября 2007 :: 05:33
Печать  
Ты конечно извини, только мне УЖЕ не интересно вытаскивать из тебя информацию. Но все таки попробую:
В каком запросе? Почему текста запроса тут нет? Как устанавливаешь параметр? Как подключаешься к базе? Пробовал ли включить рс.Отладка(1);?
Ответь хотя бы на это.
  
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Пишу свой первый прямой запрос. Помогайте:)
Ответ #14 - 16. Ноября 2007 :: 06:40
Печать  
Всё написано в этой веткке. Текст запроса в первом посте, но если надо повторю. Вот весь текст процедуры в принципе:


//*******************************************
Процедура Сформировать()
     
     ИБ = СоздатьОбъект("ODBCDataBase");
     ИБ.ПрисоединитьИБ("E:\1C\Base_Tovar_New\");
     РС = СоздатьОбъект("ODBCRecordSet");
     РС.УстБД(ИБ);
     
     ТекстЗапроса = " 
     |SELECT   
     |    Рег.асТовар as [асТовар $Справочник.Номенклатура],
     |    Рег.КоличествоНачальныйОстаток as КоличествоНачОст,
     |    Рег.КоличествоПриход as КоличествоПриход,
     |    Рег.КоличествоРасход as КоличествоРасход,
     |    Рег.КоличествоКонечныйОстаток as КоличествоКонОст,
     |    Рег.СуммаПриход as СуммаПриход,
     |    Рег.СуммаРасход aa СуммаРасход,
     |    Рег.СуммаКонечныйОстаток as СуммаКонОст,
     |FROM
     |   $РегистрОстаткиОбороты.ОстаткиТоваров(:ДатаНачалаЗапроса, :КонпрМесяца~,,,
     |                                ,,)) as Рег";
     РС.Отладка(1);            
     ТЗ = РС.ВыполнитьИнструкцию(ТекстЗапроса);
     ТЗ.ВыбратьСтроку();


КонецПроцедуры
Сам видишь что пробовал включить, но результат такой:

ТЗ = РС.ВыполнитьИнструкцию(ТекстЗапроса);
{E:\1C\BASE_NEW\EXTFORMS\!_АНДРЕЙ\ПОДКЛЮЧЕНИЕ_К_БАЗЕ_И_ПРЯМОЙ_ЗАПРОС.ERT(23)}: Meta name parser error: не указан параметр ":ДатаНачалаЗапроса"

ЗЫ Самого бесит задавть такие тупые вопросы, но учится больше негдеПечаль
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать