Имя: Пароль:
1C
1C 7.7
v7: Внести изменения в элемент справочника при формировании документа
,
0 Последняя_
Надежда
 
23.05.12
11:16
ТиС 7.7. Обработкой создается ПоступлениеТМЦ из xls-файла, помимо нужной для документа информации, там есть еще и колонка ШтрихКод. Хотелось бы при формировании документа обновлять справочник номенклатуры, т.е. заносить ШтрихКод.
Данные берутся, но как из записать в справочник?
Одной строки (ниже) явно не достаточно...
Док.Номенклатура.БазоваяЕдиница.ШтрихКод = Строка(Строки.ШтрихКод);
1 Гефест
 
23.05.12
11:17
Да, там строчки три минимум надо
2 VladZ
 
23.05.12
11:17
(0) Отличная фотка! :)
3 ДенисЧ
 
23.05.12
11:17
НайтиЭлемент()
= ...
Записать()
4 Ёпрст
 
23.05.12
11:18
СоздатьОбъект справочника нужного вида, спозиционироваться на нужном элементе, поменять у него реквизит, Записать()
Если такого элемента нет - создать его.
5 Последняя_
Надежда
 
23.05.12
11:20
(2) Спасибо! )))
(4) СоздатьОбъект справочника лучше до цикла перебора строк ТаблицыЗначений?
6 mikecool
 
23.05.12
11:23
(5) да
7 Последняя_
Надежда
 
23.05.12
12:18
Что-то не так пошло...
СпрНом = СоздатьОбъект("Справочник.Номенклатура");
СпрНом.ВыбратьЭлементы();
цикл...
СпрНом.НайтиПоНаименованию(Док.Номенклатура.Наименование,0,1);
Сообщить(СпрНом.ТекущийЭлемент().Наименование);
Если СокрЛП(СпрНом.ТекущийЭлемент().БазоваяЕдиница.ШтрихКод) ="" Тогда
   СпрНом.ТекущийЭлемент().БазоваяЕдиница.ШтрихКод = Строка(Строки.ШтрихКод);
   СпрНом.ТекущийЭлемент().Записать();
и т.д.
Где не так? или совсем все не так...?
8 forforumandspam
 
23.05.12
12:18
(7) УУУУУУУ
9 Zmich
 
23.05.12
12:19
(7). Записывать надо не Номенклатуру, а элемент подчиненного справочника - ЕдиницыИзмерений
10 forforumandspam
 
23.05.12
12:21
(7) Извини, но тебе на http://govnokod.ru/
11 alkov
 
23.05.12
12:28
(7) Вместо СпрНом.НайтиПоНаименованию(Док.Номенклатура.Наименование,0,1) должно быть СпрНом.НайтиЭлемент(Док.Номенклатура)
12 alkov
 
23.05.12
12:33
(7)+(11) Впрочем, и это тоже не поможет:


СпрЕд = СоздатьОбъект("Справочник.Единицы");
СпрЕд.НайтиЭлемент(Док.Номенклатура.БазоваяЕдиница);
Если ПустаяСтрока(СпрЕд.ШтрихКод) = 1 Тогда
   СпрЕд.ШтрихКод = Строки.ШтрихКод;
   СпрЕд.Записать();
КонецЕсли;
13 Последняя_
Надежда
 
23.05.12
12:45
(12) все равно не присваивает значение.
СпрЕд.ШтрихКод = Строки.ШтрихКод;
оставляет без изменения.
14 Voronve
 
23.05.12
12:49
СпрЕд = СоздатьОбъект("Справочник.Единицы");
СпрЕд.ИспользоватьВладельца(Док.Номенклатура);
СпрЕд.НайтиЭлемент(Док.Номенклатура.БазоваяЕдиница);
Если ПустаяСтрока(СпрЕд.ШтрихКод) = 1 Тогда
   СпрЕд.ШтрихКод = Строки.ШтрихКод;
   СпрЕд.Записать();
КонецЕсли;
15 alkov
 
23.05.12
12:51
(13) Отладчик Вам в помощь
16 Последняя_
Надежда
 
23.05.12
12:52
(15) да и так через него смотрю...
17 Последняя_
Надежда
 
23.05.12
12:54
(14) Спасибо!
18 Voronve
 
23.05.12
12:56
(17) Вот видишь, как правильно выставлять афигенную фотку ? :DDD
19 Последняя_
Надежда
 
23.05.12
13:04
(18) Вижу )))))
20 Гефест
 
23.05.12
13:06
(19) Выставляй фото в купальнике, и проблем вообще не будет
21 Voronve
 
23.05.12
13:14
(20) Топлес. Чтоб с гарантией
Независимо от того, куда вы едете — это в гору и против ветра!