Страница 2 из 2

Добавлено: 29 мар 2010, 13:20
Алексей
а почему тогда у вас 5 проводок а не две? :) отсекайте лишние по счетам субсчетам. и если есть аналитика можно по нреку МЦ подцепить позиции той же накладной или ордера.

Добавлено: 29 мар 2010, 13:27
Den
select k.nrec,sp.nrec,mc.name,podr.name,ob.scheto,ob.schetk,ob.sumob,ord.srprice,katmol.name
from katsopr k
,spsopr sp
,soprhoz
,oborot ob
,katmc mc
,sporder ord
,katpodr podr
,sklorder sklo
,katmol
where ((
comp(n) == ob.cplanssch and
Date(26,03,2010)==ob.datob and
word(101) == ob.tidk (noindex) and
ob.csoprhoz /== soprhoz.nrec and
soprhoz.csoprdoc == k.nrec and
k.nrec == sp.csopr
and ob.kauos[1]==sp.cmcusl (noindex)
and sp.nrec == ord.cspsopr
and ord.cmc ==mc.nrec
and ord.csklorder == sklo.nrec
and sklo.cmol == katmol.nrec
and k.corg == katorg.nrec
and k.CPODRTO == podr.nrec
))
and isvalidall(tnsp)
;

Конечно, если есть проводки , где не ведется аналитика к счету дебета по мц, то она "отвалится"

Добавлено: 29 мар 2010, 13:38
KATZ
tolctiy писал(а):удваивает проводки , но данные выводит все
tolctiy писал(а):Позиций по накладной 2-е и когда привязываю ТХО идет 5-ть проводок.
Как и следовало ожидать, не удваивает, а к каждой проводке подтягивает по очереди все позиции накладной. Было бы их 10 - удесятеряло бы.
tolctiy писал(а):Проводки к накладной идут в разрезе спецификаций, аналитика по МЦ в роди есть(если я правильно ее посмотрел. Ее смотреть в настройке самой ТХО(провобки)?).
Нормально! А в стартовом сообщении откуда взялось
tolctiy писал(а):oborot.kauos[4]==katmc.nrec
И вообще, раз 5 проводок к двум позициям, то вряд ли существует жесткая связь между проводками и спецификацией. Определитесь, что для вас первично. И неплохо было бы вашу задачу сначала словами сформулировать, а уже потом просить искать ошибки в запросе. Не совсем понятно (думаю, не мне одному), что вы в итоге хотите получить.

Добавлено: 29 мар 2010, 13:46
Den
"...Задача состоит в том, чтобы выбрать все приходы от контрагентов с учетом счетов, субсчетов дебита/кредита..."

KATZ, быстрее всего ему нужна инфа по счету оприходования материалов, тем более о внешних накладных вроде как речь шла.
А вообще ,согласен. Условия задачи можно было почётче обрисовать )

Добавлено: 29 мар 2010, 14:08
KATZ
Den
Если на самом деле нужно по счету, то лучше в SPSOPR и в SPORDER вообще не лезть. МЦ, ед. измерения, сумма и количество есть в проводках, из документов можно реквизиты "шапок" подтянуть, а спецификации трогать, ИМХО, незачем.

Добавлено: 29 мар 2010, 16:03
tolctiy
Ведомость должна отражает стоимость приобретенных ТМЦ по учётным ценам и по фактической себестоимости с расшифровкой её слагаемых по каждому счёту-фактуре поставщика.

Добавлено: 29 мар 2010, 16:15
tolctiy
Такую ведомость реально сформировать?

Ведомость формируется на основе:
 данных аналитического учёта производственных запасов и МБП о поступлении на склады ТМЦ от поставщиков, полученных из первичных документов – приходных ордеров;
 данных аналитического учёта расчётов с поставщиками о предъявленных поставщиками и принятых к оплате счетах-фактурах;
 бухгалтерских справок о проведении в учёте выявленных недостач при приёмке груза (независимо от того, оформлены или не оформлены данные недостачи актами), а также в пределах норм естественной убыли при транспортировке.

Добавлено: 29 мар 2010, 17:31
KATZ
tolctiy
Если честно, ясности не добавилось. Ваш SQL-запрос явно не покрывает все 3 пункта. Боюсь, что вашу задачу вообще не решить SQL-запросом, тут надо смотреть в сторону VIP-а. Первичные данные по 1-му пункту должны браться из ПСО в связке с приходными накладными, по 2-му - из приходных накладных в связке с ДО на закупку и с исходящими платежами к этим ДО, по 3-му - из бух. учета. Задача, как вы ее формулируете, - о-о-о-чень специфическая, под особенности вашего предприятия. Для начала подумайте, нельзя ли всё, что вам нужно, достать из данных бух. учета. Это упростило бы отчет + добавило бы ему логики и определенности. Постарайтесь избежать варианта, когда придется брать часть цифр из документов, а часть - из проводок, непременно сами запутаетесь.
стоимость приобретенных ТМЦ по учётным ценам и по фактической себестоимости
А у вас учетные цены могут не отражать фактическую себестоимость? Т. е. заплатили при покупке, допустим, 100 руб., а оприходовали на склад на 200?

Добавлено: 29 мар 2010, 17:38
tolctiy
KATZ
Тогда подскажите как вытянуть МЦ(наименование, баркод и обозначение) из проводок и из каких документов подтянуть реквизиты шапок?

Добавлено: 29 мар 2010, 20:46
KATZ
Судя по стартовому сообщению, в проводках есть аналитика по МЦ. Если взять первый запрос за основу, то могло бы быть как-то так:

Код: Выделить всё

where
((
  101==KATSOPR.vidsopr and
  StartDate<<=KATSOPR.dopr and
  EndDate>>=KATSOPR.dopr and
  101==OBOROT.tidk and
  KATSOPR.nrec==OBOROT.csoprdoc and
  PlanNRec==OBOROT.cplanssch and
  OBOROT.kauos[4]==KATMC.nrec and
  OBOROT.ced==KATED.nrec and
  KATSOPR.corg==KATORG.nrec and
  KATSOPR.cstepdoc==STEPDOC.nrec and
  KATSOPR.cbasedoc==BASEDOC.nrec and
  KATSOPR.nrec==SKLORDER.csopr and
  SKLORDER.cpodr==KATPODR.nrec and
  SKLORDER.cmol==KATMOL.nrec
))
StartDate, EndDate и PlanNRec сами впишете. OBOROT.kauos[4] взято из первого запроса, нужно будет уточнить, на каком уровне дебета или кредита аналитика по МЦ, или использовать функцию if(). Если нигде не опечатался, то должно работать.
Еще есть один "подводный камень". К одной приходной накладной теоретически может быть несколько ПСО, "Галактика" допускает оприходование одного документа на разные склады/МОЛы. Этим редко кто пользуется, но если у вас такие документы встречаются - запрос не будет правильно работать.

Здесь, как вы поняли, идем от приходных накладных, во-первых, к проводкам и, во-вторых, к остальным связанным документам. Можно, отталкиваясь от проводок, прийти сначала к накладным, а потом от них к остальным документам. В запросе совсем немного придется поменять. Но пусть это, а также сравнение вариантов и анализ их плюсов и минусов, останутся вам в качестве упражнения.

Добавлено: 30 мар 2010, 11:09
tolctiy
KATZ
Извените что надоедаю, но я еще не очень селен в программировании.
Вопрос:
1. С какой таблицы по вашему запросу мне вытащить цену?
2. Если мне надо вытащить цену поставщика(из счета) и цену по ордеру
в запрос который приведен вами выше. Это не реально? Или запрос будет выводить по каждую позицию все проводки которые есть по документу(тоисть если 2-е МЦ и 3-и проводки, всего будет 6-ть позиций)?

Добавлено: 30 мар 2010, 13:49
KATZ
1. Из проводок. Опять же сужу по вашему первому запросу, там упоминались OBOROT.kol и OBOROT.ced==KATED.nrec. Значит, количественный учет ведется, и цена равна OBOROT.sumob/OBOROT.kol. Чтобы исключить деление на 0, сделайте проверку количества.

2. Вообще цена из проводки и цены из ордера/накладной/ДО - одно и то же (иногда за вычетом НДС, иногда с плюсом сопутствующих услуг, но это детали). Можно подтянуть спецификации ДО и ПСО

Код: Выделить всё

...
STEPDOC.nrec==SPSTEP.cstepdoc and
1==SPSTEP.prmc and
OBOROT.kauos[4]==SPSTEP.cmcusl and
SKLORDER.nrec==SPORDER.csklorder and
OBOROT.kauos[4]==SPORDER.cmc and
...
Но данный запрос правильно сработает, только если в документе нет двух позиций с одинаковым наименованием. А в жизни такое бывает нередко. Если все-таки хотите работать одновременно с проводками и со спецификациями документов - изучайте VIP.