Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
#1

Данные из регистра сведений в табличную часть - 1С/1C 8.x

20.05.2016, 23:09. Просмотров 853. Ответов 15
Метки нет (Все метки)

Здравствуйте.
Есть регистр сведений "КоэффициентыНормГСМ" с измерениями Автомобиль и Коэффициент. Ресурс: значение.
Необходимо, чтобы при выборе автомобиля заполнялся коэффициент и его значение.
Для того чтобы передать значения регистра в табличную часть путевого листа использовала следующее:
http://www.cyberforum.ru/1c-custom/thread1831526.html

В общем модуле(ЗначенияКоэффициентов):

1C
1
2
3
4
5
Функция ЗначениеКоэффициента(АктуальнаяДата, ЭлементТранспортныеСредства, ЭлементКоэффициентыНормГСМ) Экспорт
Отбор = Новый Структура("Автомобиль,Коэффициент",ЭлементТранспортныеСредства, ЭлементКоэффициентыНормГСМ);
ЗначенияРесурсов = РегистрыСведений.КоэффициентыНормГСМ.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Значение;
КонецФункции
В модуле формы:

1C
1
2
3
4
5
6
&НаКлиенте 
Процедура ИспользованныеКоэффициентыАвтомобильПриИзменении(Элемент) 
СтрокаТабличнойЧасти = Элементы.ИспользованныеКоэффициенты.ТекущиеДанные;
 
СтрокаТабличнойЧасти.ЗначениеКоэффициента = ЗначенияКоэффициентов.ЗначениеКоэффициента(Объект.Дата,СтрокаТабличнойЧасти.Автомобиль,СтрокаТабличнойЧасти.Коэффициент);
КонецПроцедуры
Но так ничего не происходит. Где что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2016, 23:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос 1C 8.x Данные из регистра сведений в табличную часть (1С):

Вывод в табличную часть справочника данных из регистра сведений
Здравствуйте! Есть справочник и РС. Надо в табличную часть справочника вывести...

Как заполнить табличную часть справочника данными регистра сведений?
Здравствуйте! Столкнулась с такой проблемой. Платформа 1С 8.2. Есть справочник...

Подстановка цены в документ из регистра сведений через табличную модель
Пытаюсь получить из регистра цену на выбираемый в табличной части товар по...

Данные из регистра сведений
Запрос = Новый Запрос(); Запрос.Текст ="ВЫБРАТЬ ...

Подгрузить данные из регистра сведений в справочник
Здравствуйте! В документе, в табличной части выбираю реквизит "Услуга" из...

15
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1509 / 474
Регистрация: 25.06.2009
Сообщений: 5,424
20.05.2016, 23:14 #2
Ziinger, регистр заполнен? с датами все ок? с событием формы код подбора значения связали? и еще: проверьте соответствие типов: в регистре и документе
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
20.05.2016, 23:28  [ТС] #3
Регистр заполняется при проведении документа. Вроде все норм,да.
"с событием формы код подбора значения связали?" - это каким образом делается?)
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
20.05.2016, 23:29 #4
Ziinger, и сначала наверное нужно заполнять коэффициент а потом уже тянуть значение коэф. из регистра
хотя бы ручками на форме
0
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1509 / 474
Регистрация: 25.06.2009
Сообщений: 5,424
20.05.2016, 23:44 #5
Цитата Сообщение от Ziinger Посмотреть сообщение
"с событием формы код подбора значения связали?" - это каким образом делается?)
выделяем нужный элемент формы - правой кнопкой мыши - События, внизу находим нужное событие - нажимаем напротив значок Лупы. В модуле формы создастся шапка процедуры-обработчика события, туда надо писать свой код.
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
20.05.2016, 23:47  [ТС] #6
Если в измерениях оставить только коэффициент, то его значение выводится без проблем. А и то, и другое сразу не получается.
"сначала наверное нужно заполнять коэффициент а потом уже тянуть значение коэф. из регистра" - а я думала так и происходит..) сначала запрашиваются данные автомобиля, далее коэффициент, на основании этого уже и выводится значение.
Или вы имеете в виду, что нужно подобную строку добавить?
1C
1
СтрокаТабличнойЧасти.Коэффициент = ЗначенияКоэффициентов.ЗначениеКоэффициента( Объект.Дата,СтрокаТабличнойЧасти.Автомобиль,СтрокаТабличнойЧасти.Коэффициент);
Добавлено через 23 секунды
Да,так и делала.

Добавлено через 3 минуты
Цитата Сообщение от GreenkA Посмотреть сообщение
выделяем нужный элемент формы - правой кнопкой мыши - События, внизу находим нужное событие - нажимаем напротив значок Лупы. В модуле формы создастся шапка процедуры-обработчика события, туда надо писать свой код.
Да,так и делала.)
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
23.05.2016, 01:09 #7
Ziinger, я не понимаю что это такое у вас - ЭлементКоэффициентыНормГСМ
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
23.05.2016, 01:16  [ТС] #8
Это я делала по образцу учебника, ссылка на элемент справочника КоэффициентыНормГСМ, для которого хочу получить значение коэффициента
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
23.05.2016, 01:21 #9
Цитата Сообщение от Ziinger Посмотреть сообщение
ссылка на элемент справочника КоэффициентыНормГСМ, для которого хочу получить значение коэффициента
вооот.
Диалог стал конструктивнее.

т.е. наш регистр имеет два измерения Автомобиль, Коэффициент (оба ссылки на соответствующие справочники) и ресурс Значение. Правильно?

Добавлено через 56 секунд
Ziinger, какие реквизиты у справочника Автомобили?
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
23.05.2016, 01:28  [ТС] #10
Да,все верно)
Вид ТС, Модель, Гос. номер, Гаражный номер. И стандартный-наименование
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
23.05.2016, 01:30 #11
Ziinger, а как выбирается коэффициент для автомобиля?
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
23.05.2016, 01:39  [ТС] #12
А при проведении документа разве он не закрепляется сразу за автомобилем?

Добавлено через 4 минуты
Был еще вариант в справочнике ТС сделать табличную часть, где можно было бы указать какой коэффициент использовать. Но что потом с этим делать опять же вопрос
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
23.05.2016, 01:54 #13
Цитата Сообщение от Ziinger Посмотреть сообщение
А при проведении документа разве он не закрепляется сразу за автомобилем?
То что понимания нету вообще, это я понял уже....

Вопрос: Зачем нужен справочник коэффициентов?

Добавлено через 1 минуту
Почему просто нельзя использовать такую структуру?

Регистр: Измерение - Автомобиль (справчник) Ресурс - Коэффициент (Число)
0
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
23.05.2016, 02:03  [ТС] #14
В том то и дело, что нужно не только значение коэффициента, но и описание его назначения так сказать, которое как раз и содержится в справочнике коэффициентов, а вот значения уже устанавливаются документом)

Добавлено через 3 минуты
Dethmontt, В справочнике только наименование. Например, Горная местность от 2001 до 3000 м - до 15% (высокогорье); Эксплуатация более 5-6 или с общим пробегом более 100 тыс. км - до 5% и т.д.
0
Dethmontt
Модератор
Эксперт 1С
2577 / 2384 / 391
Регистрация: 10.03.2011
Сообщений: 8,424
Записей в блоге: 1
Завершенные тесты: 1
23.05.2016, 02:10 #15
Тогда так.

В справочнике Коэффициенты делаем реквизит ЗначениеКоэффициента - тип Число

А регистр меняем так: Измерение - Автомобиль (Ссылка), Ресурс - Коэффициент (Ссылка)

и код будет таким:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&НаКлиенте 
Процедура ИспользованныеКоэффициентыАвтомобильПриИзменении(Элемент) 
СтрокаТабличнойЧасти = Элементы.ИспользованныеКоэффициенты.ТекущиеДанные;
 ДанныеПоКоэффициентам = ЗначенияКоэффициентов.ЗначениеКоэффициента(Объект.Дата, СтрокаТабличнойЧасти.Автомобиль);
СтрокаТабличнойЧасти.Коэффициент = ДанныеПоКоэффициентам.Коэффициент;
СтрокаТабличнойЧасти.ЗначениеКоэффициента = ДанныеПоКоэффициентам.ЗначениеКоэффициента;
КонецПроцедуры
 
Функция ЗначениеКоэффициента(АктуальнаяДата, Автомобиль) Экспорт
Отбор = Новый Структура("Автомобиль",Автомобиль);
ЗначенияРесурсов = РегистрыСведений.КоэффициентыНормГСМ.ПолучитьПоследнее(АктуальнаяДата, Отбор);
 ЗначениеВозврата.Вставить("ЗначениеКоэффициента", ЗначенияРесурсов.Коэффициент.ЗначениеКоэффициента);
 ЗначениеВозврата.Вставить("Коэффициент", ЗначенияРесурсов.Коэффициент);
 Возврат ЗначениеВозврата;
КонецФункции
1
Ziinger
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 14
23.05.2016, 03:00  [ТС] #16
Хорошо,спасибо,сейчас попробую.
В таком случае уже нельзя будет изменить значение коэффициента?

Добавлено через 34 минуты
В общем ругается на ЗначениеВозврата, а потом вообще не дает запустить 1с,т.к. записи регистра сведений стали неуникальными
0
23.05.2016, 03:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2016, 03:00
Привет! Вот еще темы с решениями:

Данные из справочника в табличную часть документа
Здравствуйте. Ситуация следующая: Существует справочник "Маршруты" с...

Отображение автоматически по реквизитам данные из регистра сведений
Как автоматически настроить чтоб выводился запрос всех данных по реквизитам. ...

Заполнение регистра сведений
Добрый день. Есть документ "Поступление материалов", информация с которого...

Получение из регистра сведений
Подсккажите как из регистра сведений получить предпоследнюю и последнюю записи


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru