Имя: Пароль:
1C
1С v8
ПриемТМЦНаХранение
,
0 binarick
 
05.11.12
14:16
Подскажите плиз
Имею типовую бухг. 7,7, делаю обработку загрузки доков

Спр = СоздатьОбъект("Справочник.Материалы");
Док=СоздатьОбъект("Документ.ПриемТМЦНаХранение");
Док.Новый();
Док.ДатаДок = ТекущаяДата();
Док.НоваяСтрока();
Док.Вид = Перечисление.ВидыТМЦ.Материал;
Док.ТМЦ = ТМЦ;
Док.Цена = Спр.Цена;
Док.Количество = Колво;
Док.Сумма = СтрокаСумма;
Док.НДС = Спр.Цена * Колво * 1.18;

при создании получаю пустое значении в ТМЦ т.к. ТМЦ Тип = Неопределённый

Как бы так Док.ТМЦ.УстановитьТип(Спр); но только правильно написать ?

Спасибо
1 Wobland
 
05.11.12
14:18
заставить ТМЦ быть ТМЦой предлагать?
2 binarick
 
05.11.12
14:19
(1) не понял, извините
3 Wobland
 
05.11.12
14:19
(2) ТМЦ - что такое?
4 binarick
 
05.11.12
14:21
допустим так:
Спр.НайтиПоНаименованию(Наименование);
ТМЦ = Спр;
5 Wobland
 
05.11.12
14:22
(4) а текущий элемент там не надо?
6 binarick
 
05.11.12
14:24
(5) можно конечно написать но от этого Тип ТМЦ не изменится.
7 Wobland
 
05.11.12
14:25
(6) что, не находит?
8 binarick
 
05.11.12
14:26
дело не в строке Док.ТМЦ = ТМЦ;
тут всё ок присваивается. Дело в Типе реквизита ТМЦ он неопределён. и как его определить я что он = Справочник.Материалы я хз (
9 Vladal
 
05.11.12
14:28
(0) Я думаю, что в коде

Док.НДС = Спр.Цена * Колво * 1.18;

Нет еще одного множителя, да и ставка НДС фиксированная... А вдруг какая-то ТМЦа без НДСа?

Док.НДС = Спр.Цена * Колво * Коэффициент * 1.18;
10 binarick
 
05.11.12
14:30
(9) давайте даже сделаем так Док.НДС = 0;
наименование пустое и не выбирается
11 Wobland
 
05.11.12
14:32
ладно, реквизит ТМЦ у документа какой тип имеет?
12 binarick
 
05.11.12
14:33
(11) Неопределён
13 Wobland
 
05.11.12
14:33
(12) и чего ты в таком случае хочешь?
14 binarick
 
05.11.12
14:34
(13)хочу правильно написать

Док.ТМЦ.УстановитьТип(Спр);

и не выходит
15 Wobland
 
05.11.12
14:35
а ТМЦ бывают разных типов? тогда дошло. тогда не знаю
16 Wobland
 
05.11.12
14:35
+(15) в восьмёрке тупо присваивается и всё
17 binarick
 
05.11.12
14:36
сори у меня 7.7.
18 binarick
 
05.11.12
14:37
(15)тмц бывают:
Справочник.Материалы и Справочник.Номенклатура
19 Vladal
 
05.11.12
14:40
(12) Ах, вотоночёмихалыч!

В каждой новой строке тебе надо определить тип реквизита:

Пока ПолучитьСтроку() = 1 Цикл
   ...
   НазначитьТип("ТМЦ", ВыбТип);
   ...
КонецЦикла;
20 binarick
 
05.11.12
14:44
(19)Спасибо !
но

Док.НазначитьТип("ТМЦ", Спр);

не вышло почемуто
21 Wobland
 
05.11.12
14:45
(20) ты, конечно, действовал в полном согласии с СП
22 binarick
 
05.11.12
14:47
Так вышло:
Док.НазначитьТип("ТМЦ", "Справочник.Материалы");

Спасибо всем за помощь особенно Vladal
23 Vladal
 
05.11.12
14:56
(22) Да пожалуйста. Естественно, для НеМатериалов надо другой тип установить )))
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.