Имя: Пароль:
1C
1С v8
Загрузить в тч историю клиент
,
0 Dersus
 
18.04.20
06:10
Есть справочник - Клиенты, на форме справочника есть тч (История заказов) нужно в эту ТЧ загрузить из документа заказы все заказы именно этого клиента, как это можно сделать?
1 ДенисЧ
 
18.04.20
06:15
Запрос. Потом выгрузить и загрузить
2 Chameleon1980
 
18.04.20
06:21
и записать. а то удивится 😁
3 Dersus
 
18.04.20
06:22
(1) С запросами я тоже не силён, вот приблизительно, что имею. Как результат загрузить в ТЧ "ИсторияЗаказовКлиента"?

&НаСервере
Процедура РазделыПриСменеСтраницыНаСервере()
          //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Заказы.Дата КАК Дата,
        |    Заказы.ИтоговаяСумма КАК ИтоговаяСумма,
        |    Заказы.Клиент.Наименование КАК КлиентНаименование
        |ИЗ
        |    Документ.Заказы КАК Заказы
        |ГДЕ
        |    Заказы.Клиент.Наименование = &Наименование";
    
    Запрос.УстановитьПараметр("Наименование", Наименование);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры

&НаКлиенте
Процедура РазделыПриСменеСтраницы(Элемент, ТекущаяСтраница)
    РазделыПриСменеСтраницыНаСервере();
КонецПроцедуры
4 Chameleon1980
 
18.04.20
06:28
обычные формы или уф? я, кажется, понял, что Вам нужно.
5 Dersus
 
18.04.20
06:32
(4) УФ!
6 Chameleon1980
 
18.04.20
06:37
в тч хранятся данные! а вывести можно в дс
7 Dersus
 
18.04.20
06:40
Ещё раз. Есть Справочник "Клиенты" в формеЭлемента этого справочника есть табличная часть у которой 2 реквизита "ДАТА И ИтоговаяСумма".
Также есть документ "Заказы" у которого есть такие реквизиты как "Наименование" (ссылка на справочник заказы) и 2 реквизита "Дата" и "ИтоговаяСумма".
Мне нужно, когда я открываю Справочник клиент Васы Пупкин, то из документа "Заказы" в табличку сразу все его заказы загрузились!
8 PuhUfa
 
18.04.20
06:57
Не нужна тебе ТЧ... Динамический список используй
9 Dersus
 
18.04.20
06:58
(8) Как это сделать???
10 PuhUfa
 
18.04.20
07:02
(9) Создаешь реквизит формы с типом динамический список. В качестве данных для него используешь произвольный запрос в которым делаешь выборку нужных тебе данных. Ну и этот реквизит выкидываешь на форму элемента справочника
11 Dersus
 
18.04.20
07:04
(10) Уже понял. Спасибо.
12 Dersus
 
18.04.20
07:21
(10) Так, там получается все заказы всех клиентов выводит, а как именно по тому клиенту, чья карточка сейчас открыта?
13 Chameleon1980
 
18.04.20
07:59
причтениинасервере
14 Dersus
 
18.04.20
08:03
(10) ТАМ ВЫВОДИТСЯ СПИСОК ВСЕХ ЗАКАЗОВ, ВСЕХ КЛИЕНТОВ. А МНЕ НУЖНО ПО ОДНОМУ ЕДИНСТВЕННОМУ, ПО ТОМУ, ЧЕЙ СПРАВОЧНИК СЕЙЧАС ОТКРЫТ.
15 hhhh
 
18.04.20
08:57
(14) ну значит в запросе ты накосячил. Не сделал отбор по клиенту
16 Михаил Козлов
 
18.04.20
10:08
(0) Не очень понятно, зачем в ТЧ справочника хранить историю его заказов.
Может Вам нужно лишь показать эту историю в карточке?
А так Вы при каждом открытии будете модифицировать элемент справочника.
Или завели новый заказ, карточку не открывали, ТЧ не изменилась, Вы запросом из этой ТЧ получите неверную информацию.
В типовых все это есть, Вы не изобретаете велосипед?
17 maxipunchik
 
18.04.20
10:41
(14) вам нужно в дин списке сделать произвольный запрос с условием по клиенту. При открытии формы устанавливат параметр дин списка.
18 Aleksey
 
18.04.20
10:48
По моему во всех типовых (ну может кроме ЗУПа) это реализовано
19 Chameleon1980
 
18.04.20
15:39
(14)че орешь. тебе удочку дают вместо рыбы
20 GGDots
 
18.04.20
15:47
(0) УФ -Ну грубо говоря так: В справочнике своем создаешь команду. Создаешь новую форму "ИсторияЗаказов". В модуле команды открываешь это форму и передаешь туда ссылку на клиента:
Примерно так:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    Если ПараметрКоманды = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    ОткрытьФорму("Справочник.Клиенты.Форма.ИсторияЗаказов"
                ,Новый Структура("Клиент", ПараметрКоманды)
                ,ПараметрыВыполненияКоманды.Источник
                ,ПараметрыВыполненияКоманды.Источник.УникальныйИдентификатор
                ,ПараметрыВыполненияКоманды.Окно);
    
КонецПроцедуры

В форме "ИсторияЗаказов" - создаешь динамический список с запросом. Отбор документов по параметру "Клиент". В модуле формы при создании на сервере устанавливаешь параметр динамического списка "Клиент".

Эту команду: группа "Панель навигации формы.Важное", ТипПараметраКоманду - СправочникСсылка.Клиенты - вешаешь на форму в командном интерфейсе.

Усе.

Набросать черновое решение в конфигураторе: минут 5. Ну потом там более менее красиво сделать (колонки и т.д.)
21 GGDots
 
18.04.20
15:49
(19) ну просто изначально учили не удочку держать, а рыбу в садок сразу принимать)
22 runoff_runoff
 
18.04.20
16:10
(21) тебя тоже рыбу только учили жрать
нужно использовать параметр формы Отбор, тогда не надо кодить внутри формы списка
23 GGDots
 
18.04.20
17:20
(22) воу воу, мальчик остановись, судя по серьезности твоих намерений - говна ты в жизни поел много, наверняка рыба вкуснее...

приятного аппетита.

Я понимаю, тебя задело что я обидел твоего дружка. Отбор на форме предложил, когда все уже написали кучу вариантов. Пришел ты и блеснул дерзость и умом. Круто! Молодец! Возьми с полочки пирожок, сам знаешь с чем.