Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Выборка документов (число прочтений - 5814 )
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Выборка документов
07. Ноября 2006 :: 07:42
Печать  
Народ, кто может подсказать, как выбрать документы определенного типа по одному из контрагентов? Или по любому другому реквизиту шапки доки?
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
Vaicartana
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 50
Местоположение: Far, Far Away...
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Выборка документов
Ответ #1 - 07. Ноября 2006 :: 07:50
Печать  
SELECT
**
FROM $Документ.МойДокумент AS Док
WHERE $Док.Контрагент=:ВыбКонтрагент
  
Наверх
 
IP записан
 
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #2 - 07. Ноября 2006 :: 08:48
Печать  
Улыбка Спасибо
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #3 - 08. Ноября 2006 :: 08:04
Печать  
А как заставить работать вот это:

select
Док.iddoc [Документ $Документ],
j.iddocdef Документ_вид,
j.CLOSED,
j.ISMARK
from dh294 AS Док inner join _1sjourn AS j on j.IDDOC = Док.IDDOC
where j.date_time_iddoc between '20060101' and '20060131Z'
order by j.date_time_iddoc
UNION ALL                  
select
Док.iddoc [Документ $Документ],
j.iddocdef Документ_вид,
j.CLOSED,
j.ISMARK
from dh11188 AS Док inner join _1sjourn AS j on j.IDDOC = Док.IDDOC
where j.date_time_iddoc between '20060101' and '20060131Z'
order by j.date_time_iddoc
Смущённый
Ошибка :

ТЗ=RecordSet.ВыполнитьИнструкцию(Текст);
{C:\1C\ОБРАБОТКИ\77\ОБРАБОТКАДОКОВ.ERT(175)}: State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'UNION'.

Собсн запрос формируется в цикле и колицесво UNION`ов может быть больше (зависит от кол-ва выбранных видов документов)...

Буду очччнь признателен за пошчь.....
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Выборка документов
Ответ #4 - 08. Ноября 2006 :: 08:25
Печать  
myk0lka писал(а) 08. Ноября 2006 :: 08:04:
А как заставить работать вот это:
{C:\1C\ОБРАБОТКИ\77\ОБРАБОТКАДОКОВ.ERT(175)}: State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'UNION'.
.....


Насколько я понимаю, где-то так:

select a,b,c
from
select z.x as a, c.v as b, q.w as c
from
....
union all
select i.o as a, k.l as b, r.t as c
from
....
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #5 - 08. Ноября 2006 :: 08:25
Печать  
Короче вот что:
Без  order by j.date_time_iddoc работает на ура... Но сортировку то как сюда воткнуть? Смущённый
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Выборка документов
Ответ #6 - 08. Ноября 2006 :: 08:36
Печать  
См.ниже работающий запрос.
Исправление типичной ошибки выделено.

select контрагент, группа
from
(
select
клиент as контрагент, реферер as группа
from
usr1c2_klient_1
union all
select
клиент as контрагент, реферер as группа
from
usr1c32_2_klient_1
) as level1
order by контрагент, группа
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #7 - 08. Ноября 2006 :: 08:50
Печать  
Спасибо огромное!!! Работает! Класс
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Выборка документов
Ответ #8 - 08. Ноября 2006 :: 10:21
Печать  
Можно и без подзапроса. Учесть только Цитата:
The ORDER BY clause can include items not appearing in the select list. However, if SELECT DISTINCT is specified, or if the SELECT statement contains a UNION operator, the sort columns must appear in the select list.

Furthermore, when the SELECT statement includes a UNION operator, the column names or column aliases must be those specified in the first select list.
Т.е. примерно так:
Код
Выбрать все
select
    Док.iddoc [Документ $Документ],
    j.iddocdef Документ_вид,
    j.CLOSED,
    j.ISMARK,
    j.date_time_iddoc
from dh294 AS Док inner join _1sjourn AS j on j.IDDOC = Док.IDDOC
where j.date_time_iddoc between '20060101' and '20060131Z'
UNION ALL
select
    Док.iddoc,
    j.iddocdef,
    j.CLOSED,
    j.ISMARK,
    j.date_time_iddoc
from dh11188 AS Док inner join _1sjourn AS j on j.IDDOC = Док.IDDOC
where j.date_time_iddoc between '20060101' and '20060131Z'
order by j.date_time_iddoc  

  

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


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #9 - 09. Ноября 2006 :: 11:44
Печать  
Спасибо!
Но теперь вот какая проблемка:
При использовании ReconnectNative() 1С вываливается с ошибкой что-то вроде "Invalid handl", а после "Невосстановимая ошибка базы бла-бла-бла...".
Почему? Сделал все как в примере... Вот код:
     Для СчСтрок = 1 По ВсегоСтрок Цикл
           ТЗ.ПолучитьСтрокуПоНомеру(СчСтрок);
           Док.НайтиДокумент(ТЗ.Документ);
           //Проведение
           Если Обработка = "Провести" Тогда
                 Если Док.ПометкаУдаления() = 0 Тогда
                       Если МонопольныйРежим() = 1 Тогда
                             БИ.Рассчитать(, Док.ТекущийДокумент());
                       КонецЕсли;
                       Если глСч>10 Тогда
                             Сообщить("=================== Реконнект====================");
                             DataBase.ReconnectNative();
                             глСч = 0;
                       КонецЕсли;
                       Если Док.Провести() = 0 Тогда
                             Возврат;
                       КонецЕсли;
                       Сообщить("Проведение "+Док);
                       глСч = глСч+1;
                       Событие    = "Проведен";
                       Объект     = Док.ТекущийДокумент();
                       Категория  = 2;
                 КонецЕсли;
                ............................
КонецЦикла;
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


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

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов
Ответ #10 - 09. Ноября 2006 :: 11:50
Печать  
Цитата:
Синтаксис: ReconnectNative()


Описание: специальный метод для решения проблемы с MSSQL 2000 (Bug #: 472280) Выполняет отключение и подключение родного соединения программы с сервером. При этом не должно быть открытых форм списков, форм объектов, прочих объектов языка на основе курсора, подготовленных или перебираемых объектов ODBCRecordset (через родное соединение, разумеется). Не допускается вызывать этот метод в транзакции явной или неявной.


перед строчкой DataBase.ReconnectNative();
удали все объектные переменные и т.д.:
Док = 0;
DataBase.ReconnectNative();
  
Наверх
 
IP записан
 
myk0lka
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 7
Зарегистрирован: 07. Ноября 2006
Пол: Мужской
Re: Выборка документов
Ответ #11 - 09. Ноября 2006 :: 12:17
Печать  
Работает! Спасибо! Очень довольный
  

Самое неприятное после родственников это однофамильцы!
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать