PDA

Просмотр полной версии : Помогите с обработкой



kostromin63
31.10.2011, 10:33
1с:Предприятие 7.7, конфигурация "Комплексная" релиз 510. В справочнике "Номенклатура" пропали(очистились) базовые единицы измерения. Сами справочники "единиц" остались на месте. Для восстановления ситуации сделано:
1) Тестирование и исправление ИБ(с настройками - создавать объекты) - без положительного результата.
2) написана обработка:
//*******************************************
Процедура Выполнить()

Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
СпрЕдиниц = СоздатьОбъект("Справочник.Единицы");

Шт = глЗначениеПоУмолчанию("ОсновнаяОКЕИ");

Номенклатура.ВыбратьЭлеме� �ты();
Пока Номенклатура.ПолучитьЭлем� �нт() = 1 Цикл
ТекНоменклатура = Номенклатура.ТекущийЭлеме� �т();
Если (ТекНоменклатура.ЭтоГруппа () = 1) ИЛИ (ПустоеЗначение(ТекНоменкл атура.БазоваяЕдиница) = 0) Тогда
// Сообщить("Пропускаем" + ТекЭлем.Наименование);
Продолжить;
Иначе
СпрЕдиниц.ВыбратьЭлементы( );
СпрЕдиниц.ИспользоватьВла� �ельца(ТекНоменклатура);

// СпрЕдиниц.ВыбратьЭлементы� �оРеквизиту("Владелец", ТекНоменклатура,,);
Если СпрЕдиниц.НайтиПоРеквизит� �("ОКЕИ",Шт,) = 1 Тогда
ТекЕдиница = СпрЕдиниц.ТекущийЭлемент();
ТекНоменклатура.БазоваяЕд� �ница = ТекЕдиница;
Попытка
Номенклатура.Записать();
Сообщить("Записали " +ТекНоменклатура.Наименова ние + " " + ТекНоменклатура.БазоваяЕд� �ница);
// Прервать; // для отладки, что бы не ждать конца обработки всего справочника
Исключение
Предупреждение( "Не выполнено сохр. спр. " + ТекНоменклатура + ОписаниеОшибки() +
РазделительСтрок + "Элемент не сохранен)", 60);
КонецПопытки;
Иначе
Сообщить("У номенклатуры " + ТекНоменклатура + " нет едниц");
КонецЕсли;

КонецЕсли;
КонецЦикла

Но она не дает результата. В какую сторону смотреть?

kostromin63
31.10.2011, 14:58
Вопрос решен. Вместо метода ТекНоменклатура.Базовая..... = ....; применили Номенклатура.Базовая... = ...; Странно, но сработало. Подсказано на другом форуме

Amisoft
17.12.2011, 19:07
На каком?

kostromin63
18.12.2011, 22:57
На buh ру