Имя: Пароль:
1C
 
РС Ошибка при вызове метода контекста (Записать)
,
0 ejiki
 
16.02.15
06:13
Решил почистить Регистр Сведений. И вот к чему на УФ я пришел. Подскажите где собака зарыта. Выполняю НаСервере все это дело.    


        Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    НаборыЗначенийДоступа.Объект,
    |    НаборыЗначенийДоступа.НомерНабора,
    |    НаборыЗначенийДоступа.ЗначениеДоступа,
    |    НаборыЗначенийДоступа.Уточнение,
    |    НаборыЗначенийДоступа.Чтение,
    |    НаборыЗначенийДоступа.Изменение,
    |    НаборыЗначенийДоступа.СтандартноеЗначение,
    |    НаборыЗначенийДоступа.ЗначениеБезГрупп
    |ИЗ
    |    РегистрСведений.НаборыЗначенийДоступа КАК НаборыЗначенийДоступа";
    НормальныеЗаписи = Запрос.Выполнить().Выгрузить();
    НаборыЗначенийДоступа = РегистрыСведений.НаборыЗначенийДоступа;
    Набор = НаборыЗначенийДоступа.СоздатьНаборЗаписей();

    //запишем нормальные записи
    Набор.Загрузить(НормальныеЗаписи);
    Набор.Записать(Истина);                       <<<<<========  Вот тут ругается "Ошибка при вызове метода контекста (Записать) по причине: Не удалось записать: "Наборы значений доступа"!"
1 ejiki
 
16.02.15
06:25
Есть у кого какие мысли? Казалось бы простая операция. Но в чем подвох не ясно.
2 ejiki
 
16.02.15
06:34
Не ужели никто таким не занимался? У меня просто база файловая. Вот и изголяюсь
3 ejiki
 
16.02.15
07:02
Блин, ну что никто никогда не чистил таблицы от неуникальных записей на УФ?
4 patria0muerte
 
16.02.15
07:36
В модуле набора записей есть что? Поля все заполняются в наборе?

Как вариант, сначала подготовить нужный набор записей, потом очистить регистр записью пустого набора и записать нужный набор (разумеется с бэкапом)
5 ejiki
 
16.02.15
07:44
(4) Пробовал таким образом. Все равно в результате в конце ошибка именно на записи полученной ТЗ в Набор.
6 ejiki
 
16.02.15
07:47
Самый тупой вариант конечно в ТИИ "Проверка логической целостности". Но не хочу ждать пока все проверит. Как раз для этого накидываю обработку. Сейчас пока вот так выглядит но ошибка именно на записи. Проверял ТЗ все значения там верны.


    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    НаборыЗначенийДоступа.Объект КАК Объект,
    |    НаборыЗначенийДоступа.НомерНабора КАК НомерНабора,
    |    НаборыЗначенийДоступа.ЗначениеДоступа КАК ЗначениеДоступа,
    |    НаборыЗначенийДоступа.Уточнение КАК Уточнение,
    |    НаборыЗначенийДоступа.Чтение КАК Чтение,
    |    НаборыЗначенийДоступа.Изменение КАК Изменение,
    |    НаборыЗначенийДоступа.СтандартноеЗначение КАК СтандартноеЗначение,
    |    НаборыЗначенийДоступа.ЗначениеБезГрупп КАК ЗначениеБезГрупп
    |ИЗ
    |    РегистрСведений.НаборыЗначенийДоступа КАК НаборыЗначенийДоступа
    |
    |СГРУППИРОВАТЬ ПО
    |    НаборыЗначенийДоступа.Объект,
    |    НаборыЗначенийДоступа.НомерНабора,
    |    НаборыЗначенийДоступа.ЗначениеДоступа,
    |    НаборыЗначенийДоступа.Уточнение,
    |    НаборыЗначенийДоступа.Чтение,
    |    НаборыЗначенийДоступа.Изменение,
    |    НаборыЗначенийДоступа.СтандартноеЗначение,
    |    НаборыЗначенийДоступа.ЗначениеБезГрупп";
    НормальныеЗаписи = Запрос.Выполнить().Выгрузить();
    НаборыЗначенийДоступа = РегистрыСведений.НаборыЗначенийДоступа;
    Набор = НаборыЗначенийДоступа.СоздатьНаборЗаписей();
    //почистим регистр на всякий случай хотя можно и без этого
    //записать сразу
    Набор.Прочитать();
    Набор.Очистить();
    Набор.Записать(Истина);
    //запишем нормальные
    Набор.Загрузить(НормальныеЗаписи);
    Набор.Записать();
7 hhhh
 
16.02.15
07:59
в ЖР посмотрите, что пишет.
8 ejiki
 
16.02.15
08:00
(7) Во блин! Действительно не додумался туда глянуть!! Спасибо за подсказку ;)
9 ejiki
 
16.02.15
08:03
Пздц товарищи %) Ну хоть знаю куда копать  xD


{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1095)}: Ошибка выполнения правил регистрации объектов для плана обмена ПоМагазину.
Описание ошибки:
{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1751)}: Поле объекта не обнаружено (Дата)
        Значение = Значение[ИмяСвойства];
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
10 ejiki
 
16.02.15
09:58
В продолжении темы. Вся блокировка идет из-за Обменов встроенных. С Документами все просто решается Документ.Записывать = Истина;

А как поступить с РегистромСведений?
11 ejiki
 
16.02.15
09:59
тьфу! Документ.Загрузка = Истина
12 Timon1405
 
16.02.15
10:02
(11) ну так и пишите также
Набор.ОбменДанными.Загрузка =Истина;
13 ejiki
 
16.02.15
10:03
(12) блин! правда затупил xD
14 ejiki
 
16.02.15
10:05
как всегда разгадка лежала перед носом ^^,
15 Timon1405
 
16.02.15
10:05
утро понедельника добрым не бывает)
16 ejiki
 
16.02.15
10:07
(15) что-то пошло не так) и всеравно не сработало %)
17 Timon1405
 
16.02.15
10:09
(16) может РС периодический и период не проставляется при записи?
18 ejiki
 
16.02.15
10:12
(17) Непериодический
19 ejiki
 
16.02.15
10:12
Розница 2.1

{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1095)}: Ошибка выполнения правил регистрации объектов для плана обмена ПоМагазину.
Описание ошибки:
{ОбщийМодуль.ОбменДаннымиСобытия.Модуль(1751)}: Поле объекта не обнаружено (Дата)
        Значение = Значение[ИмяСвойства];
        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
20 ejiki
 
16.02.15
10:13
Но фишка в том что даты итак нигде не храниться %)
21 Timon1405
 
16.02.15
10:16
(19) Следующий логический шаг - останов по ошибке и стек вызовов...
22 ejiki
 
16.02.15
10:17
(21) Смотри ты меня прям будишь)) почему я про остановку по ошибке забыл))
23 ejiki
 
16.02.15
10:28
Ну в общем пытается у РС найти реквизит "Дата" которого там и в помине нету. Что же делать как же быть %)
24 alle68
 
16.02.15
10:29
(0) Тип какой у "ЗначениеДоступа"?
25 ejiki
 
16.02.15
10:38
(24) "НаборыЗначенийДоступа" так называется Регистр Сведений.
26 hhhh
 
16.02.15
10:48
Значение = Значение[ИмяСвойства];  а здесть какие типы в отладчике?
27 ejiki
 
16.02.15
11:26
(26) в данном случае это СправочникСсылка.ПравилаЦенообразования
Что тоже кажется ересью. Откуда у него Дата %)
28 ejiki
 
16.02.15
11:29
Ведем дальнейшее глубинное расследование.