Разное количество полей объединяемых в запросах #452926


#0 by Salamona
Помогите начинающему программисту 1С, please, с запросами, измучали они меня уже порядком. Есть у меня такой отчет в Упраление Торговлей 8.1, который называется "Реестр по приходным накладным", отчет формируется на основании проведенных документов "Поступление товаров и услуг" и "Счет-фактура полученный". В этом отчете уже реализовано: 1) период - устанавл-ся пользователем вручную, узел выбирается из выпадающего списка (т.е. по каким магазинам формируется отчет), вид отчета выбирается из списка (полный, товары, услуги, основные средства); 2) На форме настройки параметров отчета размещены закладки (основные параметры, отбор, порядок, настройки внешнего вида); 3) На закладке «Основные параметры» предоставляется возможность выбора полей: документ поступления, сч/фактура полученный, сумма из документа поступления, сумма из док-та сч/фактура получ., сумма без НДС из док-та поступления,  сумма без НДС из док-та сч/фактура полученный, сумма НДС из документа поступления, сумма НДС из док-та сч/фактура полученный (При необходимости у пользователя есть возможность выбора любого поля, входящего в состав реквизитов документов поступления и счет-фактур полученных); 4) Если у документа «Пост.товаров и услуг» отсутствует связанный документ «Счет-фактура полученный», соответствующие поля в отчете не заполняются 5) В итоговой строке вычисляется сумма по следующим полям: - сумма из документа поступления; - сумма из документа сч/фактура полученный; - сумма без НДС из док-та поступления; - сумма без НДС из док-та сч/фактура полученный; - сумма НДС из док-та поступления; - сумма НДС из док-та сч/фактура полученный 6) В нижней части отражается информация: - количество документов поступления; - количество сч/фактур полученных 7) В печатной форме отображается дата и время печати, компьютер и пользователь 8) При формировании отчета осуществляется контроль: - дата док-та «Поступление тов.и услуг» = дата сч/фактура полученный - наименование контрагента док-та «Поступление тов.и услуг» = наим.контрагента сч/фактура полученный - сумма док-та «Поступление тов.и услуг»  = сумма сч/фактура полученный - сумма НДС док-та «Поступление тов.и услуг»  = сумма НДС сч/фактура полученный - дата док-та «Поступление тов.и услуг»  = входящей дате сч/фактура полученный НУЖНО СДЕЛАТЬ: - Если у документа «Счет-фактура полученный» документ-основание «Пост.товаров и услуг» отсутствует или не является проведенным, поля «Документ Поступления», «Сумма из документа поступления», «Сумма без НДС из документа поступления», «Сумма НДС из документа поступления», «Дата документа поступления» в отчете не заполняются - Если у документа «Пост.товаров и услуг» отсутствует связанный документ «Счет-фактура полученный», соответствующие поля в отчете не заполняются Я ДЕЛАЮ: пишу запрос в модуле Формы – Отчет - Процедура ОтчетИнициализация ОБЪЕДИНИТЬ            ВЫБРАТЬ            СчетФактураПолученныйТовары.Ссылка.ДокументОснование,        СчетФактураПолученныйТовары.Ссылка.Ссылка,        0,        0,        0,        "некорректно"    ИЗ    ГДЕ        СчетФактураПолученныйТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 ВЫХОДИТ ОШИБКА: Разное количество полей объединяемых в запросах Посмотрите пожалуйста, в чем ошибка?
#1 by mikecool
убери "объединить", ибо первой части нет
#2 by shuhard
ОБЪЕДИНИТЬ и где вторая часть запроса
#3 by butterbean
это явно не весь запрос
#4 by Point
А я думал никто даже читать этот роман не будет, а нет не перевелись еще любители книг :)
#5 by пента
посчитай количество полей в запросах и сравни :)
#6 by Salamona
а как посчитать?
#7 by Kreont
В каждой секции между тем что ОБЪЕДИНИТЬ между ВЫБРАТЬ и ИЗ должно быть равное количество запятых :)
#8 by пента
на мониторе в конфигураторе от ВЫБРАТЬ до ГДЕ
#9 by Salamona
СчетФактураПолученныйТовары.Ссылка.Ссылка,        0,        0,        0,        "некорректно"    ИЗ    ГДЕ        СчетФактураПолученныйТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
#10 by Kreont
Ы :)
#11 by Salamona
Это вот весь запрос Процедуры ОтчетИнициализация
#12 by пента
1)        0,        0,        "некорректно" в 1) - 11 полей в 2) - 9
#13 by Salamona
Уау, спасибо, вот только какие поля мне добавить еще???
#14 by Salamona
Подскажите, где можно про запросы почитать, а то я тук-тук по ним :((
#15 by пента
имеется только в электронном виде - С.МИТИЧКИН РАЗРАБОТКА В СИСТЕМЕ 1С:ПРЕДПРИЯТИЕ 8.0 в конфигураторе Shift+F1 - встроенный язык - работа с запросами - язык запросов
#16 by Salamona
А что на счет полей? где 2 поля еще взять?
#17 by DUDE
Есть методичка по запросам типа как с курсов учебных центров 1С.     Книги по основам SQL (про селект-запрос) помогут понять тк это "старший брат" запросов 1С, ну и встроенные справки не забывай.     Еще есть в и-нете ЕСИС "Единая Справочно-Информационная Система" - подборка статей и книг по 1С (по 8.0).
#18 by DUDE
Это тебе решать. Можно забить их пустыми значениями, если во второй выборке нет такой инфы.
#19 by пента
а где твой графический образ ?
#20 by TheNewOne
Если грубо навскидку, то Внимание на "ОБЪЕДИНИТЬ ВСЕ" Но скорее всего это не сработает, отбразится что-то не то, короче лучшие советы имхо - и
#21 by Salamona
ПЕНТА а про какой графический образ??? Это вы про аватарку?
#22 by пента
про фотку :)
#23 by Salamona
а что хочется посмотреть на меня в реале? кто же так реально тупит, да?
#24 by Salamona
id 60432608 вконтакте
#25 by пента
СчетФактураПолученныйТовары.Ссылка.ДокументОснование, СчетФактураПолученныйТовары.Ссылка.Ссылка, 0, СчетФактураПолученныйТовары.Сумма, СчетФактураПолученныйТовары.Сумма - СчетФактураПолученныйТовары.СуммаНДС, 0, 0, СУММА(СчетФактураПолученныйТовары.СуммаНДС), "некорректно", 0, NULL, СчетФактураПолученныйТовары.Ссылка.Дата
#26 by пента
СчетФактураПолученныйТовары.Ссылка.ДокументОснование, СчетФактураПолученныйТовары.Ссылка.Ссылка, 0, СчетФактураПолученныйТовары.Сумма, СчетФактураПолученныйТовары.Сумма - СчетФактураПолученныйТовары.СуммаНДС, 0, СУММА(СчетФактураПолученныйТовары.СуммаНДС), "некорректно", 0, NULL, СчетФактураПолученныйТовары.Ссылка.Дата
#27 by Salamona
Выдает ошибку {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет(761,7)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
#28 by Rie
Кавычки внутри строк должны быть двойными:
#29 by Salamona
Спасибо помогло, но зато выходит ещё одна ошибка {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет}: Ошибка при установке значения атрибута контекста (Текст): {(158, 4)}: Поле не входит в группу "СчетФактураПолученныйТовары.Сумма" <<?>>СчетФактураПолученныйТовары.Сумма,    ПостроительОтчетаОтчет.Текст = по причине: {(158, 4)}: Поле не входит в группу "СчетФактураПолученныйТовары.Сумма" <<?>>СчетФактураПолученныйТовары.Сумма,
#30 by Rie
Если есть группировка в запросе,  то поле надо или включить в группировку, или использовать агрегатную функцию. Вроде бы выше в обсуждении было СУММА(СчетФактураПолученныйТовары.Сумма), видимо, эта СУММА где-то потерялась.
#31 by Salamona
я ее вставила опять, в итоге получилось ОБЪЕДИНИТЬ    |        |        ВЫБРАТЬ     ВЫДАЕТ ОШИБКУ {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет}: Ошибка при установке значения атрибута контекста (Текст): Разное количество полей в объединяемых запросах    ПостроительОтчетаОтчет.Текст = по причине: Разное количество полей в объединяемых запросах
#32 by Rie
И вернулись в начало обсуждения... Количество полей в объединяемых запросах должно быть одинаковым. Если что-то вставлено в один из объединяемых запросов - то этому "что-то" должно быть соответствие и во всех других объединяемых запросах. Хотя бы 0 - но должно быть соответствующее поле. Просмотри все объединяемые запросы и убедись, что для первого поля есть везде соответствующие поля, для второго и т.д.
#33 by Salamona
ВЫБРАТЬ     Потом выдало ошибку {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет}: Ошибка при вызове метода контекста (Вывести): {(171, 59)}: Не задано значение параметра "Неопределенно"    ПостроительОтчетаОтчет.Вывести(ЭлементыФормы.ПолеТабличногоДокумента); по причине: {(171, 59)}: Не задано значение параметра "Неопределенно" И СчетФактураПолученныйТовары.Ссылка.ДокументОснование = <<?>>&Неопределенно
#34 by Salamona
Rie можно я вам на почту скину этот отчет, посмотрите плииз!!!
#35 by Rie
Скиньте.
#36 by Rie
Там потом надо сказать Запрос.УстановитьПараметр("Неопределено",ИТутЗначениеЭтогоПараметра); Но значением не будет Неопределено, там будет пустая ссылка. Либо NULL. Поскольку Неопределено не может хранится в таблицах.
#37 by Salamona
Может надо в конструкторе выходной формы делать? Вот только я не разобралась с ним :((
#38 by Salamona
Rie я уже скинула на gmail.com
#39 by Rie
Получил, смотрю. Такое ощущение, что Вы просто переусложнили себе задачу.
#40 by Rie
+ Такое ощущение, что Вам нужно просто ПОЛНОЕ СОЕДИНЕНИЕ таблиц для поступлений и счетов-фактур - с проверкой полей на NULL и заполнением NULL-полей чем-то вроде "не найдено", "отсутствует" или "ой, потеряли".
#41 by los_hooliganos
девушку надо отослать к основам реляционной алгебры. Пару часов поизучает, зато потом вопросов на всю оставщуюся жизнь не будет.
#42 by los_hooliganos
рекомендую внимательно почитать:
#43 by Salamona
Спасибо... реляционную алгебру прям сейчас начну изучать
#44 by Salamona
Rie вот я старую на вашу обработку поменяла ОБЪЕДИНИТЬ    | В ИТОГЕ ОШИБКА {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет}: Ошибка при установке значения атрибута контекста (Текст): Разное количество полей в объединяемых запросах    ПостроительОтчетаОтчет.Текст = по причине: Разное количество полей в объединяемых запросах
#45 by Salamona
Что-то я не поняла, как поменять смысл запроса? НУЖНО СДЕЛАТЬ: - Если у документа «Счет-фактура полученный» документ-основание «Пост.товаров и услуг» отсутствует или не является проведенным, поля «Документ Поступления», «Сумма из документа поступления», «Сумма без НДС из документа поступления», «Сумма НДС из документа поступления», «Дата документа поступления» в отчете не заполняются - Если у документа «Пост.товаров и услуг» отсутствует связанный документ «Счет-фактура полученный», соответствующие поля в отчете не заполняются ЧТО ДЕЛАТЬ?
#46 by hhhh
задним числом: НЕОПРЕДЕЛЕНО - пишется с одним "н".
#47 by Salamona
Слово "Неопределенно" мне разработчик действующий посоветовал
#48 by Salamona
И вообще запрос изменился СМ
#49 by Salamona
Как же замучалась, может поменять профессию?
#50 by hhhh
значит, он забыл сказать, что по правилам русского языка, орфографии, морфологии, пишется НЕОПРЕДЕЛЕНО.
#51 by НЕА123
офф. неопределЁнно есть, но смысл другой.
#52 by Salamona
Значит, кроме поправки орфографии, помочь ничем нельзя :((
#53 by Rie
Да почему же? Вам же посоветовали - аккуратно пересчитать число полей в объединяемых подзапросах. Оно везде должно быть одним и тем же. Если различается - то отсутствующее поле добавить и заполнить чем-нибудь по умолчанию (да хоть числом 0, если это ничему не повредит).
#54 by Salamona
Rie я лучше конфигурацию вам скину по почте
#55 by Salamona
Rie, уже скинула вам CF
#56 by Rie
Я сейчас не дома. Посмотрю вечером. Хорошо?
#57 by Salamona
Хорошо, спасибо большое. Вроде поменяла запрос |      ОБЪЕДИНИТЬ    | Теперь ошибку выдает {Отчет.РеестрПоПриходнымНакладным.Форма.Отчет}: Ошибка при установке значения атрибута контекста (Текст): {(169, 12)}: Поле не найдено "СчетФактураПолученныйДокументыОснования.ДокументОснование" И <<?>>СчетФактураПолученныйДокументыОснования.ДокументОснование = &Неопределено
#58 by Salamona
Rie HELP PLEASE
#59 by Rie
Среди источников запроса нет СчетФактураПолученныйДокументыОснования
#60 by Salamona
Ну, а я вам на почту сейчас скину внешними обработками, эти реестры, когда они  были в начальном варианте
#61 by Salamona
Rie где же вы?
#62 by Salamona
ну, кто-нибудь....
#63 by Salamona
Эту проблемочку решила, спасибо всем. Прочитала реляционную алгебру, научилась пользоваться конструктором запросов.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С