Имя: Пароль:
1C
1С v8
как сделать |Автозаполнение Табличной части при выборке Номенклатуры|?
0 Help_1c
 
01.04.14
19:51
Создал табличную часть документа с реквизитами Номенклатура (СправочникСсылка.Номенклатура) и Единица_Измерения. Соответственно в справочнике Номенклатуры есть реквизит Основная_Единица_Измерения. Вопрос: Как при выборе реквизита Номенклатура в табличной части автоматически заполнить реквизит Единица_Измерения???
1 hhhh
 
01.04.14
20:02
не надоело велосипеды выдумывать? Это же миллион раз уже было. Во всех типовых сотни примеров.
2 Help_1c
 
01.04.14
20:02
Вот мой код!Неправильный?Нечего не происходит!


&НаСервере
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;
ТекДанные.ЕдиницаИзмерение =   ТекДанные.Номенклатура.ОсновнаяЕдиницаИзмерения;
    
    
    
    
КонецПроцедуры
3 Help_1c
 
01.04.14
20:05
(1) Там запутано как-то!Не понимаю что там происходит:(
4 hhhh
 
01.04.14
20:11
(3) элементарно ведь, ну так пробуйте

&НаКлиенте
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)

ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;

ТабличнаяЧастьНоменклатураПриИзмененииНаСервере(ТекДанные);
5 Help_1c
 
01.04.14
20:21
(4)  ошибка!



{Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма(6,1)}: Процедура или функция с указанным именем не определена (ТабличнаяЧастьНоменклатураПриИзмененииНаСервере)
<<?>>ТабличнаяЧастьНоменклатураПриИзмененииНаСервере(ТекДанные); (Проверка: Тонкий клиент) (4)
6 Help_1c
 
01.04.14
20:28
может как-то так?


&На Клиенте
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)

ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;

ТабличнаяЧастьНоменклатураПриИзмененииНаСервере(ТекДанные);
КонецПроцедуры
&НаСервере
Процедура ТабличнаяЧастьНоменклатураПриИзменении(ТекДанные);
////что написать здесь?    
    
    
    
КонецПроцедуры

тоже ошибка!

{Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма(2,11)}: Процедура или функция с указанным именем уже определена (ТабличнаяЧастьНоменклатураПриИзменении)



может как-то так?
7 Help_1c
 
01.04.14
20:37
это делается через запрос?
8 vicof
 
01.04.14
20:44
может книжки для начала почитаешь?
9 Help_1c
 
01.04.14
20:49
(8) читаю иногда но не дошел до такого!
10 Доминошник
 
01.04.14
21:41
(6)
&На Клиенте
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
....
&НаСервере
Процедура ТабличнаяЧастьНоменклатураПриИзменении(ТекДанные)

...
Процедура с указанным именем уже определена (ТабличнаяЧастьНоменклатураПриИзменении)

Согласно приведённого кода - она действительно уже определена
11 Help_1c
 
01.04.14
21:53
(10) Я это уже понял,Хотелось бы рабочий код!


Я думаю что надо связать Поля справочника(Номенклатуры) и Поля табличной части (документа)!
12 banco
 
01.04.14
22:22
книжки надо читать
&На Клиенте
Процедура ТабличнаяЧастьНоменклатураПриИзменении(Элемент)
ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;
ТекДанные.ЕдиницаИзмерение =   ПолучитьЕдиницу(ТекДанные.Номенклатура);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьЕдиницу(Номенклатура)
Возврат Номенклатура. ОсновнаяЕдиницаИзмерения;  
КонецФункции
13 Naumov
 
01.04.14
22:51
а если НаКлиенте слитно писать?
14 Help_1c
 
01.04.14
23:31
(12) Спасибо выручил:)
Кстати посоветую книгу хорошо!

А можно с помощью запросом устроить что-то подобное?
Например получить наименование поля Справочника.Номенклатуры и Основной Единицы измерение,потом вставить Как-то в поле ИдиницаИзмерение Табличной части?


Думаю как-то так )
Надо При выборе Номенклатуры Выгрузить из запроса Данные,Основной Единицы Измерение,в поля табличной части единица измерение.

Ладно всем спасибо!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший