|
|
После обновления БП ошибка ХранилищеФайлов. Имеются записи с одинаковыми измерениями
okmail, Prog_man, Vstur, X Leshiy, timurhv, Chameleon1980, Lite777888, nemoxp, boozin, oleg_km, Климов Сергей, alexela, Neo58, VladZ, unenu, ass1c, vis, Доминошник, Hawk_1c, shuhard, lexx256, dyevgeniy, scanduta, Ненавижу 1С, CepeLLlka, dedmoroz777, Хряк, Lama12, Гипервизор, probably, takefive, kamysh, Федя Тяпкин, zuza, Кир Пластелинин, Fregat, 1cVandal, Смотрящий, Garykom, Crusher, H A D G E H O G s, vladko, Silgis, DemonShinji2
| ☑ |
|
0
nemoxp
17.08.26
✎
12:23
|
1С:Предприятие 8.3 (8.3.27.2214)
Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.199.13)
Пытаюсь применить стандартное обновление. Ошибка "ХранилищеФайлов. Имеются записи с одинаковыми измерениями".
Текст ошибки ясен. Причина ясна. Регистр сведений ХранилищеФайлов, несколько записей с один Непонятно почему после обновления это происходит или до обновления было несколько измерений? Сейчас одно измерение "Файл".
Пытался программно очистить:
НаборЗаписей = РегистрыСведений.ХранилищеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Записать();
Ошибка остается. В регистре вияст 2 пустые записи.
Кто сталкивался? Как решить? Очищать регистр тоже не хочется.
|
|
|
1
Смотрящий
17.08.26
✎
12:37
|
перед обновой найди и прибей, или "растащи" дубли по измерению которое остается после обновы
|
|
|
2
nemoxp
17.08.26
✎
12:54
|
(1) Допустим. Почему тогда полная очистка регистра даже не помогает?
|
|
|
3
Смотрящий
17.08.26
✎
13:16
|
(2) А она происходит эта "полная очистка" ? Если записи остаются
|
|
|
4
nemoxp
17.08.26
✎
14:47
|
Осложняет тот факт, что запросом нет дублей по измерениям. Результат пустой.
ВЫБРАТЬ
ВложенныйЗапрос.Файл КАК Файл,
ВложенныйЗапрос.ФайлКоличество КАК ФайлКоличество
ИЗ
(ВЫБРАТЬ
ВложенныйЗапрос.Файл КАК Файл,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВложенныйЗапрос.ФайлКоличество) КАК ФайлКоличество
ИЗ
(ВЫБРАТЬ
ХранилищеФайлов.Файл КАК Файл,
ХранилищеФайлов.Файл КАК ФайлКоличество
ИЗ
РегистрСведений.ХранилищеФайлов КАК ХранилищеФайлов) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Файл) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.ФайлКоличество > 1
|
|
|
5
nemoxp
17.08.26
✎
14:49
|
Где могут быть эти дубли? Как их найти. Записей довольно много.
|
|
|
6
timurhv
17.08.26
✎
15:17
|
(4) Так вы написали что измерения были другие, сейчас только Файл остался.
У вас не суммирется, т.к.:
ХранилищеФайлов.Файл КАК ФайлКоличество
и далее:
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВложенныйЗапрос.ФайлКоличество)
Получется, что у Файла1 две записи, но ваш запрос выведет Файл1 и количество 1.
|
|
|
7
nemoxp
17.08.26
✎
15:58
|
2 записи. Файл NULL
Вопрос как их удалить. В форме списка регистра их не видно. Программно тоже не удаляются если пройти по этой выборке.
НаборЗаписей = РегистрыСведений.ХранилищеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Выборка.Файл);
НаборЗаписей.Записать();
|
|
|
8
timurhv
17.08.26
✎
16:10
|
(7) Сделать копию и ТИИ?
|
|
|
9
nemoxp
17.08.26
✎
16:18
|
Не просто. Данные строки нельзя отобрать, удалить.
Алгоритм следующий:
1. Создать файлы, загрузкой с ПК, например в справочнике Физические лица.
2. Удалить с отбором по этим файлам (элементы справочника присоедененных файлов физ. лиц) записи из регистра.
НаборЗаписей = РегистрыСведений.ХранилищеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Объект.Файл1);
НаборЗаписей.Записать();
НаборЗаписей = РегистрыСведений.ХранилищеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Объект.Файл2);
НаборЗаписей.Записать();
3. Прочитать записи регистра, установить эти ссылки в нужные записи, записать набор.
НаборЗаписей = РегистрыСведений.ХранилищеФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
НомерФайла = 0;
Для Каждого Запись Из НаборЗаписей Цикл
Если НЕ ЗначениеЗаполнено(Запись.Файл) Тогда
НомерФайла = НомерФайла + 1;
Запись.Файл = Объект["Файл" + Строка(НомерФайла)];
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
|
|