#0
by Necytij
В общем нужно выводить отчет по контрагентам, на какой договор сколько было оплачено. Написал запрос: | СчетФактураВыданный.ВКассу"; Опыта пока очень мало, только-только почитал книжки. Поэтому и с этим возни у меня возникло довольно много проблем. Но в чем собственно проблема сейчас - должен ведь считать сумму и по счет-фактурам, а не считает их. По приходникам и по кассовым ордерам считает, а по Счет-фактурам нет. '(( Пробовал загнать весь этот текст во вложенный отчет(без СУММА и СГРУППИРОВАТЬ), и потом там установил СУММА(СчетфактураВыданный.СуммаДокумента). Результат тот же - выдает весь список счет-фактур за определенный период, а не с объединением по контрагентам, договорам. Попробовал использовать "ИТОГИ СУММА ПО Контрагент, ДоговорКонтрагента", вообще муть какая-то получается. Помогите, пожалуйста. Посоветуйте что здесь может быть неправильно?
#2
by Рэйв
ВБанк ВКассу ..Это суммы. Какого @@@ ты по ним группируешь? Исключи суммируемые поля из группировки и посмотри на результат
#3
by Necytij
[2] Я бы и не группировал, но вот сам построитель запросов и платформа ругаются, да и прочитал, что в 8-й версии 1С, каждое поле из запроса должно либо учавствовать в агрегатной функции, либо быть группировачным полем. Процитировать точно не могу, но спасибо автору этого поста, по-моему где-то тут на форуме и вычитал...
#4
by Necytij
[1] Идея создать регистр - хорошая, спасибо. Но в данном случае мне бы желательно запрос написать. Потому что там муть у них с ведением бухгалтерии и договоров в частности.
#5
by ShoGUN
Он пытался сказать, что у тебя должно быть СУММА(СчетФактураВыданный.ВБанк) СУММА(СчетФактураВыданный.ВКассу) Либо вообще эти поля убери нахрен.
#6
by Necytij
[5] Они у меня суммируются во вложенном запросе, куда мне их еще суммировать? - на каждый договор будет одно значение ВБанк и одно ВКассу. Значение это нужно, никуда убирать его нельзя. Кстати, такой вариант в порывах паники тоже пробовал. Никакой реакции. Если стоит СУММА в основном и вложенном запросе, то результат тот же, что и в том запросе, что написан выше, если СУММА по полям ВБанк и ВКассу только в основном, то количество строк увеличивается (на один договор может быть как несколько счет-фактур так и несколько платежей, при чем их количество может быть не равно), и СУММА складывается там где надо и там где не нужно. (К примеру, в выбранном сроке 2 счет-фактуры и 3 платежа, по всем полям будет сложено 3(или скорее даже 6, честно говоря не стал считать где и как, увидел просто в одной из строк значение в 3 раза превышающее, нужное) значения, что сделает значение поля СуммаПоСчетФактуре неверным, туда будет добавлен дубликат одной из записей счет-фактуры).
#7
by Necytij
"На каждый договор будет одно значение ВБанк и одно ВКассу." В смысле уж как попадется, может и ни одного, просто не более одного значения в поле на каждый договор.
#8
by ShoGUN
Так... Много текста. Как должна выглядеть таблица результата запроса? Нарисуй например mxl и выложи куда-нить.
#9
by HEKPOH
"Они у меня суммируются во вложенном запросе, куда мне их еще суммировать?" - и что? суммируй - хуже не будет)
#10
by Птица
а зачем во внешнем запросе сгруппировать, если ты все равно группируешь по дате и номеру сф? убери дату и номер из группировок и из выбрать
#11
by Птица
к тому же, у тебя суммы двух присоединенных таблиц будут задваиваться, затраиваться и т.д. - по числу счетов-фактур на конкретном договоре
#12
by Птица
в общем, нужно исходить из того, какие договора должны попасть в запрос. если все, то главная таблица будет справочник.Договоры если те, по которым были какие-то движения за период, то лучше сделать через ОБЪЕДИНИТЬ
#13
by Necytij
[10]-[12] оо, и то верно, в этом случае будут увеличиваться суммы платежек. Блин, вторые сутки запрос этот пишу и все равно неправильный написал. ОБЪЕДИНИТЬ, надо покопать в эту сторону. Возможно это вариант. [8] Рисовать, простите, не умею. таблица д.б. такой: Контрагент/ Номер договора/ наименованиеДоговора/ СуммаДоговора/ СуммаВыполненныхРабот (определяется поСчетФактурам)/ ОплаченоВКассу/ ОплаченоВБанк/ ЗадолженностьНаКонецПериода(это поле я пока в запрос не включал, ибо и так не работает))). [9] Я ведь уже писал, что так тоже пробовал.
#14
by ShoGUN
Истину глаголит, потому что связь СчетФактура-Платежка получается многие ко многим. Через договор будут соединяться каждый с каждой, в результате - чушь.
#15
by Птица
кроме того, через левое соединение могут не попасть те договоры, по которым был платеж, но не было счетов-фактур
#17
by Necytij
Не стал делать отдельный регистр, сделал запрос через БухгалтерскийРегистр. Это вообще для вменяемого человека нормально? Т.е. после того как я его написал, я понял, что куда правильнее для меня самого было уговарить клиента сделать по-человечески, ввести регистр, соответствующие движения, пару справочников и взять вдобавок за это больше, чем за один отчет, ведь копался с этим запросом трое суток невылазно. Запрос.Текст = Еще и потом такая штука - в запросе 1С не стала считать "Долг" = Сумма - ВКассу - ВБанк. В итоге вывожу как текст в ячейку: Область.Область("R1C7").Текст = Формат(?(Выборка.Сумма = NULL, 0, Выборка.Сумма) - ?(Выборка.ВБанк = NULL, 0, Выборка.ВБанк) - ?(Выборка.ВКассу = NULL, 0, Выборка.ВКассу), "ЧДЦ=2; ЧРД=','; ЧН='0,00'"); Это тоже маразм?
#18
by eklmn
бред уже то, что ты клиенту объясняешь что нужно вписать в конфу , а что нет. "С не стала считать "Долг" = Сумма - ВКассу - ВБанк" тоже бред
#20
by Necytij
[18] А ты с клиентом не равзговариваешь? Не говоришь за что он платить будет? Почему именно столько... и т.п. Многие небольшие фирмы когда слышит цену в 3000 рос.руб уже говорят - "иди отсюда пока цел..." А реальные фирмы и 15к берут за небольшую доделку. "1С не стала считать "Долг" = Сумма - ВКассу - ВБанк" тоже бред" Почему это? Писал как функцию в запрос, СУММА(1-2-3) -> не считает, писал как просто набор арифметических операций -> err."нельзя преобразовать в число", так как не в каждой записи есть значение по всем полям. Пришлось дописать до вот такого. [19] Буду брать. Еще ни разу не брал - первый, небольшой заказ. Потому такие ужасы. Не пугайтесь.
#21
by los_hooliganos
надо писать: case when СУММА(ОтчетПоДоговорам.Сумма1) - СУММА(ОтчетПоДоговорам.ВКассу1)- СУММА(ОтчетПоДоговорам.ВБанк1)is null then 0 else СУММА(ОтчетПоДоговорам.Сумма1) - СУММА(ОтчетПоДоговорам.ВКассу1)- СУММА(ОтчетПоДоговорам.ВБанк1) end КАК Долг,
#22
by Necytij
[20] Спасибо. Сохраню себе такую штуку. Но это как я понимаю только сделает вывод нуля в поле Долг, вместо Null, верно? А мне результат запроса просто выдавал пустое поле. Я предполагаю, обработчик запроса также как сам 1С не стал преобразовывать Null в число ноль. Поэтому для этой задачи там выражение изрядно усложниться, пожалуй.
#24
by los_hooliganos
Так делать не надо, иначе при агрегировании данных, null и целых чисел вообще непонятно чего получиться.
#26
by Necytij
[24, 25] Ясно. Спасибо большое за еще один отличный совет. Просто как мне выдал конструктор запроса, я и сделал. Даже не подумал, что может быть по-другому - не Null.
#27
by eklmn
клиент получает то что хочет, а как я это буду делать, его не должно волновать впринципе. Или он у тебя разбирается на уровне прога? думаю клиент уже заподозрил неладное :)
#28
by Necytij
[27] Ты не прав по обоим пунктам. По первому ты меня вообще не понял, по-второму, говоришь абсолютные глупости.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v8. Подключение к базе v7.7 из v8 через OLE Automation
- v8 строка подключения V8.Connect
- Волшебнику и всем кто поможет по теме "v8 УРБД на v8 за четыре шага"
- v8: при v8 = Новый COMОбъект("V8.Application") дает ошибку ..
- v8: Не могу подключиться из V8 к V8
- v8: есть ли аналоги openconf для 1с v8
- v8: Как удалить 1С v8 ?
- v8: нужен пример обработки выгрузки документа в текстовый файл
- v8: V8: Можно ли указать на клиенте 1С 8.3 Через какой интерфейс подкл к Серверу БД
- v8: 1с8 УП какой функцией можно получить стаж сотрудника
В этой группе 1С
- Проектирование: OLAP-куб в Excel
- Как поднять no-ip сервис на ubuntu?
- печать на фирменном бланке
- Создание отчета 1С 7.7
- Ошибка установки windows 98 в vmware 6.5
- Ошибка при обмене данными
- v8: Пересчет цены большие объемы
- Динамический список, вывод справочника с подчиненным
- Как сейчас называется P-CAD от Autodesk?
- Проводки документа Отчет производства за смену
- Построение прямой по точкам C#
- Данные правила обмена не предназначены для совместного использования с помошником(
- СКД: СКД вид отчеа "Таблица". Как колонки накрыть шапкой?
- ЗУП, в какой регистр заносится
- Групповая обработка документов.Помогите советом!
- Что значит отображение для табличной части документа в виде дерева
- BkEnd для SQLServer 2008 - кто может помочь
- Номер сообщения меньше или равен номеру ранее принятого сообщения
- Форма при выборе строки из таблицы значений
- Обычные формы в управляемом приложении