Работа формы

1. user1377333 07.04.22 16:08 Сейчас в теме
Товарищи, такой вопрос. Есть база на диплом. Нужно сделать так, чтоб при выборе контрагента, он по нему выгружал данные из регистра сведений в данную таблицу по нажатию кнопки заполнить. Есть варианты решения? Уже всё перепробовал что нашёл, 3 день сижу
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. yurikmellon 6 07.04.22 16:10 Сейчас в теме
(1) отличный вопрос. Продолжайте наблюдения.
3. user1278383 4 07.04.22 16:13 Сейчас в теме
А с чем конкретно возникает сложность? Или нужно написать готовый код?
4. user1377333 07.04.22 16:19 Сейчас в теме
(3)Если есть статьи откуда можно взять пример, буду благодарен, потому что возникают ошибки на глупых моментах к примеру &НаКлиенте или &НаСервере при работе с запросом, уже не знаю откуда собрать решение, надеюсь на вашу помощь)
5. ya.Avoronov 115 07.04.22 16:39 Сейчас в теме
Динамический список с параметрами не подойдет ли?
Внизу таблица с динамическим списком, запрос с параметрами.
Выбрал параметры, нажал кнопку, передал параметры в динамический список, обновил/вывел.
6. user1377333 07.04.22 19:41 Сейчас в теме
(5)Как передать передать данные параметры, не подскажите?
7. user1203706 13 07.04.22 23:43 Сейчас в теме
(1) это форма чего хоть ? Обработки ? Напиши примитивный запрос и заполняй свою табличку. Дин список даже не нужон для этого
8. user1377333 07.04.22 23:53 Сейчас в теме
(7)Мне просто нужно понять как сделать так, чтоб значения таблицы брались из регистра сведений в соответствии с выбранным значением в поле Контрагент, как данное обращение прописать не пойму
9. user1377333 07.04.22 23:56 Сейчас в теме
(7)Даже не знаю как правильно описать, ибо не совсем грамотен в данном вопросе, был бы C#)
10. user1203706 13 08.04.22 00:26 Сейчас в теме
(8) ПКМ - конструктор запросов, там слева выберешь нужный тебе РС и нужные поля, на закладке условия выберешь клиентоса получишь на выходе текст запроса.
Этому запросу установишь параметр - клиентос твой , выполнишь запрос и его результатом заполнишь табличку на форме. Усё
11. user1377333 08.04.22 15:01 Сейчас в теме
Туда ли копаю?

&НаСервере
Процедура ПрогнозПотреблениеПриИзмененииНаСервере(Форма, Объект)
	
	Запрос = Новый Запрос;
	Запрос.ВыгрузитьКолонку =
	"ВЫБРАТЬ
	 |	Контрагент.Наименование КАК Наименование
	 |ИЗ
	 |	Справочник.Контрагент КАК Контрагент";
	
	 Запрос.ВыгрузитьКолонку();
	 
	Если Форма.Контрагент.Количество() = Запрос.ВыгрузитьКолонку() Тогда
        Для Каждого ТекСтрока Из  Форма.ТаблицаФормы Цикл
            ТекПоказатель = ТекСтрока.Показатель;
            Для Каждого Колонка Из ТекСтрока.Колонки Цикл
                Если Колонка.ПрогнозПотреблениеДанныеПотребления <> "Показатель" Тогда
                    ПараметрыОтбора = Новый Структура;
                    ПараметрыОтбора.Вставить("ПрогнозПотреблениеДанныеПотребления",Колонка.ПрогнозПотреблениеДанныеПотребления);
                    КолонкаСсылка = Форма.КолонкиФормы.НайтиСтроки(ПараметрыОтбора);

                    ПараметрыОтбора = Новый Структура;
                    ПараметрыОтбора.Вставить("Показатель",ТекПоказатель);
                    ПараметрыОтбора.Вставить("Колонка",КолонкаСсылка[0].Значение);
        
                    ТекПоказателей = Объект.Показатели.НайтиСтроки(ПараметрыОтбора);
                    ТекПоказателей[0].Значение = ТекСтрока["ПрогнозПотреблениеДанныеПотребления"]
                КонецЕсли    
            КонецЦикла
        КонецЦикла
    КонецЕсли
  
КонецПроцедуры
Показать
12. user1619761 08.04.22 15:22 Сейчас в теме
(11) Примерно так, по описанию задачи
&НаКлиенте
Процедура ЗаполнитьТаблицу(Команда)

НужнаяТЧ.Очистить();
ЗаполнитьТЧНаСервере();

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

&НаСервере
Процедура ЗаполнитьТЧНаСервере()

Запрос = Новый Запрос;
Запрос.УстановитьПарамерт("Контрагент", Контрагент);
Запрос.Текст = "Выбрать НужныйРегистрСведений.НужноеПоле Как НужнаяКолонка, НужныйРегистрСведений.НужноеПоле1 Как НужнаяКолонка1 Из РегистрыСведений.НужныйРегистр Как НужныйРегистрСведений Где НужныйРегистрСведений.Контрагент = &Контрагент"; 
Результат = Запрос.Выполнить();

Если Не Результат.Пустой() Тогда

ТЗ = Результат.Выгрузить();

Для Каждого Строка Из ТЗ Цикл

ЗаполнитьЗначенияСвойств(НужнаяТЧ.Добавить(), Строка);

КонецЦикла;

Иначе 

Сообщить("Отсутствуют данные по контрагенту " + Контрагент);

КОнецЕсли;
КонецПроцедуры
Показать
13. user1377333 08.04.22 20:20 Сейчас в теме
(12)Спасибо большое, работает! Осталось теперь только сделать чтоб по периоду всё выводил)
14. user1619761 11.04.22 08:39 Сейчас в теме
(13) если у вас в регистре есть ресурс или измерение со значением "Дата",где фиксируется дата записи в регистр,то ее в параметры передайте, и будет вам по периоду выводить :
Запрос.Текст = "Выбрать НужныйРегистрСведений.НужноеПоле Как НужнаяКолонка, НужныйРегистрСведений.НужноеПоле1 Как НужнаяКолонка1 Из РегистрыСведений.НужныйРегистр Как НужныйРегистрСведений Где НужныйРегистрСведений.Контрагент = &Контрагент И НужныйРегистрСведений.Дата Между &НачалоПериода И &КонецПериода";
.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот