Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/107: Рейтинг темы: голосов - 107, средняя оценка - 4.81
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
1
1C 8.x (тонкий)

Размещение табличной части в форме списка (УФ)

16.08.2014, 10:15. Показов 19438. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Была задача: есть форма списка заказов. И руководителю надо видеть заказ и его табличную часть. Сделал элементарно: создал вторую таблицу и при позиционировании в списке заказов вывожу в эту таблицу табличную часть документа.

Руководителю не понравилось, мол надо сразу у всех заказов видеть табличную часть сразу. Собственно вопрос, как в форме списка одну строку разбить на n строк (в заказах может быть от 1 до 6 позиций соответственно)

Пример:

| Номер| Дата |Контрагент |Комплектация |Количество поступило|
___________________________________________________________
| 00001|21.08.14|ООО "Петя"|Номенклатура1| 3/2 |
| | | |Номенклатура2| 7/3 |
| | | |Номенклатура3| 2/3 |
--------------------------------------------------------------------
| 00002|23.08.14|ООО "Галя"|Номенклатура2| 6/2 |
| | | |Номенклатура7| 2/1 |
| | | |Номенклатура4| 4/3 |

Вот такой мне надо видеть форму списка. Возможные решения: попробовать сделать в макете - это единственный вариант который я придумал, но очень не хочется. Руководителю объяснить, что в динамическом списке вывести так нельзя невозможно. (по крайней мере я не знаю, может и есть способы). Колонку с количеством я вывел, чтобы показать, что помимо номенклатуры будут и другие колонки.

Благодарю за какие-нибудь мысли.

З.ы. Мне кажется, что в обычной форме можно использовать процедуру "при выводе", но здесь управляемая.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2014, 10:15
Ответы с готовыми решениями:

Копирование данных из ячейки одной Табличной Части на форме в такую же ячейку другой Табличной части на этой же форме
Всех с Новым годом и грядущим Рождеством пособите начинающему: затык такой - НА форме есть две...

Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части
Есть документ "РаспределениеМатериаловНаВыпуск". У этого документа имеется "Форма документа". На...

Экспорт в эксель табличной части подчиненной формы с учетом полей-комбобоксов в табличной части
Добрый день. Пришло пожелание от коллег выгружать информацию из табличной подформы в...

Запись в БД табличной части на форме
Подскажите, пожалуйста, как правильно сделать запись? Пишу свое web приложение, в котором будет...

29
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2014, 10:21 2
Рукопашный дин.список с группировкой по "Галя", "Петя".
1
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
16.08.2014, 10:24  [ТС] 3
duk337, Вы имеете ввиду сделать запрос по табличным частям, выводить их в список с группировкой по документу?
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2014, 10:38 4
Лучший ответ Сообщение было отмечено Heltarion как решение

Решение

группировка в настройках, есно

Добавлено через 45 секунд
ну там СКД. можно все разбодяжить по любой иерархии и раскрасить
1
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
16.08.2014, 17:58  [ТС] 5
Спасибо, буду пробовать!

Добавлено через 7 часов 18 минут
Попробовал сделать следующее:
1) Сам произвольный запрос:
1C
1
2
3
4
5
6
7
8
ВЫБРАТЬ
    ЗаказКлиента.Ссылка,
    ЗаказКлиентаТовары.Номенклатура,
    ЗаказКлиентаТовары.Количество
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        ПО ЗаказКлиента.Ссылка = ЗаказКлиентаТовары.Ссылка
2) Выбрал основную таблицу: Документы.ЗаказПокупателя
3) В настройках сделал группировку по полю "Ссылка"
В динамическом списке получил свои заказы, но как только пытаюсь раскрыть группировку получаю ошибку:
"Некорректное использование поля Ссылка"
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2014, 19:59 6
ВЫБРАТЬ Ссылка,Номенклатура,Количество ИЗ Документ.ЗаказКлиента.Товары
1
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
16.08.2014, 21:19  [ТС] 7
Я так делал, в этом случае, я не знаю как указать основную таблицу, т.к. для группировки требуется наличие основной таблици, а в списке выбора доступно только "Документы.ЗаказПокупателя". Или нужно программно задать Документы.ЗаказПокупателя.Товары?
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2014, 21:48 8
ччёрт... не работал с тонкими формами. Наверное, дин.списки не любят две точки? Странно.

Добавлено через 20 минут
Да нет, вроде должно проходить и то и то.

Добавлено через 4 минуты
Цитата Сообщение от Heltarion Посмотреть сообщение
для группировки требуется наличие основной таблици
вот тут не понял. Для группировки требуется наличие поля.
А ты галку "Произвольный запрос" поставил?
1
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
16.08.2014, 21:55  [ТС] 9
Если я ставлю группировка по любому из полей, то при нажатии на кнопку "ок" программа требует указать "Основную таблицу". По логике это должно быть "Документы.ЗаказПокупателя.Товары", но по итогу почему-то провалиться в сам документ нельзя, программа позволяет выбрать "Документы.ЗаказПокупателя"
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
16.08.2014, 22:05 10
А! Это в свойствах дин списка. Откуда он берёт список основных таблиц, интересно? В конструкторе-то всё доступно.

Добавлено через 5 минут
Короче, я сдаюсь, читать надо. Ждём Гринко или Детмонтта
1
2 / 2 / 0
Регистрация: 21.11.2011
Сообщений: 57
17.08.2014, 11:29  [ТС] 11
Спасибо, я поковыряюсь. Хотелось бы найти примеры работы с динамическим списком, но максимум что я нашел, это небольшая конфигурация, с 3 видами дин списка, но там все по простому. Без вывода ТЧ в список
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
17.08.2014, 22:13 12
в УПП есть УФ списка у дока ЗаявкаНаРасходованиеСредств. Там две ТЧ левым соединением, это понятно, группировка по полю левого соединения регистра сведений (СосточниеСогласованияЗаявок), который не указан как основная таблица.
Ну я тупо выбрал поле из ТЧ - оно сразу стало доступно для группировки.
Основная таблица, само собой, сам документ.
Так что всё работает. Соединение по док.Ссылка=тч.Ссылка, ошибок нет.
Правда, в режиме юзера проверить не могу - конфа реальная.

Добавлено через 32 минуты
Опять я косячу в попыхах: там таб.части не разворачиваются, а нам нужно именно это. Ну ладно.
Создал обработку в составе (внешняя тонкая в обычном режиме не откроется), скопировал туда УФсписка Заявки, перепилил на группировку Ссылка и добавил поле из ТЧ. Точно, ругается на некорректное использование поля Ссылка. Убрал группировку. Всё выводит, но без поля ТЧ. Полез в настройку формы - его там нет, хотя в доступных полях отборов/группировок - пожалуйста.
Видно, нельзя ТЧ выводить в формах списка ни толстых, ни тонких.
Но тогда почему она его видит в отборах? Непонятная для меня фича: либо ТЧ есть, либо её нет, как говорил Винни-Пух.
1
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,702
Записей в блоге: 1
17.08.2014, 23:07 13
В динамических списках, если указана основная таблица, то запрещено дублирование основного ключа таблицы
1
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
17.08.2014, 23:30 14
Тут вопрос в том, что табу на таб часть.
1
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,702
Записей в блоге: 1
17.08.2014, 23:34 15
duk337, если у тебя в табличной части 1 строка, то это можно сделать через Дин. список, если больше 1й строки, то не сделаешь...
Запрещено дублировать поле ССЫЛКА

Добавлено через 1 минуту
При любом соединении ссылка в таблице документа повториться
Таблица документа Табличная часть Номер Строки ТЧ
Ссылка1 Ссылка1 1
Ссылка1 Ссылка1 2
1
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
17.08.2014, 23:51 16
Ну вот реальный текст
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
ВЫБРАТЬ
    ДокументЗаявкаНаРасходованиеСредств.Ссылка,
...
ИЗ
    Документ.ЗаявкаНаРасходованиеСредств КАК ДокументЗаявкаНаРасходованиеСредств
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеСредств.РазмещениеЗаявки КАК ДокументЗаявкаРазмещениеЗаявки
        ПО ((НЕ &ОбычноеПриложение))
            И ДокументЗаявкаНаРасходованиеСредств.Ссылка = ДокументЗаявкаРазмещениеЗаявки.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеСредств.РасшифровкаПлатежа КАК ДокументЗаявкаРасшифровкаПлатежа
        ПО ((НЕ &ОбычноеПриложение))
            И ДокументЗаявкаНаРасходованиеСредств.Ссылка = ДокументЗаявкаРасшифровкаПлатежа.Ссылка
            И (ЕСТЬNULL(ДокументЗаявкаРасшифровкаПлатежа.ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом, ЛОЖЬ))
ГДЕ...
Тут две ТЧ. Когда выводишь поле ТЧ - его нельзя выбрать колонкой - раз, поле Ссылка нельзя затащить в группировку - два. Т.е. эффект двойной ссылки проявляется в этих случаях? Я просто не догоняю логику результирующей таблицы запроса СКД

Добавлено через 1 минуту
хотя я гоняю в УПП, т.е. в обычном приложении
1
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,702
Записей в блоге: 1
17.08.2014, 23:58 17
СКД поменяет твой запрос если ты не используешь поля таблиц которые присоединяются к основной.

Почему доступен отбор - Левое соединение + Условие = внутренее соединение
Дубля ссылки в этом случае не будет (это всего лишь фильтр)

Добавлено через 1 минуту
duk337, а вот выбрать какое либо поле в этот запрос из Таблицы: Документ.ЗаявкаНаРасходованиеСредств.РасшифровкаПлатежа

не сможешь...
1
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
18.08.2014, 00:02 18
там нет условия в случае упр.приложения. Поля тч спокойно включаются в запрос. Скорее, СКД их выкидывает, если их используешь.

Добавлено через 45 секунд
причём, они видны в отборах
1
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,702
Записей в блоге: 1
18.08.2014, 00:45 19
Вот такой запрос не будет работать если хоть в одном документе в ТЧ цены будет больше 1й цены
1C
1
2
3
4
5
6
7
8
9
10
11
ВЫБРАТЬ
    ДокументУстановкаЦен.Ссылка,
    ДокументУстановкаЦен.ПометкаУдаления,
    ДокументУстановкаЦен.Номер,
    ДокументУстановкаЦен.Дата,
    ДокументУстановкаЦен.Проведен,
    ДокументУстановкаЦен.МоментВремени
ИЗ
    Документ.УстановкаЦен КАК ДокументУстановкаЦен
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаЦен.Цены КАК УстановкаЦенЦены
        ПО ДокументУстановкаЦен.Ссылка = УстановкаЦенЦены.Ссылка
А вот такой запрос будет работать даже если в ТЧ больше одной цены
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ВЫБРАТЬ
    ДокументУстановкаЦен.Ссылка,
    ДокументУстановкаЦен.ПометкаУдаления,
    ДокументУстановкаЦен.Номер,
    ДокументУстановкаЦен.Дата,
    ДокументУстановкаЦен.Проведен,
    ДокументУстановкаЦен.МоментВремени
ИЗ
    Документ.УстановкаЦен КАК ДокументУстановкаЦен
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаЦен.Цены КАК УстановкаЦенЦены
        ПО ДокументУстановкаЦен.Ссылка = УстановкаЦенЦены.Ссылка
 
СГРУППИРОВАТЬ ПО
    ДокументУстановкаЦен.Ссылка,
    ДокументУстановкаЦен.ПометкаУдаления,
    ДокументУстановкаЦен.Номер,
    ДокументУстановкаЦен.Дата,
    ДокументУстановкаЦен.Проведен,
    ДокументУстановкаЦен.МоментВремени
Добавлено через 3 минуты
Аналог второго варианта (что и делает платформа по умолчанию) для возможности отборов по табличной части

ВЫБРАТЬ
ДокументУстановкаЦен.Ссылка,
ДокументУстановкаЦен.ПометкаУдаления,
ДокументУстановкаЦен.Номер,
ДокументУстановкаЦен.Дата,
ДокументУстановкаЦен.Проведен,
ДокументУстановкаЦен.МоментВремени,
ДокументУстановкаЦен.Цены
ИЗ
Документ.УстановкаЦен КАК ДокументУстановкаЦен
2
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
18.08.2014, 10:10 20
Спасибо. Т.е., критично две однородных ссылки по горизонтали, когда появляются более одной строки? Не вкуриваю я это дело пока. Не прочувствовал .
А! Дошло. Тупо уникальный основной ключ.
Задокументировано где-нибудь?

Добавлено через 2 минуты

Не по теме:

Ещё дин.списки теперь со своими тонкостями СКД :swoon: (о, май гад! жизнь на УПП)

1
18.08.2014, 10:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2014, 10:10
Помогаю со студенческими работами здесь

Заполнение табличной части на управляемой форме
Задача такая. Ут11 есть список ячеек склада, также создается список товаров, которые хранятся в...

Значение строки табличной части получить в табличной части другого документа
Есть документ ПриходнаяНакладная (товар приходит от поставщика по его цене), с табличной частью...

Программное заполнение табличной части документа из табличной части справочника
Доброго! Ситуация, поставившая меня в тупик. Имеем 1с 8.2 УФ Имеем справочник "Работ" Имеем...

Автоматическое заполнение табличной части документа из табличной части другого
Добрый день. Совсем недавно начал изучать 1С и пока не могу найти решения собственной задачи)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru