Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 00:27

Справочник. Вычисляемая колонка.

Автор Falcon, 13 июн 2013, 22:50

0 Пользователей и 1 гость просматривают эту тему.

Falcon

Здравствуйте!!! Я учусь программировать на 1С, передо мной стоит следующая задача:
Есть справочники "Номенклатура"(представление в виде Кода)  и "Аналоги". В справочнике "Номенклатура" есть реквизиты "Код", "Наименование", "Артикул". В справочнике "Аналоги" реквизиты: "Элемент"(тип Справочникссылка.Номенклатура) , "Наименование", "Аналог", "Наименование1". В справочнике "Аналоги" способ редактирования установлен в Списке.
Как сделать так, чтобы при вводе элемента в спр. "Аналоги" после заполнения реквизита "Элемент", автоматически заполнялся следующий за ним реквизит(колонка) "Наименование" значением реквизита "Наименование" из справочника "Номенклатура"?

1С8.2, форма обычная, приложение обычное.
 
Помогите пожалуйста разобраться, мне очень нужно!!!

GRADUS

Цитата: Falcon от 13 июн 2013, 22:50
Здравствуйте!!! Я учусь программировать на 1С, передо мной стоит следующая задача:
Есть справочники "Номенклатура"(представление в виде Кода)  и "Аналоги". В справочнике "Номенклатура" есть реквизиты "Код", "Наименование", "Артикул". В справочнике "Аналоги" реквизиты: "Элемент"(тип Справочникссылка.Номенклатура) , "Наименование", "Аналог", "Наименование1". В справочнике "Аналоги" способ редактирования установлен в Списке.
Как сделать так, чтобы при вводе элемента в спр. "Аналоги" после заполнения реквизита "Элемент", автоматически заполнялся следующий за ним реквизит(колонка) "Наименование" значением реквизита "Наименование" из справочника "Номенклатура"?

1С8.2, форма обычная, приложение обычное.
 
Помогите пожалуйста разобраться, мне очень нужно!!!

Событие формы списка: ПриИзменении(Элемент)
Процедура ПриИзмененииЭлементЯЯчейко(Элемент)
Строка = ЭлементыФормы.Четатам.ТекущаяСтрока(); //Написал коряво, не очень помню как там надо, сорь
// Или Строка = Элемент.ТекущаяСтрока(); В общем потыкаешь
Строка.Наименование = Строка.Элемент.Наименование;
//Или ЗаполнитьЗначениеСвойств(Строка,Строка.Элемент);
КонецПроцедуры

Dethmontt

Посмотри в типовой конфигурации (например в Бухгалтерии) как сделаны справочники Контрагенты и Договоры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Falcon

А где можно посмотреть типовую конфигурацию? В каких событиях смотреть код процедур?

Dethmontt

Начни с архитектуры (В код пока лезть не надо!)
Добавлено: 14 июн 2013, 22:42


Для начала посмотри справочник "Договоры Контрагентов" (Список)
Потом зайди в карточку Контрагента и посмотри на вкладку "Счета и договоры"
подходит тебе это?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Falcon

Цитата: Dethmontt от 14 июн 2013, 22:37
Начни с архитектуры (В код пока лезть не надо!)
Добавлено: 14 июн 2013, 22:42


Для начала посмотри справочник "Договоры Контрагентов" (Список)
Потом зайди в карточку Контрагента и посмотри на вкладку "Счета и договоры"
подходит тебе это?
Я думаю, что нет, не подойдет. Там способ редактирования в диалоге и на вкладке "Счета и договоры" есть именованные табличные части, куда собственно и вводится информация. А у меня в способ редактирования в списке и табличных частей нет, информация должна вводиться в форму списка, которая у меня состоит из 4-х колонок.
Не могу разобраться, как написать процедуру и куда ее писать, в какое событие. 

Dethmontt

Давай тогда по пунктам.
(я просто не понимаю что ты делаешь и что необходимо сделать...)
1. Что ты имеешь? (Реквизиты, Табличные части, типы реквизитов, Элементы формы)?
2. При изменении какого реквизита необходимо выполнять какое либо действие?
//Пока так...
Добавлено: 15 июн 2013, 01:20


Имею ввиду:
Я - в модуле формы списка пытаюсь получить доступ к реквизитам ссылки справочника номенклатуры - реквизит "Номен" тип справочникСсылка.Номенклатура
Добавлено: 15 июн 2013, 01:21


Как это сделать для текущей строки?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Falcon

Цитата: Dethmontt от 15 июн 2013, 01:17
Давай тогда по пунктам.
(я просто не понимаю что ты делаешь и что необходимо сделать...)
1. Что ты имеешь? (Реквизиты, Табличные части, типы реквизитов, Элементы формы)?
2. При изменении какого реквизита необходимо выполнять какое либо действие?
//Пока так...
Добавлено: 15 июн 2013, 01:20


Имею ввиду:
Я - в модуле формы списка пытаюсь получить доступ к реквизитам ссылки справочника номенклатуры - реквизит "Номен" тип справочникСсылка.Номенклатура
Добавлено: 15 июн 2013, 01:21


Как это сделать для текущей строки?


1) У меня есть два справочника: "Номенклатура" и "Аналоги".
В справочник "номенклатура" с помощью обработки заносятся элементы(товар) из прайсов поставщиков(Excel-файлов). Поскольку один и тот же товар в разных прайсах описывается по разному, был создан справочник "Аналоги".
В справочнике "аналоги" есть форма списка, табличных частей в ней нет. В форме списка есть 5 колонок:1)Код; 2)Элемент; 3)Наименование; 4)Аналог; 5)Наименование1. Реквизиты тоже есть у справочника:Элемент(тип СправочникСсылка.Номенклатура), Аналог(тип СправочникСсылка.Номенклатура), Наименование1 и + стандартные.
В справочнике "номенклатура"(основное представление в виде кода) реквизиты: "Код", "Наименование", "Артикул","Цена", также есть форма списка, состоящая из 4-х колонок: 1)Код; 2)Наименование; 3)Артикул; 4)Цена.

2)Мне нужно, чтобы в справочнике "Аналоги", в форме списка, при изменении колонки "Элемент", автоматически заполнялась, следующая за ней колонка "Наименование" (значением реквизита "Наименование" выбранного элемента из справочника "Номенклатура").






Добавлено: 15 июн 2013, 02:46


Цитата: Dethmontt от 15 июн 2013, 01:17Я - в модуле формы списка пытаюсь получить доступ к реквизитам ссылки справочника номенклатуры - реквизит "Номен" тип справочникСсылка.Номенклатура

Я думаю так:
Элемент.Наименование или Аналог.Наименование
"Элемент" и "Аналог" имеют тип значения СправочникСсылка.Номенклатура, а "Наименование" это реквизит справочника "Номенклатура".


Добавлено: 15 июн 2013, 15:18


Неужели никто, поможет:(?

GRADUS

Цитата: Falcon от 15 июн 2013, 02:37
Цитата: Dethmontt от 15 июн 2013, 01:17
Давай тогда по пунктам.
(я просто не понимаю что ты делаешь и что необходимо сделать...)
1. Что ты имеешь? (Реквизиты, Табличные части, типы реквизитов, Элементы формы)?
2. При изменении какого реквизита необходимо выполнять какое либо действие?
//Пока так...
Добавлено: 15 июн 2013, 01:20


Имею ввиду:
Я - в модуле формы списка пытаюсь получить доступ к реквизитам ссылки справочника номенклатуры - реквизит "Номен" тип справочникСсылка.Номенклатура
Добавлено: 15 июн 2013, 01:21


Как это сделать для текущей строки?


1) У меня есть два справочника: "Номенклатура" и "Аналоги".
В справочник "номенклатура" с помощью обработки заносятся элементы(товар) из прайсов поставщиков(Excel-файлов). Поскольку один и тот же товар в разных прайсах описывается по разному, был создан справочник "Аналоги".
В справочнике "аналоги" есть форма списка, табличных частей в ней нет. В форме списка есть 5 колонок:1)Код; 2)Элемент; 3)Наименование; 4)Аналог; 5)Наименование1. Реквизиты тоже есть у справочника:Элемент(тип СправочникСсылка.Номенклатура), Аналог(тип СправочникСсылка.Номенклатура), Наименование1 и + стандартные.
В справочнике "номенклатура"(основное представление в виде кода) реквизиты: "Код", "Наименование", "Артикул","Цена", также есть форма списка, состоящая из 4-х колонок: 1)Код; 2)Наименование; 3)Артикул; 4)Цена.

2)Мне нужно, чтобы в справочнике "Аналоги", в форме списка, при изменении колонки "Элемент", автоматически заполнялась, следующая за ней колонка "Наименование" (значением реквизита "Наименование" выбранного элемента из справочника "Номенклатура").






Добавлено: 15 июн 2013, 02:46


Цитата: Dethmontt от 15 июн 2013, 01:17Я - в модуле формы списка пытаюсь получить доступ к реквизитам ссылки справочника номенклатуры - реквизит "Номен" тип справочникСсылка.Номенклатура

Я думаю так:
Элемент.Наименование или Аналог.Наименование
"Элемент" и "Аналог" имеют тип значения СправочникСсылка.Номенклатура, а "Наименование" это реквизит справочника "Номенклатура".


Добавлено: 15 июн 2013, 15:18


Неужели никто, поможет:(?

Пиши код, рисуй скриншоты, мы не понимаем в чем проблема.
Кури событие ПриИзменении в той форме, где ты изменяешь элемент.

Falcon

Всем спасибо за внимание и поддержку!!! Задача решена. Вот код, может кому пригодится:
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки.Наименование.Текст=ДанныеСтроки.Элемент.Наименование;
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск