Вопрос № 172881: Здравствуйте уважаемые эксперты. Есть конфигурация, написана на 1с 8.1. Вопрос состоит в следующем. Надо написать отчет по оплате и начислении проживания в общежитии, но надо показывать и тех кто проживает в данный момент, но по нему не было начислен...
Вопрос № 172881:
Здравствуйте уважаемые эксперты. Есть конфигурация, написана на 1с 8.1. Вопрос состоит в следующем. Надо написать отчет по оплате и начислении проживания в общежитии, но надо показывать и тех кто проживает в данный момент, но по нему не было начисления (имеет льготы), и не показывать тех кто уже выселился, и не имеет остатков . Есть 2 регистра: один регистр ведомостей "МешканцiЖитлаСрезПоследних" - в нем есть информация про проживание в общежитии, и второй регистр накопления "ОплатаЗаПроживанняОстаткиИОбороты"
где соответственно беру информацию, про остатки и обороты.
Проблема состоит в том, что я не могу получить список жильцов, тех кто подпадает, под выше сказанные условия. 1. Если беру объединить, то попадают лишние люди которые, не имеют остатков и оборотов. 2. Если беру регистр накопления то не попадают те кто живет, и не платит 3. Если беру регистр ведомостей, то не попадают, те кто не живет, но имеет остатки.
Вот запрос,
которым я пробую достать нужную информацию:
Код:
ВЫБРАТЬ РАЗЛИЧНЫЕ МешканцiЖитлаСрезПоследних.ФiзичнаОсоба КАК ФiзичнаОсоба, МешканцiЖитлаСрезПоследних.ОсобоваСправа КАК ОсобоваСправа ИЗ РегистрСведений.МешканцiЖитла.СрезПоследних(&КонПериода, ВидДок = &ВидДок) КАК МешканцiЖитлаСрезПоследних
ОБЪЕДИНИТЬ
ВЫБРАТЬ
РАЗЛИЧНЫЕ ОплатаЗаПроживанняОстаткиИОбороты.Абiтурiєнт, ОплатаЗаПроживанняОстаткиИОбороты.ОсобоваСправа ИЗ РегистрНакопления.ОплатаЗаПроживання.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОплатаЗаПроживанняОстаткиИОбороты
Отправлен: 04.10.2009, 12:18
Вопрос задал: Andris, 1-й класс
Всего ответов: 2 Страница вопроса »
Отвечает Яна, Бакалавр :
Здравствуйте, Andris. Вам нужно не ОБЪЕДИНЕНИЕ, а СОЕДИНЕНИЕ, причем ПОЛНОЕ. В конструкторе запроса СОЕДИНЕНИЕ делается на второй вкладке "СВЯЗИ". Соединение делает декартово произведение записей в одной таблице с записями в другой. Полное соединение позволяет добавить записи, которые в одной таблице присутствуют, а в другой отсутствуют. Сделать в конструкторе запросов нужно следующее: 1. На первой вкладке выбрать ОБЕ таблицы. 2. Из любой из них выбрать нужные Вам 2 поля. 3.
Выбранные поля отредактировать так, чтобы если это поле было незаполнено, то значение бралось из второй таблицы. С помощью функции ЕстьNull. 4. На закладке связи указать 2 связи. В каждой связи поставить обе галочки все. В первой условие, что МешканцiЖитлаСрезПоследних.ФiзичнаОсоба=ОплатаЗаПроживанняОстаткиИОбороты.Абiтурiєнт Во второй условие, что МешканцiЖитлаСрезПоследних.ОсобоваСправа = ОплатаЗаПроживанняОстаткиИОбороты.ОсобоваСправа
Ответ отправил: Яна, Бакалавр
Ответ отправлен: 04.10.2009, 13:40
Оценка ответа: 5 Комментарий к оценке: Ответ был полный и понятный. А главное все получилось.
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 254982
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Кулевский Сергей Владимирович, Студент :
Здравствуйте, Andris! Необходимо брать ЛЕВОЕ СОЕДИНЕНИЕ по регистру в котором есть данные о ныне живущих. Если это получить не представляется возможным попробуйте другую конструкцию. Выбирать из регистра накопления, а условие наложить, как-то так "ОсобоваСправа В ( Вложеный запрос)"
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.