Доброго времени суток форумчане! Имею:
1. 1С:Предприятие 8.3 (8.3.10.2505)
2. Бухгалтерия сельскохозяйственного предприятия для Украины, редакция 1.2 Разработка конфигурации: ЧП "ИН-АГРО", 2016 (1.2.36.2)
Внешний отчет. Запросом делаю выборку данных. Т.к. результат запроса приходится еще сортировать и сворачивать, то вывести его сразу нельзя. Сразу скажу что если отсортировать можно непосредственно и прямо в запросе, то свернуть так как мне нужно запросом не получается(не утверждаю что сделать это вообще нельзя, может это у меня не получилось). Далее выгружаю результат в ТаблицуЗначений(ТабЗнач), можно и в ТабличныйДокумент(ТабДок). После всех манипуляций с запросом хочу его вывести в ПолеТабличногоДокумента на форме. НО куда бы я не выгружал результат запроса, хоть в ТабЗнач, хоть в ТабДок - вывести в ПолеТабличногоДокумента никак не могу. Возможно ли это и если да, то как именно. Спасибо за помощь.
предполагал что как то так, но...
Код
Попытайтесь запустить в коде через контекстное меню Конструктор запроса с обработкой результата и скопируйте в конструктор текст запроса. Посмотрите, сколько кода Вам вывалит конструктор и сравните со своей 1 строчкой.
ТабДок = Новый ТабличныйДокумент;
// тут заполняем ТабДок из ТабЗнач
ЭлементыФормы.ПолеТабличногоДокумента.Вывести(ТабДок);
sava1 @ Сегодня, 13:12
,
пытался и из ТабличногоДокумента вывести данные в ПолеТабличногоДокумента - никак. Правда я заполнял его не из ТабЗнач, а прям результатами запроса, потом сортировал и сворачивал... Думаю что это не принципиально как заполнил. Все равно не выводит
sanytch @ Сегодня, 16:45
,
Добавьте колонки такие как у вас в запросе, и должно заполнить.
sava1 @ Сегодня, 13:12
,
Прошу прощения. Получилось. Вывел. Получилась чисто таблица. Попутно на быструю руку состряпал ВнешнийОтчет без форм - только СхемаКомпоновкиДанных.
Здесь есть Группировка что мне необходимо, но без свертки получаю дубли записей.
Может подскажите как их убрать? Данные получаю через вот такой запрос
ВЫБРАТЬ
Контрагенты.Наименование КАК Пайщик,
Контрагенты.Родитель КАК Сельсовет,
NULL КАК Сумма,
NULL КАК Удержано,
NULL КАК КВыдаче
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Родитель В ИЕРАРХИИ(&Пайщики)
И Контрагенты.ЭтоГруппа = ЛОЖЬ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ИНАГРО_НачислениеПоПаямТовары.Контрагент,
ИНАГРО_НачислениеПоПаямТовары.Контрагент.Родитель,
СУММА(ИНАГРО_НачислениеПоПаямТовары.Сумма),
СУММА(ИНАГРО_НачислениеПоПаямТовары.Удержано + ИНАГРО_НачислениеПоПаямТовары.УдержаноВЗ + ИНАГРО_НачислениеПоПаямТовары.Алименты),
СУММА(ИНАГРО_НачислениеПоПаямТовары.КВыдаче)
ИЗ
Документ.ИНАГРО_НачислениеПоПаям.Товары КАК ИНАГРО_НачислениеПоПаямТовары
ГДЕ
ИНАГРО_НачислениеПоПаямТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
ИНАГРО_НачислениеПоПаямТовары.Контрагент.Родитель,
ИНАГРО_НачислениеПоПаямТовары.Контрагент
УПОРЯДОЧИТЬ ПО
Пайщик
как-то так на колене получается:
ВЫБРАТЬ Контрагенты.Наименование КАК Пайщик,
Контрагенты.Ссылка как контрагент,
Контрагенты.Родитель КАК Сельсовет
Поместить Пайщики
ИЗ Справочник.Контрагенты КАК Контрагенты
ГДЕ Контрагенты.Родитель В ИЕРАРХИИ(&Пайщики)
И Контрагенты.ЭтоГруппа = ЛОЖЬ;
ВЫБРАТЬ
Пайщики.Пайщик,
Пайщики.Сельсовет,
СУММА(ЕСТЬNULL(ЕИНАГРО_НачислениеПоПаямТовары.Сумма,0)),
СУММА(ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Удержано,0) + ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.УдержаноВЗ,0) + ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Алименты,0)),
СУММА(ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.КВыдаче,0))
ИЗ Пайщики как Пайщики левое соединение Документ.ИНАГРО_НачислениеПоПаям.Товары КАК ИНАГРО_НачислениеПоПаямТовары
по Пайщики.Контрагент=ИНАГРО_НачислениеПоПаямТовары.Контрагент
ГДЕ ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Ссылка.Дата,&НачалоПериода) МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Пайщики.Пайщик,
Пайщики.Сельсовет
pablo @ Вчера, 17:54
,
Спасибо большое, ход мысли я понял: Временная таблица со ВСЕМИ нужными контрагентами а потом через левое соединение для каждого либо 0 если нет его в документе либо числа из соответствующих полей табчасти документа.
С колена у Вас получилось почти правильно, подправил пару мелочей и вышло так:
ВЫБРАТЬ
Контрагенты.Ссылка КАК Пайщик,
Контрагенты.Наименование,
Контрагенты.Родитель КАК Сельсовет
ПОМЕСТИТЬ Пайщики
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Родитель В ИЕРАРХИИ(&Пайщики)
И Контрагенты.ЭтоГруппа = ЛОЖЬ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Пайщики.Пайщик,
Пайщики.Сельсовет,
СУММА(ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Сумма, 0)) КАК Начислено,
СУММА(ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Удержано, 0) + ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.УдержаноВЗ, 0) + ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Алименты, 0)) КАК Удержано,
СУММА(ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.КВыдаче, 0)) КАК КВыдаче
ИЗ
Пайщики КАК Пайщики
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИНАГРО_НачислениеПоПаям.Товары КАК ИНАГРО_НачислениеПоПаямТовары
ПО Пайщики.Пайщик = ИНАГРО_НачислениеПоПаямТовары.Контрагент.Ссылка
ГДЕ
ЕСТЬNULL(ИНАГРО_НачислениеПоПаямТовары.Ссылка.Дата, &НачалоПериода) МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Пайщики.Пайщик,
Пайщики.Сельсовет
pablo @ Вчера, 17:54
,
В предыдущем запросе нашелся изъян и данные выводились не совсем в полном объёме. решил переделать с вложенным запросом, работает отлично, получилось вот так:
ВЫБРАТЬ
Контрагенты.Родитель,
Контрагенты.Наименование,
Начисления.Сумма,
Начисления.Удержано + Начисления.Алименты + Начисления.УдержаноВЗ КАК Удержано,
Начисления.КВыдаче
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ИНАГРО_НачислениеПоПаямТовары.Контрагент КАК Контрагент,
ИНАГРО_НачислениеПоПаямТовары.Сумма КАК Сумма,
ИНАГРО_НачислениеПоПаямТовары.Удержано КАК Удержано,
ИНАГРО_НачислениеПоПаямТовары.Алименты КАК Алименты,
ИНАГРО_НачислениеПоПаямТовары.УдержаноВЗ КАК УдержаноВЗ,
ИНАГРО_НачислениеПоПаямТовары.КВыдаче КАК КВыдаче
ИЗ
Документ.ИНАГРО_НачислениеПоПаям.Товары КАК ИНАГРО_НачислениеПоПаямТовары
ГДЕ
ИНАГРО_НачислениеПоПаямТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода) КАК Начисления
ПО Контрагенты.Наименование = Начисления.Контрагент.Наименование
ГДЕ
Контрагенты.Родитель В ИЕРАРХИИ(&Пайщики)
И Контрагенты.ЭтоГруппа = ЛОЖЬ
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua