|
Добавление реквизита табличной части в форму списка | ☑ | ||
---|---|---|---|---|
0
d1ngo
15.10.18
✎
17:25
|
Всем привет
Изучаю 1С и вот чтобы отойти от тех примеров которые рассказываются в книжках пытаюсь придумывать себе свои. Возможно это покажется бредом и совсем не нужным, но для практики я думаю подойдет. Итак задача следующая: Есть справочник и в нем есть табличная часть "Товары" в которой есть 3 реквизита "Товар", "Количество", "Цена". Предположим что в эту табличную часть всегда вносится только одно значение. Вопрос: Каким образом в форме списка на ровне с обычными реквизитами вывести реквизит табличной части "Товары" (Количество)? Пытался "Произвольным запросом" не получается колонка не выводится. Пытался Программно сделать вот так: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Код |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Ссылка = Справочники.Номенклатура.НайтиПоКоду(Выборка.Код); Элемент = Ссылка.Товары.ВыгрузитьКолонку("Количество")[0]; ********************************************** А вот дальше каким образом вмешаться в выводящийся список и подменить там данные не понимаю. ********************************************** КонецЦикла; |
|||
1
Fragster
гуру
15.10.18
✎
18:03
|
левое соединение по ссылка = ссылка и номерстроки = 1
|
|||
2
d1ngo
15.10.18
✎
23:15
|
Fragster не совсем если честно понял, я не давно учу 1С. Но вы наверно имеете ввиду запрос таким образом построить, с запросом то проблем нет через запрос выводятся все необходимые поля, но вот каким образом это в саму форму запихать(поле Количество) и присвоить ему необходимые данные.
Чтобы было более понятно, вот наделал скриншотов. Форма элемента: 1. https://cloud.mail.ru/public/E3U8/3UczBCFv8 Форма списка: 2. https://cloud.mail.ru/public/Bec9/xnthhwWJS А мне нужно достичь вот такого результата 3. https://cloud.mail.ru/public/4qjA/XGz4rV8eS Вариант вывести дополнительное поле на форму не рассматривается это было бы слишком легко. Интересно попробовать можно ли это сделать как-нибудь по другому. |
|||
3
RomanYS
15.10.18
✎
23:24
|
(0) Первым делом лучше осознать что код просто ужасен (без шуток и преувеличений) и почему так:
Ссылка = Справочники.Номенклатура.НайтиПоКоду(Выборка.Код); Элемент = Ссылка.Товары.ВыгрузитьКолонку("Количество")[0]; |
|||
4
Dvoe4nik
15.10.18
✎
23:38
|
(0) если в типовой УФ то сунуть в доп реквизит можно и спокойно выводи на список
|
|||
5
Dvoe4nik
15.10.18
✎
23:39
|
(4) +при записи элемента, количествоСтрок
|
|||
6
Dvoe4nik
15.10.18
✎
23:41
|
пардон ,не внял скринам. если один товарто в запросе суммируемое поле сделайс количеством
|
|||
7
Dvoe4nik
15.10.18
✎
23:45
|
и вообще, какая то не надежная задача для воплощения, реализовать можно, вот только смысла нет,ИМХО
|
|||
8
d1ngo
16.10.18
✎
00:52
|
RomanYS, как описано выше я еще только учусь. Поэтому много еще чего не знаю, это было написано исходя из тех вещей которые знаю. Если вам не сложно напишите как это сделать правильней на будущее буду знать.
Dvoe4nik, по поводу задачи согласен с тобой. Просто интересно стало можно ли такое реализовать. Смотрел много всяких уроков и там нигде такого не было всегда показывают только с обычными элементами расположенными на форме. Вот и решил попробовать. |
|||
9
hhhh
16.10.18
✎
01:15
|
(8) делай произвольным запросом
|
|||
10
hhhh
16.10.18
✎
01:29
|
(8) вот это бред
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Код |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Ссылка = Справочники.Номенклатура.НайтиПоКоду(Выборка.Код); нужно Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Ссылка = Выборка.Ссылка; и не надо искать по коду. |
|||
11
d1ngo
16.10.18
✎
01:34
|
hhhh согласен ступил! как-то не подумал об этом совсем.
А по поводу произвольного запроса я пробовал делать вот так ВЫБРАТЬ Номенклатура.Код, Номенклатура.Наименование, Номенклатура.Товары.( Количество ), Номенклатура.Склад ИЗ Справочник.Номенклатура КАК Номенклатура в консоли запросов все отрабатывает и выводятся нужные данные, но вот в форме поле "Количество" не появляется. |
|||
12
hhhh
16.10.18
✎
01:47
|
ВЫБРАТЬ
Номенклатура.Ссылка, Номенклатура.Код, Номенклатура.Наименование, НоменклатураТовары.Количество, Номенклатура.Склад ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Товары КАК НоменклатураТовары ПО Номенклатура.Ссылка = НоменклатураТовары.Ссылка И НоменклатураТовары.НомерСтроки = 1 |
|||
13
catena
16.10.18
✎
06:29
|
Может быть стоит сначала все-таки отработать примеры из книжек и уже потом приступать к произвольным задачам?
|
|||
14
d1ngo
16.10.18
✎
10:58
|
hhh спасибо, что потратил время и объяснил. Все получилось наконец токи.
catena примеры из книжек и видео когда читаешь(смотришь) как делают вроде все понятно. И примеры которые предлагается сделать самостоятельно основываются на только что пройденном материале и зачастую их решение уже было описано, и предлагается лишь самому это повторить или внести незначительные изменения. А вот когда отходишь от них получается что совсем ничего не знаешь и не можешь сделать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |