Имя: Пароль:
1C
1С v8
Обмен данными.
, ,
0 Aleksei_Pro
 
01.10.12
16:34
После загрузке в справочнике номенклатура пишу:
Если Объект.ЭтоГруппа <> Истина Тогда
   Если НЕ ЗначениеЗаполнено(Объект.ЕдиницаХраненияОстатков)  и  НЕ ЗначениеЗаполнено(Объект.ЕдиницаДляОтчетов) Тогда
       ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(,Объект);
       Если ВыборкаЕдиниц.Следующий() Тогда
           НайденнаяЕдиница = ВыборкаЕдиниц.Ссылка;
       Иначе
           НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
           НайденнаяЕдиницаОбъект.Наименование            = СокрЛП(Объект.БазоваяЕдиницаИзмерения);
           НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Объект.БазоваяЕдиницаИзмерения;
           НайденнаяЕдиницаОбъект.Коэффициент             = 1;
           НайденнаяЕдиницаОбъект.Владелец                = Объект.Ссылка;
           НайденнаяЕдиницаОбъект.Записать();
           НайденнаяЕдиница = НайденнаяЕдиницаОбъект.Ссылка;
       КонецЕсли;        
       Объект.ЕдиницаХраненияОстатков = НайденнаяЕдиница;
       Объект.ЕдиницаДляОтчетов =НайденнаяЕдиница;
   КонецЕсли;
КонецЕсли;

Пишет ошибку: в методе выбрать , несоотвествиве типов - параметр 2. В чем проблема?
1 Mort
 
01.10.12
16:37
Объект.Ссылка
2 DrShad
 
01.10.12
16:38
там нужно ссылку передавать
3 golden-pack
 
01.10.12
16:38
7.7 detected
4 Aleksei_Pro
 
01.10.12
16:39
тоже не работает с сылкой
5 DrShad
 
01.10.12
16:39
(3) где detected?
6 DrShad
 
01.10.12
16:39
(4) а он уже записан? т.е. ссылка сформирована?
7 golden-pack
 
01.10.12
16:40
(5) Справочники.ЕдиницыИзмерения.Выбрать(,Объект);
8 DrShad
 
01.10.12
16:41
(7) и что тут из клюшек?
9 Aleksei_Pro
 
01.10.12
16:41
ну а в чем разниуа?
10 zladenuw
 
01.10.12
16:44
<Владелец> (необязательный)

Тип: СправочникСсылка.
а ты объект толкаешь
11 Maxus43
 
01.10.12
16:45
(9) зачем этот код вобще? укажи только базовую единицу, потом методом ЗаписатьВФорме создадутся другие, так в типовых
12 DrShad
 
01.10.12
16:45
(10) ты опоздал
13 Aleksei_Pro
 
01.10.12
16:48
(11) так и делал , тока базовую указал и все, но при переносе остальные единицы пустые ставятся.
14 Maxus43
 
01.10.12
16:49
(13) "ЗаписатьВФорме" как бы намекает что код по созданию других единиц - находится в форме справочника
15 Maxus43
 
01.10.12
16:49
+ и не надо изобретать велосипет
16 Aleksei_Pro
 
01.10.12
16:50
я создал правила конвертации, при переносе номенклатуры у меня не создает другую единицу.
17 DrShad
 
01.10.12
16:51
(14) для этого нужно форму открывать
18 Aleksei_Pro
 
01.10.12
16:52
(17) вот и я про это и говорю
19 Maxus43
 
01.10.12
16:53
(17) нет, просто получить у записанного форму, и записать без открытия, ЕМНИП
20 Aleksei_Pro
 
01.10.12
16:54
(19) как сделать обрисуй чтобы через кд работало
21 DrShad
 
01.10.12
16:54
(19) просто никогда не пользовался, надо попробовать :)
22 DrShad
 
01.10.12
16:57
+(21) не выйдет это не вызываемый из вне метод
23 Aleksei_Pro
 
01.10.12
16:58
так как же тогда?
24 Aleksei_Pro
 
01.10.12
17:00
все ок
25 DrShad
 
01.10.12
17:02
(24) что именно ОК?
26 Maxus43
 
01.10.12
17:05
(22) ЗаписатьВФорме эмулирует нажатие кнопки на форме, вызывая метод формы ПередЗаписью и т.д.
27 DrShad
 
01.10.12
17:06
(26) а как его вызвать? не из модуля формы?
28 Maxus43
 
01.10.12
17:08
(27) щас попробую, может не прав)
29 DrShad
 
01.10.12
17:08
(28) я попробовал :) не вышло, видимо поэтому и не юзал никогда :)))
30 Maxus43
 
01.10.12
17:14
Об = Номенклатурка.ПолучитьОбъект();
   Фрм = Об.ПолучитьФорму("ФормаЭлемента");
   Фрм.записатьвформе();

работает частично, т.е. на записатьвформе не ругается, а чото делает. у меня переписана конфа, ошибка в коде самой формы уже, т.к. форма не открыта а там элементы формы кромсает. Но в типовой то может прокатит, не?)
31 DrShad
 
01.10.12
17:18
(30) в принципе согласен - работает
у меня тоже прокричала, что не заполнена базовая единица и вид номенклатуры, но главное что вызвала запись :)
спасибо буду помнить на будущее
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший