|
Реквизиты справочника | ☑ | ||
---|---|---|---|---|
0
Frawashi
10.07.13
✎
14:46
|
Здравствуйте, извиняюсь за скорее всего глупый вопрос. Суть проблемы такова: 1с 8.1 Есть справочник "Номенклатура", в нем есть реквизиты, среди которых "Наименование" и "Обозначение". Надо: создать справочник "Нормы", с реквизитами "Наименование", "Обозначение", "Норма". Задача: чтобы когда пользователь выбирал "Наименование", "Обозначение" подставлялось само. Не могу допетрить, как сделать. В процедуре "При изменении" у наименования я могу поймать, что выбрал пользователь, какую номенклатуру и её обозначение (с помощью Элемент.Значение и Элемент.Значение.Обозначение), а вот как дальше его впихнуть, чтобы автоматически прописался в другом реквизите - не могу понять.
|
|||
1
Jonny_Khomich
10.07.13
✎
14:48
|
я бы сказал, что задача не ясна.
|
|||
2
Mitriy
10.07.13
✎
14:48
|
чо-то мутно как-то объясняешь...
|
|||
3
maksim358
10.07.13
✎
14:49
|
(1) поддержу.
Что куда должно садиться и при выборе чего? |
|||
4
Жан Пердежон
10.07.13
✎
14:49
|
Сначала определись, будут ли у тебя меняться нормы со временем и нужны ли предыдущие значения норм.
|
|||
5
tttiger
10.07.13
✎
14:49
|
я бы тоже так сказал.
|
|||
6
1Сергей
10.07.13
✎
14:51
|
а я, пожалуй, промолчу
|
|||
7
ДенисЧ
10.07.13
✎
14:54
|
(3) Автор вопроса должен сесть. На пару лет. За издевательство
|
|||
8
Frawashi
10.07.13
✎
14:55
|
Окэй. Еще раз. Есть справочник номер один: Номенклатура. В нем данные находятся в следующем виде:
Номенклатура Обозначение Стакан пластиковый 12345 Второй справочник, норма, в нем три реквизита: номенклатура, обозначение, норма. Выглядеть должно так: Номенклатура Обозначение Норма Стакан пластиковый 12345 100500 Пишу, что тип данных реквизита "Номенклатура" справочника "Норма": "Справочник.Ссылка.Номенклатура". Таким образом, при вводе данных пользователь просто щелкает мышой. Хочу, чтобы в реквизит "Обозначения" справочника "Норма" данное обозначение подставлялось автоматически, в зависимости от номенклатуры, при клике пользователя. то есть похожая штука обычно в табличных частях документов, где автоматически рассчитывается сумма. Но тут же не табличная часть, вот и не могу придумать, как сделать. |
|||
9
Молодой 1Снег
10.07.13
✎
14:57
|
(0) Обозначение = Элемент.Значение.Обозначение;
|
|||
10
kosts
10.07.13
✎
14:58
|
(8) Для поиска нормы используй запрос.
|
|||
11
kosts
10.07.13
✎
14:58
|
Обозначение = Код ?
|
|||
12
Frawashi
10.07.13
✎
14:59
|
(9) Вот такое я сделал в процедуре ПриИзменении у реквизита номенклатура. А как его в обозначение впихать?
(10)нормы хотят сами руками пихать. Почему не хотят, чтобы все дело в одном справочнике было - хз. |
|||
13
kosts
10.07.13
✎
15:00
|
Хранение норм в справочнике чревато проблемами. Срочно рассмотри регистр сведений.
|
|||
14
Frawashi
10.07.13
✎
15:02
|
(13) не я решаю, что и как делать в плане архитектуры. Мне говорят "хотим, чтоб было именно так" - надо делать именно так.
|
|||
15
kosts
10.07.13
✎
15:05
|
(14) Слушай больше бухгалтеров. Что будет, если они в справочник норм добавят несколько штук одной и той же номенклатуры с разными нормами?
|
|||
16
Frawashi
10.07.13
✎
15:10
|
(15) тогда я буду делать переодический регистр сведений, очевидно же :D
Но сейчас вот такая микро-задачка, которая поставила меня, только начинающего путь в 1с, в тупик. Я думал, что получится аля как с табличной частью, получить строку и все дела, а тут вот не могу догадаться |
|||
17
Молодой 1Снег
10.07.13
✎
15:10
|
(12) А оно не впихивается что-ли? Покажи весь код.
|
|||
18
Frawashi
10.07.13
✎
15:14
|
(17) да нет там никакого кода вообще. Разве что вот эта ваша строка:
Процедура СправочникСписокНоменклатураПриИзменении(Элемент) Обозначение = Элемент.Значение.Обозначение; КонецПроцедуры Все, больше ничего и нет. |
|||
19
Молодой 1Снег
10.07.13
✎
15:17
|
(18) Ну и что конкретно не работает? Реквизит Обозначение остается пустой?
|
|||
20
Frawashi
10.07.13
✎
15:19
|
(19) да
|
|||
21
kosts
10.07.13
✎
15:19
|
(18) В каком документе должна быть вытащена норма?
|
|||
22
maksim358
10.07.13
✎
15:20
|
ты напиши не Элемент.Значение.Обозначение, а Номенклатура.Обозначение
|
|||
23
Молодой 1Снег
10.07.13
✎
15:23
|
(20)
Посмотри отладчиком или через Сообщить, может у тебя в выбранном элементе реквизит Обозначение пустой. |
|||
24
Frawashi
10.07.13
✎
15:23
|
(22) Тогда ничего не будет находится. Смысл же не в уже забитом справочнике дописать реквизиты, а чтобы при создании новой записи в справочнике подставлялось значиние в соответствии с выбранным первым реквизитом.
|
|||
25
maksim358
10.07.13
✎
15:25
|
ну вот ты выбираешь Номенклатуру и хочешь из нее вытащить реквизит Обозначение? тогда так и пиши.
|
|||
26
Frawashi
10.07.13
✎
15:41
|
Для желающих понять и помочь сделал недобазу с этими двумя недосправочниками и картинками, которые проясняют суть вопроса
http://rghost.ru/47328667 |
|||
27
maksim358
10.07.13
✎
15:49
|
(26) пришли базу на мейл - [email protected]
|
|||
28
Молодой 1Снег
10.07.13
✎
17:02
|
(26) 8.1 нет под рукой. Типы реквизитов совпадают?
|
|||
29
George Wheels
11.07.13
✎
07:48
|
Ну во первых дублировать справочники это неправильно. Во втором справочнике должна быть только ссылка на первый и норма. Во вторых (13)
|
|||
30
Frawashi
11.07.13
✎
15:52
|
вощем, если кому интересно: убедил все таки использовать не только одну форму списка, но и форму элемента, защитил от редактирования ячейку с обозначением и при записи поставил проверку на уже существующий кортеж:
Процедура ПриЗаписи(Отказ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НормыМеханическихЦехов1.Деталь |ИЗ | Справочник.НормыМеханическихЦехов1 КАК НормыМеханическихЦехов1 |ГДЕ | НормыМеханическихЦехов1.Деталь.Обозначение = &Деталь | И НормыМеханическихЦехов1.Ссылка <> &Ссылка"; Запрос.УстановитьПараметр("Деталь", ЭлементыФормы.Деталь.Значение.Обозначение); Запрос.УстановитьПараметр("Ссылка", Ссылка); Если Не Запрос.Выполнить().Пустой() Тогда Предупреждение("Данная номенклатура (" + ЭлементыФормы.Деталь.Значение.Обозначение + ") уже есть в справочнике."); Отказ = Истина; Иначе Обозначение = ЭлементыФормы.Деталь.Значение.Обозначение; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |