|
|
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
есть 1с 7.7 с базой на sql. Нужно выбрать последний приходный документ по каждому из товаров. Подскажите прямой запрос к sql пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 12:25 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_dem, Это вам быстрее ответят в разделе Microsoft SQL Server. Я бы и тут ответил, если была бы хотя бы структура таблицы с полями. Без таблицы могу сказать, что надо сделать что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 12:51 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Кидали бы их в периодический реквзит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:04 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Leierkastenmann, вот структура: RA1130 ОстаткиТоваров движения #-----Fields------- # Name |Descr |Type|Length|Precision F=IDDOC |ID Document's |C |9 |0 F=LINENO_ |LineNo |S |0 |0 F=ACTNO |Action No |I |0 |0 F=DEBKRED |Flag Debet/Kredit |L |0 |0 F=IDDOCDEF |ID Def Document |I |0 |0 F=DATE_TIME_IDDOC |Date+Time+IDDoc |C |23 |0 F=SP1131 |(P)Товар |C |9 |0 F=SP6445 |(P)Склад |C |9 |0 F=SP1132 |(P)Партия |C |9 |0 F=SP7032 |(P)Фирма |C |9 |0 F=SP1133 |(P)ОстатокТовара |N |11 |3 F=SP2655 |(P)Стоимость |N |14 |2 F=SP6488 |(P)НДС |N |14 |2 F=SP3027 |(P)КодОперации |C |1 |0 F=SP8129 |(P)СтавкаНДС |C |9 |0 F=SP8130 |(P)НДСДокумента |N |14 |2 в sql я смог придумать только такой вот запрос: select top 1 * from RA1130 where (SP1131=' 5S9Ц ') and (DEBKRED=1) order by DATE_TIME_IDDOC desc но он мне возвращает последний приход по конкретному товару, а как по всем сделать - у меня проблема( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:10 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Программист 1сКидали бы их в периодический реквзит... Если бы делал с нуля, вообще бы с семеркой не связывался)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:13 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_demLeierkastenmann, вот структура: RA1130 ОстаткиТоваров движения #-----Fields------- # Name |Descr |Type|Length|Precision F=IDDOC |ID Document's |C |9 |0 F=LINENO_ |LineNo |S |0 |0 F=ACTNO |Action No |I |0 |0 F=DEBKRED |Flag Debet/Kredit |L |0 |0 F=IDDOCDEF |ID Def Document |I |0 |0 F=DATE_TIME_IDDOC |Date+Time+IDDoc |C |23 |0 F=SP1131 |(P)Товар |C |9 |0 F=SP6445 |(P)Склад |C |9 |0 F=SP1132 |(P)Партия |C |9 |0 F=SP7032 |(P)Фирма |C |9 |0 F=SP1133 |(P)ОстатокТовара |N |11 |3 F=SP2655 |(P)Стоимость |N |14 |2 F=SP6488 |(P)НДС |N |14 |2 F=SP3027 |(P)КодОперации |C |1 |0 F=SP8129 |(P)СтавкаНДС |C |9 |0 F=SP8130 |(P)НДСДокумента |N |14 |2 в sql я смог придумать только такой вот запрос: select top 1 * from RA1130 where (SP1131=' 5S9Ц ') and (DEBKRED=1) order by DATE_TIME_IDDOC desc но он мне возвращает последний приход по конкретному товару, а как по всем сделать - у меня проблема( Ну вот и подставляйте в запрос, который я написал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если надо ограничение по товару, то просто еще условие добавьте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:36 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Программист 1сКидали бы их в периодический реквзит... Прямой запрос от этого не сильно изменится, если нужен будет последний приход по товару. То же самое будет, только к _1sconst. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:42 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Leierkastenmann Ну вот и подставляйте в запрос, который я написал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если надо ограничение по товару, то просто еще условие добавьте. Дело в том что этот запрос вернет ВСЕ приходы по всем товарам, а мне надо только последний .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 13:44 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_dem Дело в том что этот запрос вернет ВСЕ приходы по всем товарам, а мне надо только последний .. Запрос вернул или вы думаете, что он вернет? Только кстати почему debkred = 1, если приходные движения debkred = 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 14:11 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Leierkastenmann Запрос вернул или вы думаете, что он вернет? Вернул Leierkastenmann Только кстати почему debkred = 1, если приходные движения debkred = 0? Действительно, черт попутал) Сделал на базе вашего примера следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Спасибо за помощь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 14:42 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_dem, Не верю, чтобы мой запрос вернул для одного и того же товара несколько строк с разными значениями поля iddoc. Несколько строк может быть только если документ делает несколько движений или просто товар по строкам дублируется. Это исключается дополнительным условием на поле actno (или lineno_) А вот ваш модифицированный запрос вернет только тот товар, по которому не было других приходов. Естественно что единственный приход он есть последний, но как быть с товарами, у которых несколько приходов? Сортировки внутри exists в данном случае бессмысленны, от них наличие/отсутствие записей не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:05 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Чёт у Вас тут как-то всё сложно ;) Select ra.SP1131, Max(j.DATE_TIME_IDDOC) From RA1130 ra Join _1Sjounr J on ra.IDDOC = j.IDDOC Group By ra.SP1131 Товары могут приходоваться разными типами документов? Если нет, то строить не по регистру, а по ТЧ документа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:19 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
AHDP, А если другие реквизиты помимо номенклатуры и документа нужны, то как с таким запросом выкручиваться будете? Наворочанные соединения строить? И зачем соединение с журналом? Условий на период никаких нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:27 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
AHDP, Leierkastenmann огромное спасибо! P.S. Интересно бы почитать курс молодого бойца в sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:30 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Про журнал согласен, забыл, что дата в регистре лежит. Дата необходима для определения "Последний" в пользоваетльском понимании этого термина. Так что всё вообще сводится к простой группировке по товару с определением Max(). Если запрос более хитрый, тогда и добавятся Join's с Exist'ами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:33 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_dem, Вам уже указали на sql-ex.ru. Учебник к нему тут sql-tutorial.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 15:38 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
AHDP, Я прошу прощения, но у меня есть ещё один глупый вопрос. Собственно запрос я делаю средствами 1С++ для 1с77. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 16:07 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
Ссылку на документ даёт IDDOC. Вам для получения IDDOC необходимо воспользоваться функцией Right(Max(...), 9) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2010, 16:12 |
|
||
|
Прямой запрос к sql из 1С 7.7
|
|||
|---|---|---|---|
|
#18+
nick_dem, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ну а так научитесь пользоваться поиском. Я по крайней мере ради интереса посмотрел - штук 6 ссылок дает практически на готовое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2010, 11:21 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=95&tid=1521857]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 404ms |

| 0 / 0 |
