Имя: Пароль:
1C
1C 7.7
v7: Проблема с прямым запросом к MSSQL
0 Art-SiteDesign
 
14.06.13
02:51
Добрый день уважаемые форумчане!
С недавнего времени столкнулся с такой проблемой:
Необходимо прямым запросом к MSSQL базе 1с (комплексная 7.7) получить информацию о дебиторской задолженности по каждому контрагенту.
Если быть точнее, необходимо после того как будет выбран контрагент,
зная его id можно было вывести табличку: дата реализации, сумма реализации, сумма задолженности и сумма оплаты (все это в зависимости от текущей даты)
На данный момент мне известны следующие данные:
1) Необходимо искать дебитовое сальдо по 62 счету...
2) Есть в MSSQL такие прекрасные таблицы, по которым и надо как-то формировать запрос:

#==TABLE no 560    : Отбор проводок по субконто
# Name    |Descr                         |SQLTableNam|RecordLock
T=1SSBSEL |Отбор проводок по субконто    |_1SSBSEL   |          
#-----Fields-------
# Name                  |Descr               |Type|Length|Precision
F=ROW_ID                |Row ID              |I   |0     |0        
F=SBKINDID              |Sb Kind ID of select|I   |0     |0        
F=VAL                   |Value               |C   |9     |0        
F=DOCID                 |Doc ID              |C   |9     |0        
F=DATE_TIME_DOCID       |Date                |C   |23    |0        
F=NUMBER                |Prov number         |I   |0     |0        
F=CORNO                 |Correspond number   |I   |0     |0  

#==TABLE no 552    : Счета
# Name    |Descr                         |SQLTableNam|RecordLock
T=1SACCS  |Счета                         |_1SACCS    |R        
#-----Fields-------
# Name                  |Descr               |Type|Length|Precision
F=ROW_ID                |Row ID              |I   |0     |0        
F=ID                    |Account Id          |C   |9     |0        
F=PLANID                |Plan Id             |I   |0     |0        
F=SCHKOD                |Account code(number)|C   |8     |0        
F=SCHIM                 |Account description |C   |25    |0        
F=SCHV                  |Flag Currency enable|L   |0     |0        
F=SCHKOL                |Flag Amount enable  |L   |0     |0        
F=SCHSINGLE             |Flag no need corresp|L   |0     |0        
F=ISFOLDER              |Flag Have child acco|L   |0     |0        
F=ISMARK                |Flag Object is Marke|L   |0     |0        
F=LEVEL_                |Level of Account    |S   |0     |0        
F=MDID                  |Metadata Id         |I   |0     |0        
F=ACTIVE                |Flag Active         |Y   |0     |0        
F=VERSTAMP              |Version stamp       |I   |0     |0        
F=SC0                   |                    |I   |0     |0        
F=OSC0                  |                    |Y   |0     |0        
F=FSC0                  |                    |Y   |0     |0        
F=SC1                   |                    |I   |0     |0        
F=OSC1                  |                    |Y   |0     |0        
F=FSC1                  |                    |Y   |0     |0        
F=SC2                   |                    |I   |0     |0        
F=OSC2                  |                    |Y   |0     |0        
F=FSC2                  |                    |Y   |0     |0        
F=SP7737                |(P)ПолнНаименование |M   |0     |0  

#==TABLE no 554    : Проводки
# Name    |Descr                         |SQLTableNam|RecordLock
T=1SENTRY |Проводки                      |_1SENTRY   |          
#-----Fields-------
# Name                  |Descr               |Type|Length|Precision
F=ROW_ID                |Row ID              |I   |0     |0        
F=DOCID                 |Document Id         |C   |9     |0        
F=NUMBER                |Prov number         |I   |0     |0        
F=CORNO                 |Correspond number   |I   |0     |0        
F=DATE_TIME_DOCID       |date+time+docid     |C   |23    |0        
F=ACCDTID               |AccountDt Id        |C   |9     |0        
F=ACCKTID               |AccountKt Id        |C   |9     |0        
F=SUM_                  |Prov sum            |N   |14    |2        
F=CURRID                |Currency Id         |C   |9     |0        
F=CURSUM                |Prov currency sum   |N   |14    |2        
F=AMOUNT                |Prov amount         |N   |14    |3        
F=PROVKIND              |                    |C   |1     |0        
F=ACTIVE                |                    |C   |1     |0        
F=DTFLAGS               |                    |Y   |0     |0        
F=KTFLAGS               |                    |Y   |0     |0        
F=DOCLINENO             |Doc line number     |I   |0     |0        
F=SP7734                |(P)СодержаниеПроводк|C   |50    |0        
F=SP7735                |(P)НомерЖурнала     |C   |2     |0        
F=SP7736                |(P)РазделительУчета |C   |9     |0        
F=SP27758               |(P)ПервичныйДокумент|C   |25    |0        
F=DTSC0                 |                    |C   |9     |0        
F=VDTSC0                |                    |I   |0     |0        
F=ODTSC0                |                    |Y   |0     |0        
F=DTSC1                 |                    |C   |9     |0        
F=VDTSC1                |                    |I   |0     |0        
F=ODTSC1                |                    |Y   |0     |0        
F=DTSC2                 |                    |C   |9     |0        
F=VDTSC2                |                    |I   |0     |0        
F=ODTSC2                |                    |Y   |0     |0        
F=KTSC0                 |                    |C   |9     |0        
F=VKTSC0                |                    |I   |0     |0        
F=OKTSC0                |                    |Y   |0     |0        
F=KTSC1                 |                    |C   |9     |0        
F=VKTSC1                |                    |I   |0     |0        
F=OKTSC1                |                    |Y   |0     |0        
F=KTSC2                 |                    |C   |9     |0        
F=VKTSC2                |                    |I   |0     |0        
F=OKTSC2                |                    |Y   |0     |0        

Если кто может, помогите пожалуйста разобраться что и как....
Если можно то пример запроса с выводом долга по реализациям для определенного контрагента.
Дело в том, что в 1с я плохо разбираюсь и такие понятия как счет, сальдо и.т.д. ля меня темный лес =(
Заранее спасибо!!!
1 Zhuravlik
 
14.06.13
02:54
Зачем именно прямым?
2 Zhuravlik
 
14.06.13
03:01
+ В комплексной есть отчет "Ведомость по контрагентам", то что вам нужно видеть (дата реализации, сумма реализации, сумма задолженности и сумма оплаты) - как раз он и сможет показать :)
И на инфостарте, и на проклабе есть клоны этого отчета с самым разным припиленным функционалом...
-
Кроме того анализ взаиморасчетов с контрагентами - это анализ регистров "Взаиморасчеты ...", если говорить о 62 счете - "Взаиморасчеты с покупателями" (идентификатор - "Покупатели").
3 Mikeware
 
14.06.13
03:14
Присоединюсь к (1)...
Хотя догадываюсь, что ребяты хотят получат данные непосредственно с сайта...
оно вам надо, сайтостроителям-то?
4 МуМу
 
14.06.13
05:56
У нас есть такой переходник для сайтостроителей. Сам лично строил в какое то время. Типа шины данных. Набор вьюх и процедур понятных. Посмотрите на сайте softpoint.ru
5 ЧеловекДуши
 
14.06.13
06:33
(2) Он тормозной на больших объемах информации :)
6 ЧеловекДуши
 
14.06.13
06:35
(0) Держи горемыка, изучай...
http://www.1cpp.ru/forum/YaBB.pl?num=1288774760/all

Это ВК является интерфейсной частью 1С + SQL, поля вида SP7735 можно представлять в запросе по человечески "СодержаниеПроводк"
7 ЧеловекДуши
 
14.06.13
06:36
+ Требует знание Запросов wiki:SQL
Хватит познания в запросов на ФоксПро :)
8 sttt
 
14.06.13
06:44
можно и без прямых запросов и без вк, родным 1с, летает быстро
9 Mikeware
 
14.06.13
06:46
(6) ему надо снаружи, без 1С. а снаружи и без 1с с 1с++ не получится.
поэтому либо (4), либо препроцессировать 1с++ запрос, и встаслять в свой сайтоскрипт...
10 ЧеловекДуши
 
14.06.13
07:31
(9) Вот оно как :(
Не повезло, я ему сочувствую, главное не спятить из-за SP7735 и ежи подобному :)

Тогда все просто, ему придется писать "аналог" 1С++, кпримеру что-то вроде:

Select * From [Док.Реализация] as Реал(NOLOCK)

И строку вида "[Док.Реализация]" заменять на нужную ему команду :)
11 Mikeware
 
14.06.13
07:50
(10) не надо.
достаточно написать "нормльный 1с++ запрос", и прогнать его через Отладка(1) или ОбрМетаСКЛ()
12 Mikeware
 
14.06.13
07:50
+(11) ну и не выдергивать агрегатные типы, а приводить к примитивным.
13 ADirks
 
14.06.13
08:46
А лучше всё-таки вьюхи нагенерить, с человеческими именами таблиц и колонок. Я давно пишу запросы исключительно ч/з вьюхи - это намного удобнее, и QA потом удобно смотреть.
Хотя, с бухитогами всё равно гемор конечно.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn