|   |   | 
| 
 | Избитый вопрос по битой ссылке Единицы измерения в УТ10.3 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Мимохожий Однако 25.05.18✎ 08:27 | 
        УТ10.3
 есть позиция номенклатуры, в которой битые ссылки на единицах измерения. Попытался перевыбрать единицы измерения. Но при записи номенклатуры ругань на то, что единицы измерения уже использованы в документах и регистрах. Попытался программно поменять. .. Ном=Номенклатура.ПолучитьОбъект(); Ном.ОбменДанными=Истина; Ном.БазоваяЕдиницаИзмерения=БазоваяЕдиницаИзмерения; Ном.ЕдиницаДляОтчетов=ЕдиницаДляОтчетов; Ном.ЕдиницаХраненияОстатков=ЕдиницаХраненияОстатков; Ном.Записать(); Результат отрицательный. ТИИ с восстановлением объектов не хочу запускать, т.к. может появиться неизвестная кучка ненужных объектов. ... Дело осложняется тем, что у единиц измерения есть Владелец. Может есть лайфхак для выборочного восстановления битых ссылок? | |||
| 1
    
        Гипервизор 25.05.18✎ 08:36 | 
        (0) Так может заменить в документах и регистрах?     | |||
| 2
    
        Мимохожий Однако 25.05.18✎ 08:38 | 
        (1) Замена проблематична. Базе лет 6. Большой объем.
 .. Но я решил задачку следующим кодом Процедура КнопкаВыполнитьНажатие(Кнопка) ЗафиксироватьВладельцаЕдиницы(ЕдиницаДляОтчетов); ЗафиксироватьВладельцаЕдиницы(ЕдиницаХраненияОстатков); Ном=Номенклатура.ПолучитьОбъект(); Ном.ОбменДанными.Загрузка=Истина; Ном.БазоваяЕдиницаИзмерения=БазоваяЕдиницаИзмерения; Ном.ЕдиницаДляОтчетов=ЕдиницаДляОтчетов; Ном.ЕдиницаХраненияОстатков=ЕдиницаХраненияОстатков; Ном.Записать(); Сообщить("Записали единицы номенклатуры "+Ном.Наименование); КонецПроцедуры Процедура ЗафиксироватьВладельцаЕдиницы(Единица) Ед=Единица.ПолучитьОбъект(); Ед.Владелец=Номенклатура; Ед.Записать(); КонецПроцедуры ... На форме перед запуском подготавливаю элементы измерения. Для разовой задачи помогло. Спасибо за внимание | |||
| 3
    
        Сияющий в темноте 25.05.18✎ 09:34 | 
        Если битые ссылки,то ссылки есть,а элемента нету.
 Что мешает через установитьссылкунового добавить эту ссылку к новому элементу? и больше не переносите номенклатуру без единиц | |||
| 4
    
        hhhh 25.05.18✎ 09:37 | 
        (2) можно запустить тии на копии, а потом выгрузка-загрузка xml перенести в рабочую только то, что нужно.     | |||
| 5
    
        Мимохожий Однако 25.05.18✎ 09:37 | 
        (3) Примерчик кода сбрось для затравки.
 Ошибка образовалась при неудачной замене дублей номенклатуры. Это не новый элемент номенклатуры, а давно используемый. | |||
| 6
    
        Мимохожий Однако 25.05.18✎ 09:38 | 
        (4) ТИИ на пробной копии показала кучу других ошибок ))
 А восстановленные объекты приобрели неудобоваримый вид. | |||
| 7
    
        mehfk 25.05.18✎ 09:46 | 
        (0) >> Может есть лайфхак для выборочного восстановления битых ссылок?
 Есть. Вызываешь программиста и ставишь задачу. | |||
| 8
    
        Мимохожий Однако 25.05.18✎ 19:12 | 
        (7) Шутка засчитана. Спасибо. А по делу?     | |||
| 9
    
        mehfk 25.05.18✎ 20:27 | 
        Увольняйся, пока не уволили за несоответствие занимаемой должности.     | |||
| 10
    
        Мимохожий Однако 25.05.18✎ 20:35 | 
        (9) Мне неоткуда увольняться. Я свободный художник. Ты чего такой злой? Пятница вроде. )) Подскажи, если спец. Стебаться и я могу.     | |||
| 11
    
        mehfk 25.05.18✎ 20:38 | 
        Поскажу, если оплатишь.     | |||
| 12
    
        Мимохожий Однако 25.05.18✎ 20:39 | 
        (11) Не оплачу. Давай,до свидания.     | |||
| 13
    
        mehfk 25.05.18✎ 20:39 | 
        Нищеброд.     | |||
| 14
    
        Мимохожий Однако 25.05.18✎ 20:40 | 
        (13) Это твоя подпись     | |||
| 15
    
        mehfk 25.05.18✎ 20:42 | 
        Да ты еще и скудоумен.     | |||
| 16
    
        Cyberhawk 26.05.18✎ 00:03 | 
        Я так и не понял: сколько платят за решение вопроса? ))     | |||
| 17
    
        Мимохожий Однако 26.05.18✎ 05:40 | 
        (16) Вопрос я решил еще в (2). 
 ОФФ: Я не заказчик. Из-за невинного вопроса про "лайфхак" на будущее - получил небольшой срач в ответ... На пустом месте... Всё как в жизни )) | |||
| 18
    
        Serg_1960 26.05.18✎ 08:12 | 
        (17) Sorry,  свой избитый вопрос ты не решил - ты его усложнил .     | |||
| 19
    
        Мимохожий Однако 26.05.18✎ 08:20 | 
        (18) ОК. Но кроме критики хотелось бы пример кода или хотя бы алгоритм исправления на будущее.     | |||
| 20
    
        MaxS 26.05.18✎ 08:32 | 
        (19) Смысл примерно такой:
 ОбъектНовойЕИ.УстановитьСсылкуНового(БитаяСсылкаЕИ); EndOff Много критики... ;) | |||
| 21
    
        Мимохожий Однако 26.05.18✎ 08:36 | 
        (20) Спасибо.     | |||
| 22
    
        Serg_1960 26.05.18✎ 08:43 | 
        (19) В понедельник, если не забуду.     | |||
| 23
    
        Serg_1960 28.05.18✎ 11:10 | 
        //- Видишь суслика?
 //- Нет. //- И я не вижу. А он есть. //(ДМБ) Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Хозяин, | Номенклатура.ЕдиницаХраненияОстатков КАК Суслик |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЕдиницаХраненияОстатков <> ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) | И Номенклатура.ЕдиницаХраненияОстатков.Ссылка ЕСТЬ NULL"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл GUID = "Проверка логической целостности... " + Выборка.Суслик; // имитация работы со строкой из ТИИ GUID = Сред(GUID, Найти(GUID, "<Объект не найден>") + 20); // выделяем начало ссылки GUID = Сред(GUID, 1, Найти(GUID, ")") - 1); // отрезаем конец строки GUID = Сред(GUID, Найти(GUID, ":") + 1); // освобождаемся от кода вида ссылки GUID = Сред(GUID,25,8) + "-" + Сред(GUID,21,4) + "-" + Сред(GUID,17,4) + "-" + Сред(GUID,1,4) + "-" + Сред(GUID,5,12); GUID = Новый УникальныйИдентификатор(GUID); // Оно, конечно, нафиг не нужно было так извращаться - сама ссылка уже есть в запросе. // Но мы делаем вид, что якобы сканируем протокол ТИИ, - так оно веселее :) Суслик = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); Суслик.Владелец = Выборка.Хозяин; Суслик.УстановитьСсылкуНового(Справочники.ЕдиницыИзмерения.ПолучитьСсылку(GUID)); Суслик.Записать(); // можно получить и открыть форму, чтобы сразу дозаполнить... но лень-матушка писать :) КонецЦикла; | |||
| 24
    
        Мимохожий Однако 28.05.18✎ 11:18 | 
        (23) Респект. Спасибо.     | |||
| 25
    
        Cyberhawk 28.05.18✎ 19:57 | 
        Не учел английский вариант "Объект не найден"     | |||
| 26
    
        Serg_1960 28.05.18✎ 20:31 | 
        А также языки: азербайджанский, армянский, стран Прибалтики, Беларуси, Болгарии, Молдавии, Грузии и наших ближневосточных коллег.     | |||
| 27
    
        Cyberhawk 28.05.18✎ 20:41 | 
        (26) Пожалуйста:
 vi Không tìm thấy đối tượng tr Nesne bulunamadı ro Obiectul nu a fost găsit pl Obiekt nie odnaleziono en Object not found de Objekt nicht gefunden lt Objektas nerastas lv Objekts nav atrasts uk Об`єкт не знайдено bg Обектът не е намерен ru Объект не найден kk Объект табылған жоқ ka ობიექტი არ მოიძებნა Но ты уже и сам понял, что твой вариант не самый надежный | |||
| 28
    
        Serg_1960 28.05.18✎ 20:57 | 
        Feci quod potui faciant meliora potentes     | |||
| 29
    
        Сияющий в темноте 29.05.18✎ 09:56 | 
        Отсутствие обьекта проще проверять запросом по ссылке из привегилерованного модуля,запрос будет быстрее чем получение обьекта,особенно в случае,когда обьект неожиданно найдется     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |