|   |   | 
| 
 | Удаление записи из регистра сведений Волшебник, DiMel_77, lEvGl, Климов Сергей, Admin_Net_1C, Prog_man, Eiffil123, dmt, PLUT, rozer76, okmail, ЕRPe, maxab72, Буковка, Гипервизор, Hawk_1c, nick86, Жеглофф, Мультук, Aleksey, dchumak, ДобрыйПутник, stix2010, d4rkmesa, craxx, Скучный бух, Галахад, privetik, Metman, Mankubus, DemonShinji2, petr_ivanov, trdm, elka302, osa1C, orakool, ProxyInspector, RVN, zenik, tatmix, denk, Silgis, runuts, NorthWind, AndreyZhukov | ☑ | ||
|---|---|---|---|---|
| 0
    
        ДобрыйПутник 21.11.24✎ 16:48 | 
        Здравствуйте, не пойму почему не удаляются запись из регистра сведений
 https://imgur.com/a/PSKyYhb Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СостоянияОригиналовПервичныхДокументов.Владелец КАК Владелец, | СостоянияОригиналовПервичныхДокументов.ПервичныйДокумент КАК ПервичныйДокумент, | СостоянияОригиналовПервичныхДокументов.ОбщееСостояние КАК ОбщееСостояние, | СостоянияОригиналовПервичныхДокументов.ФормаИзвне КАК ФормаИзвне, | СостоянияОригиналовПервичныхДокументов.Сотрудник КАК Сотрудник |ИЗ | РегистрСведений.СостоянияОригиналовПервичныхДокументов КАК СостоянияОригиналовПервичныхДокументов |ГДЕ | СостоянияОригиналовПервичныхДокументов.Владелец = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Следующий() Тогда Запись = РегистрыСведений.СостоянияОригиналовПервичныхДокументов.СоздатьМенеджерЗаписи(); Запись.Владелец = Выборка.Владелец; Запись.ПервичныйДокумент = Выборка.ПервичныйДокумент; Запись.ОбщееСостояние = Выборка.ОбщееСостояние; Запись.ФормаИзвне = Выборка.ФормаИзвне; Запись.Сотрудник = Выборка.Сотрудник; Запись.Прочитать(); Запись.Удалить(); Конецесли | |||
| 1
    
        Волшебник 21.11.24✎ 17:00 | 
        а может удаляется?     | |||
| 2
    
        ДобрыйПутник 21.11.24✎ 17:02 | 
        (1) Неа(     | |||
| 3
    
        Волшебник 21.11.24✎ 17:03 | 
        (2) Покажите регистр     | |||
| 4
    
        Волшебник 21.11.24✎ 17:04 | 
        Это замените на цикл
 | |||
| 5
    
        ДобрыйПутник 21.11.24✎ 17:05 | 
        (4) ну в выборке все равно одно значение, потому что строго по ссылке задается     | |||
| 6
    
        Волшебник 21.11.24✎ 17:06 | 
        (5) Там может быть несколько записей, потому что Владелец - только одно из измерений.     | |||
| 7
    
        ДобрыйПутник 21.11.24✎ 17:08 | ||||
| 8
    
        ДобрыйПутник 21.11.24✎ 17:08 | 
        (6) https://imgur.com/a/KxoBr1Q
 С таким владельцем только 1 запись | |||
| 9
    
        PLUT 21.11.24✎ 17:17 | 
        (5) после Прочитать() еще магическое заклинание нужно 
 Если Запись.Выбран() Тады Запись.Записать() вот пример рабочего кодаПока Выборка.Следующий() Цикл МЗ = РегистрыСведений.Какой-тотамРегистр.СоздатьМенеджерЗаписи(); МЗ.Документ = Выборка.Документ; МЗ.Прочитать(); Если МЗ.Выбран() Тогда МЗ.Удалить(); КонецЕсли; КонецЦикла; | |||
| 10
    
        ДобрыйПутник 21.11.24✎ 17:16 | 
        (9) https://imgur.com/a/GIkHpl4
 Стало хоть ругаться на что то, но поле владелец не пустое в (7) видно | |||
| 11
    
        formista2000 21.11.24✎ 17:19 | 
        (10) Чё там с периодом?     | |||
| 12
    
        ДобрыйПутник 21.11.24✎ 17:20 | 
        (11) не совсем понял     | |||
| 13
    
        ДобрыйПутник 21.11.24✎ 17:20 | 
        (9) &НаСервере
 Процедура УдалитьЗаписьНаСервере(Ссылка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СостоянияОригиналовПервичныхДокументов.Владелец КАК Владелец, | СостоянияОригиналовПервичныхДокументов.ПервичныйДокумент КАК ПервичныйДокумент, | СостоянияОригиналовПервичныхДокументов.ОбщееСостояние КАК ОбщееСостояние, | СостоянияОригиналовПервичныхДокументов.ФормаИзвне КАК ФормаИзвне, | СостоянияОригиналовПервичныхДокументов.Сотрудник КАК Сотрудник |ИЗ | РегистрСведений.СостоянияОригиналовПервичныхДокументов КАК СостоянияОригиналовПервичныхДокументов |ГДЕ | СостоянияОригиналовПервичныхДокументов.Владелец = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Запись = РегистрыСведений.СостоянияОригиналовПервичныхДокументов.СоздатьМенеджерЗаписи(); Запись.Владелец = Выборка.Владелец; Запись.ПервичныйДокумент = Выборка.ПервичныйДокумент; Запись.ОбщееСостояние = Выборка.ОбщееСостояние; Запись.ФормаИзвне = Выборка.ФормаИзвне; Запись.Сотрудник = Выборка.Сотрудник; Запись.Прочитать(); Если Запись.Выбран() Тогда Запись.Удалить(); КонецЕсли; //Запись.Записать(); КонецЦикла; КонецПроцедуры; Щас код выглядит так, но по прежнему что то делает, но запись не удаляет | |||
| 14
    
        PLUT 21.11.24✎ 17:24 | 
        (13) дабавь после Запись.Удалить() магическое заклинание
 Сообщить("Hello, World!"); может до удаления дела не доходит? | |||
| 15
    
        ДобрыйПутник 21.11.24✎ 17:27 | 
        (14) Да я по отладке смотрел, до всего он доходит, https://imgur.com/a/TEG7WYM     | |||
| 16
    
        ilya_i 21.11.24✎ 17:32 | 
        А в модуль регистра не заходит потом, где написано Отказ = Истина     | |||
| 17
    
        Eiffil123 21.11.24✎ 17:34 | 
        (15) может существовать подписка или модуль менеджера, который дает отлуп на удаление записи. 
 Попробуй как вариант перед удалением добавить: Запись.ОбменДанными.Загрузка = Истина; | |||
| 18
    
        formista2000 21.11.24✎ 17:37 | 
        (13) Регистр периодический жеж? Разберись с периодом.     | |||
| 19
    
        ДобрыйПутник 21.11.24✎ 17:39 | 
        (18) https://imgur.com/a/JEjxAVt
 Непереодический | |||
| 20
    
        ДобрыйПутник 21.11.24✎ 17:40 | ||||
| 21
    
        ДобрыйПутник 21.11.24✎ 17:40 | 
        (16) Не совсем понял про что     | |||
| 22
    
        Волшебник 21.11.24✎ 17:41 | 
        (17)(20) Это только у НаборЗаписей     | |||
| 23
    
        maxab72 21.11.24✎ 19:12 | 
        а не делается ли все это внутри транзакции, которая потом откатывается?     | |||
| 24
    
        Волшебник 21.11.24✎ 22:04 | 
        (23) или в другой базе...     | |||
| 25
    
        lEvGl 21.11.24✎ 23:13 | 
        (0) делайте через набор, для чего вся эта песня с запросом
 набор = новый набор.отбор.владелец.установить(ссылка) Записать() | |||
| 26
    
        lEvGl 21.11.24✎ 23:17 | 
        (5) может же быть и не одно     | |||
| 27
    
        ДобрыйПутник 22.11.24✎ 10:20 | 
        (23) Неа
 Если Выборка.Следующий() Тогда НачатьТранзакцию(); Попытка Запись = РегистрыСведений.СостоянияОригиналовПервичныхДокументов.СоздатьМенеджерЗаписи(); Запись.Владелец = Выборка.Владелец; Запись.ПервичныйДокумент = Выборка.ПервичныйДокумент; Запись.ОбщееСостояние = Выборка.ОбщееСостояние; Запись.ФормаИзвне = Выборка.ФормаИзвне; Запись.Сотрудник = Выборка.Сотрудник; Запись.Прочитать(); Если Запись.Выбран() Тогда Запись.Удалить(); КонецЕсли; ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); КонецПопытки; КонецЕсли; | |||
| 28
    
        ДобрыйПутник 22.11.24✎ 10:25 | 
        (25) https://imgur.com/a/nFiDc0M
 Тоже не работает | |||
| 29
    
        Волшебник 22.11.24✎ 10:30 | 
        (28) На скриншоте другой программный код. Причём у НаборЗаписей метод Удалить() отвечает совсем за другое. 
 Нужно убрать Прочитать() и вызывать Записать() | |||
| 30
    
        ДобрыйПутник 22.11.24✎ 10:36 | 
        (29) https://imgur.com/a/LtlZa64
 Попробовал так, тоже не работает | |||
| 31
    
        Волшебник 22.11.24✎ 10:37 | 
        (30) Уберите Прочитать() и Очистить() как бесполезные строки
 А вообще должно уже работать. Убедитесь, что программный код выполняется. | |||
| 32
    
        ДобрыйПутник 22.11.24✎ 10:39 | 
        (31) Отладкой туда попадает, но ничего не происходит
 И не понимаю как он чистить будет? | |||
| 33
    
        Волшебник 22.11.24✎ 10:40 | 
        (32) Пустой набор переписывает, т.е. удаляет.     | |||
| 34
    
        Волшебник 22.11.24✎ 10:41 | 
        Значит удаляете одно, а смотрите другое. Или запись восстанавливается. 
 Короче, разбирайтесь. Пригласите программиста. | |||
| 35
    
        lEvGl 22.11.24✎ 11:06 | 
        тут чудес не бывает
 (23) + транзакции бывают неявными ПередЗаписью, При, ОбработкаПроведения и тд - это все транзакция где этот код выполняется? потом, в модуле набора регистра, в менеджере регистра, в подписках или еще где то может быть отказ а так да, поймите что где и как происходит, разбирайтесь, дело не в коде | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |