Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Swamp Doctor
1 / 1 / 1
Регистрация: 07.04.2015
Сообщений: 87
1

Автоматическая замена табличных реквизитов, ссылающихся на реквизиты справочника

18.02.2017, 18:22. Просмотров 847. Ответов 7
Метки нет (Все метки)

Имеем таблицу в документе с реквизитом "товар", ссылающимся на "товар" в справочнике. У товара в справочнике есть реквизиты "цена" и "ндс". Как сделать, что бы при выборе в таблице реквизита ссылающегося на "товар" в таблице автоматически менялись значения реквизитов "ндс" и "цена" на теже, что хранятся в справочнике "товар". При этом значение в ещё одном табличном реквизите "цена с ндс" должно поменяться на "цену" + "ндс" автоматически вставленных реквизитов.

Это делается стандартными средствами программы или где и как написать код?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2017, 18:22
Ответы с готовыми решениями:

[1C 8.1.11.67 УТ 10.3] Автоматическая замена текста в элементе справочника номенклатуры как возможна?
1C 8.1.11.67 УТ 10.3 Автоматическая замена текста в элементе справочника...

Обновление ссылки на документ в реквизите справочника и заполнение реквизитов элемента справочника по новой ссылке
Здравствуйте. В собственной конфигурации есть документ "Объектныйграфик" с...

Не сохраняются реквизиты справочника УФ
Добрый день! На ровном месте запутался. В справочнике "Контрагенты" добавил...

Периодические Реквизиты Справочника
Нужно построить sql запрос (на сервере MS Sql), который выводит всех...

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

7
GreenkA
Модератор
Эксперт 1С
2466 / 1817 / 513
Регистрация: 25.06.2009
Сообщений: 6,681
18.02.2017, 18:52 2
Лучший ответ Сообщение было отмечено Swamp Doctor как решение

Решение

Swamp Doctor, написать код на событие поля таблицы ТоварПриИзменении(). Код зависит от типа приложения. Пример для управляемой формы:
1C
1
2
3
4
5
6
7
8
9
10
11
&НаКлиенте
Процедура ИмяТабличнойЧастиТоварПриИзменении(Элемент)
 ТекущаяСтрока = Элемент.Родитель.ТекущиеДанные; //можно Элементы.ИмяТабличнойЧасти.ТекущиеДанные;
 ТекущаяСтрока.Цена = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "Цена");
 ТекущаяСтрока.НДС = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "НДС");
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьЗначениеРеквизитаНаСервере(ТекущийЭлемент, ИмяРеквизита)
 Возврат ТекущийЭлемент[ИмяРеквизита];
КонецФункции
1
Swamp Doctor
1 / 1 / 1
Регистрация: 07.04.2015
Сообщений: 87
18.02.2017, 21:45  [ТС] 3
Спасибо. Я зашёл в свойства документа и создал команду так? Если честно я не очень в синтаксисе 1С и эксперименты никуда не привели.

1C
1
2
3
4
5
6
&НаКлиенте
Процедура ТаблицаТоварПриИзменении(Приходная)
 ТекущаяСтрока = Приходная.Таблица.ТекущиеДанные;
 ТекущаяСтрока.Цена = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "Цена");
 ТекущаяСтрока.НДС = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "НДС");
КонецПроцедуры
Имя табличной части: Таблица
Имя справочника: Товар
Имя элемента: Что такое элемент?
Имя документа: Накладная
Имена табличных реквизитов: цена, ндс
Имена реквизитов справочника: цена, ндс
0
GreenkA
Модератор
Эксперт 1С
2466 / 1817 / 513
Регистрация: 25.06.2009
Сообщений: 6,681
18.02.2017, 22:01 4
Swamp Doctor, а функцию ПолучитьЗначениеРеквизитаНаСервере() вы в модуле формы написали?

Добавлено через 45 секунд
Swamp Doctor,
1C
1
2
3
4
5
6
&НаКлиенте
Процедура ТаблицаТоварПриИзменении(Элемент)
 ТекущаяСтрока = Элементы.Таблица.ТекущиеДанные;
 ТекущаяСтрока.Цена = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "Цена");
 ТекущаяСтрока.НДС = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока, "НДС");
КонецПроцедуры
Добавлено через 3 минуты
Элемент - это текущий элемент формы.
Это не просто код, который надо прописать в модуле формы документа. Его надо связать с событием элемента формы. В окне редактирования формы выделяете столбец "Товар" - Свойства, внизу будет перечень доступных Событий. Напротив ПриИзменении() нажимаете значок лупы.
1
Swamp Doctor
1 / 1 / 1
Регистрация: 07.04.2015
Сообщений: 87
18.02.2017, 22:22  [ТС] 5
Где писать разобрался. При выборе товара возникает ошибка (Ошибка отображения типов: Отсутствует отображение для типа"ДанныеформыЭлементыКоллекции")
0
GreenkA
Модератор
Эксперт 1С
2466 / 1817 / 513
Регистрация: 25.06.2009
Сообщений: 6,681
19.02.2017, 01:04 6
Swamp Doctor, выложите вашу конфигурацию.
0
Swamp Doctor
1 / 1 / 1
Регистрация: 07.04.2015
Сообщений: 87
19.02.2017, 20:42  [ТС] 7
Спасибо, но она слишком мала и нелепа, что бы её выкладывать. Да и мне крайне важно разобраться самому, что к чему. Ошибка отображения типов: Отсутствует отображение для типа"ДанныеформыЭлементыКоллекции"
После сотни переборов синтаксиса я понял, что вы забыли написать для меня что берёт ТекущаяСтрока для функции.
1C
1
2
3
ТекущаяСтрока = Элементы.Таблица.ТекущиеДанные;
ТекущаяСтрока.Цена = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока.Товар, "Цена");
ТекущаяСтрока.НДС = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока.Товар, "НДС");
Спасибо, что отвечаете на глупые вопросы новичков.
Тему закрываю, но будет здорово если ещё напишите пример кода с суммированием двух реквизитов.

Добавлено через 1 час 37 минут
1C
1
2
ТекущаяСтрока.Итогос = (ТекущаяСтрока.Цена + (ТекущаяСтрока.Цена / 100 * ТекущаяСтрока.НДС)) * ТекущаяСтрока.Количество;
ТекущаяСтрока.Итогоб = ТекущаяСтрока.Цена * ТекущаяСтрока.Количество;
0
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,595
Записей в блоге: 1
Завершенные тесты: 1
20.02.2017, 10:37 8
Swamp Doctor,
1C
1
2
3
4
5
ТекущаяСтрока = Элементы.Таблица.ТекущиеДанные;
ТекущаяСтрока.Цена = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока.Товар, "Цена");
ТекущаяСтрока.НДС = ПолучитьЗначениеРеквизитаНаСервере(ТекущаяСтрока.Товар, "НДС");
////////////////////////////////
ТекущаяСтрока.ЦенаСНДС = ТекущаяСтрока.Цена+ТекущаяСтрока.НДС;
0
20.02.2017, 10:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2017, 10:37

Связь Справочника и Табличных частей
Всем привет, мой первый пост на этом форуме. Вопрос состоит вот в чем. Мне...

Поиск соответствия реквизитов справочника
Доброго дня, у меня такая проблема разрабатываю примитивную (информационную...

Заполнение ТЧ Документа из Реквизитов справочника
нужно заполнить ТЧ документа из Реквизита справочника. &НаКлиенте Процедура...


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

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

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