Имя: Пароль:
1C
1С v8
нужно по наименованию найти номенклатуру и присвоить ей код
,
0 sovsemnovichek
 
17.07.13
09:34
Процедура КнопкаВыполнитьНажатие(Кнопка)
Файл = Новый XBASE;
Файл.ОткрытьФайл("D:\Base\SprVino.dbf");
Если Файл.Открыта() Тогда
   Сообщить("Работает");
Файл.Первая();

Пока НЕ Файл.ВКонце() Цикл
   Номер = Файл.CODE;
   Номенклатура = Файл.NAME;
   ШтрихКод = Файл.SCODE;
   Файл.Следующая();
   
ТекСправочник = Справочники.Номенклатура;
Поиск = ТекСправочник.НайтиПоНаименованию(Номенклатура);
Сообщить(Поиск);
Номер = Поиск.Код;
КонецЦикла;

КонецЕсли;
Файл.ЗакрытьФайл();
   
   
КонецПроцедуры
1 Maxus43
 
17.07.13
09:35
где вопрос?
2 Нуф-Нуф
 
17.07.13
09:35
Запиши элемент! Будь мужиком, блеать!
3 sovsemnovichek
 
17.07.13
09:35
знаю, что надо сделать какую-то простую вещь, но какую не могу понять и все
4 sovsemnovichek
 
17.07.13
09:36
по наименованию найти номенклатуру и присвоить ей код
5 Нуф-Нуф
 
17.07.13
09:37
А еще получи объект! Будь мужиком, блеать!
6 sovsemnovichek
 
17.07.13
09:37
номенклатуру я нашел, теперь мне надо конкретной записи присвоить код
7 sovsemnovichek
 
17.07.13
09:38
дак как получить то, мужик, я только начинаю, многих даже простых вещей не знаю, но стараюсь, поэтому прошу помощи у вас
8 Cube
 
17.07.13
09:38
(0) Вместо:

ТекСправочник = Справочники.Номенклатура;
Поиск = ТекСправочник.НайтиПоНаименованию(Номенклатура);
Сообщить(Поиск);
Номер = Поиск.Код;

Пиши:

ТекНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
Сообщить(ТекНоменклатура);
ТекНоменклатура.Код = "Мой номер";
ТекНоменклатура.Записать();
9 ptiz
 
17.07.13
09:38
(8) Тогда уж
ТекНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура).ПолучитьОбъект();
10 Cube
 
17.07.13
09:39
(8) Упс... поправочка:

ТекНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
Сообщить(ТекНоменклатура);
ТекНоменклатураОбъект = ТекНоменклатура.ПолучитьОбъект();
ТекНоменклатураОбъект.Код = "Мой номер";
ТекНоменклатураОбъект.Записать();
11 Cube
 
17.07.13
09:39
(9) Очепятался)
12 sovsemnovichek
 
17.07.13
09:41
ошибка
{Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (Записать)
ТекНоменклатураОбъект.Записать();
по причине:
Значение поля "Код" не уникально
13 Cube
 
17.07.13
09:42
(12) Тупо скопипастил? Ну а подумать?
14 sovsemnovichek
 
17.07.13
09:44
все все) нашел косяк) большое спасибо)
15 sovsemnovichek
 
17.07.13
10:04
погодите, это мне нужно к каждому коду добавить префикс, чтобы поле "Код" стало уникальным, а потом уже получать Номенклатуру  по наименованию? а как?
16 Maxus43
 
17.07.13
10:25
Ты подумай хоть немного.

В справочнике уже есть номенклатурины со своими кодами, щас ты из файла им присваиваешь, и естественно они могут быть уже заняты
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.