1С:Предприятие 7.7 конф "Комплексная" Обработка спр. Номенклатура
Показывать по
сообщений
- 1
- 2
31.10.2011
10:55
#1
"1с:Предприятие 7.7, конфигурация "Комплексная" релиз 510. В справочнике "Номенклатура" пропали(очистились) базовые единицы измерения. Сами справочники "единиц" остались на месте. Для восстановления ситуации сделано:<br>1) Тестирование и исправление ИБ(с настройками - создавать объекты) - без положительного результата.<br>2) написана обработка:<br>//*******************************************<br>Процедура Выполнить()<br> <br>Номенклатура = СоздатьОбъект("Справочник.Номенклатура");<br>СпрЕдиниц = СоздатьОбъект("Справочник.Единицы");<br> <br> Шт = глЗначениеПоУмолчанию("ОсновнаяОКЕИ");<br> <br> Номенклатура.ВыбратьЭлементы();<br> Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл<br> ТекНоменклатура = Номенклатура.ТекущийЭлемент();<br> Если (ТекНоменклатура.ЭтоГруппа() = 1) ИЛИ (ПустоеЗначение(ТекНоменклатура.БазоваяЕдиница) = 0) Тогда<br> // Сообщить("Пропускаем" + ТекЭлем.Наименование);<br> Продолжить;<br> Иначе <br> СпрЕдиниц.ВыбратьЭлементы();<br> СпрЕдиниц.ИспользоватьВладельца(ТекНоменклатура);<br> <br> Если СпрЕдиниц.НайтиПоРеквизиту("ОКЕИ",Шт,) = 1 Тогда<br> ТекЕдиница = СпрЕдиниц.ТекущийЭлемент();<br> ТекНоменклатура.БазоваяЕдиница = ТекЕдиница;<br> Попытка<br> Номенклатура.Записать();<br> Сообщить("Записали " +ТекНоменклатура.Наименование + " " + ТекНоменклатура.БазоваяЕдиница);<br> // Прервать; // для отладки, что бы не ждать конца обработки всего справочника<br> Исключение<br> Предупреждение( "Не выполнено сохр. спр. " + ТекНоменклатура + ОписаниеОшибки() +<br> РазделительСтрок + "Элемент не сохранен)", 60);<br> КонецПопытки;<br> Иначе<br> Сообщить("У номенклатуры " + ТекНоменклатура + " нет едниц");<br> КонецЕсли;<br> <br> КонецЕсли;<br> КонецЦикла<br><br>Но она не дает результата. В какую сторону смотреть?"
31.10.2011
12:53
#2
"1) Запишите номенклатуру после установки единицы. Не Номенклатура.Записать(), а ТекНоменклатура.Записать().<br>2) Вот это вот "СпрЕдиниц.ВыбратьЭлементы();" зачем ?<br>3) Не помню точно, но в "СпрЕдиниц.НайтиПоРеквизиту("ОКЕИ",Шт,) " лучше установить ФлагГлобальногоПоиска в 0"
31.10.2011
13:45
#4
"Да, это я 7.7 подзабыл.<br>У элемента "ТекНоменклатура" нет смысл что-либо устанавливать.<br>"Номенклатура.БазоваяЕдиница = ТекЕдиница; Номенклатура.Записать()" - должно быть."
31.10.2011
13:53
#5
Так и пробую, почему то не работает? Пробовал и внутри "Если" и с "наружи". После записи значение читает, сам справочник(форма) имеет другое значение, но читает его из этого места. Я потерялся. В предидущих вариантах я не обратил внимания, что сами справочники остались и создавал их за ново. Все создавались и записывались согласно подчиненности при каждом запуске обработки.
31.10.2011
14:19
#6
""Сообщить("Записали " +ТекНоменклатура.Наименование + " " + ТекНоменклатура.БазоваяЕдиница);"<br> <br>Вот эта строка правильно отрабатывает?"
31.10.2011
14:27
#7
Да, да. И единицы пишет правильно. А вот при открытии справочника ... пусто. Да и при выполнении самой обработки по второму разу, она уже ни чего там не видит.(Как будто запись на диск запрещена).
31.10.2011
14:40
#8
По "Родителю" то же правильно отрабатывает, если справочник единиц удалить - пишет что его нет.
- 1
- 2
770027, Комплексная 770492, При переустановке на Windows 7 не обнаруживает ключ защиты.Сохраненный регл.отчет - не обновляется форма при подключении нового внешнего
Читают тему
(гостей: 1)