Имя: Пароль:
1C
1С v8
Очищение регистра сведений
0 matri555
 
06.12.13
14:20
Подскажите как правильно указать в параметрах ссылку на документ

Запрос.Текст = "ВЫБРАТЬ
               |    ГрафикиРаботыПоВидамВремени.Документ.Ссылка
               |ИЗ
               |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
               |ГДЕ
               |    ГрафикиРаботыПоВидамВремени.Документ.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка","Табель учета рабочего времени организации 00000000012 от 13.11.2013 15:54:25");

Документ удалили "непосредственно" а движения в регистре остались или как очистить рег.сведений (ЗУП)
1 Fragster
 
модератор
06.12.13
14:21
ВЫБРАТЬ
               |    ГрафикиРаботыПоВидамВремени.Документ
               |ИЗ
               |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
               |ГДЕ
               |    ГрафикиРаботыПоВидамВремени.Документ.Ссылка Есть NULL
2 Fish
 
06.12.13
14:23
(1) Битая ссылка - это разве NULL?
3 maksim358
 
06.12.13
14:23
(0) ты в запросе пытаешься вытащить ссылку на документ, который уже знаешь и он у тебя в параметрах?
4 Wobland
 
06.12.13
14:23
(2) любой реквизит у битой ссылки - нулл
5 Nenaviwu1c20
 
06.12.13
14:24
(2) да
6 olegves
 
06.12.13
14:24
ГрафикиРаботыПоВидамВремени.Документ.Дата Есть NULL
7 matri555
 
06.12.13
14:30
Да при выборке получается битая ссылка А как очистить регистр от битых ссылок полный код был такой
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ГрафикиРаботыПоВидамВремени.Документ.Ссылка
               |ИЗ
               |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
               |ГДЕ
               |    ГрафикиРаботыПоВидамВремени.Документ.Ссылка Есть NULL";

//Запрос.УстановитьПараметр("Ссылка","Табель учета рабочего времени организации 00000000012 от 13.11.2013 15:54:25");


Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

НаборЗаписей = РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
     НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
     //НаборЗаписей.Записать();
КонецЦикла;
кол=НаборЗаписей.Количество();
сообщить(кол);
Для Каждого Запись из НаборЗаписей Цикл
    сообщить(Запись.Сотрудник);
    сообщить(Запись.Документ);
КонецЦикла;    

Пока без очистки, для проверки
8 maksim358
 
06.12.13
14:37
(7) а без запроса никак?
9 matri555
 
06.12.13
14:42
Извините туплю с выборкой. Вопрос по другому как обойти регистр сведений и удалить записи с битой ссылкой
10 Defender aka LINN
 
06.12.13
14:44
(8) Аллергия?
11 maksim358
 
06.12.13
14:46
(10) Пытаюсь понять задачу.это был вопрос, а не ироничное утверждение)
(9) Набором записей. очищай его и записывай.
12 Defender aka LINN
 
06.12.13
14:46
(9) Ну раскомментируй запись, делов-то
13 Адинэснег
 
06.12.13
14:46
ведущим измерением бы сделал, и былоб тебе щастие
14 matri555
 
06.12.13
14:48
спасибо
15 Адинэснег
 
06.12.13
14:48
тьху ты там реквизит
16 Адинэснег
 
06.12.13
14:59
Запрос = Новый Запрос("ВЫБРАТЬ
                        |    ГрафикиРаботыПоВидамВремени.ГрафикРаботы,
                        |    ГрафикиРаботыПоВидамВремени.Месяц,
                        |    ГрафикиРаботыПоВидамВремени.План,
                        |    ГрафикиРаботыПоВидамВремени.ВидУчетаВремени,
                        |    ГрафикиРаботыПоВидамВремени.Дата,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначение,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьПятидневка,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьПятидневкаЧасы,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьШестидневка,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьКалендарныеДни,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеНорма,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНорма,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеПолное,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеПолное,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеНормаПолное,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНормаПолное,
                        |    ГрафикиРаботыПоВидамВремени.Документ
                        |ИЗ
                        |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
                        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                        |            ВводИндивидуальныхГрафиковРаботыОрганизации.Ссылка КАК Ссылка
                        |        ИЗ
                        |            Документ.ВводИндивидуальныхГрафиковРаботыОрганизации КАК ВводИндивидуальныхГрафиковРаботыОрганизации
                        |        
                        |        ОБЪЕДИНИТЬ ВСЕ
                        |        
                        |        ВЫБРАТЬ
                        |            СдельныйНаряд.Ссылка
                        |        ИЗ
                        |            Документ.СдельныйНаряд КАК СдельныйНаряд
                        |        
                        |        ОБЪЕДИНИТЬ ВСЕ
                        |        
                        |        ВЫБРАТЬ
                        |            ТабельУчетаРабочегоВремениОрганизации.Ссылка
                        |        ИЗ
                        |            Документ.ТабельУчетаРабочегоВремениОрганизации КАК ТабельУчетаРабочегоВремениОрганизации) КАК Доки
                        |        ПО ГрафикиРаботыПоВидамВремени.Документ = Доки.Ссылка
                        |ГДЕ
                        |    НЕ Доки.Ссылка ЕСТЬ NULL ");
                        
    НЗ = РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
    НЗ.Загрузить(Запрос.Выполнить().Выгрузить());
    НЗ.Записать();
17 hhhh
 
06.12.13
15:26
(11) запросом гораздо быстрее, не надо с гуидами возиться.
18 Fragster
 
модератор
06.12.13
15:28
(12) а код в (7) все равно не работает, ибо невнимательно (или без включения мозга) прочитано (1)
19 matri555
 
06.12.13
16:29
18 выдает ошибку {Обработка.ОчисткаРегистраСведений.Форма.Форма.Форма(49)}: Ошибка при вызове метода контекста (Записать)
    НЗ.Записать();
по причине:
Запись с такими ключевыми полями существует! : ГрафикиРаботыПоВидамВремени: ******** ОЛЕГОВИЧ, По вечерним часам, 01.07.2013 0:00:00, 01.07.2013 0:00:00, Да,  (Регистр сведений: Графики работы по видам времени; Номер строки: 29665)
20 Адинэснег
 
06.12.13
19:22
Запрос = Новый Запрос("ВЫБРАТЬ
                        |    ГрафикиРаботыПоВидамВремени.ГрафикРаботы,
                        |    ГрафикиРаботыПоВидамВремени.Месяц,
                        |    ГрафикиРаботыПоВидамВремени.План,
                        |    ГрафикиРаботыПоВидамВремени.ВидУчетаВремени,
                        |    ГрафикиРаботыПоВидамВремени.Дата,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначение,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьПятидневка,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьПятидневкаЧасы,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьШестидневка,
                        |    ГрафикиРаботыПоВидамВремени.ПроизводственныйКалендарьКалендарныеДни,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеНорма,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНорма,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеПолное,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеПолное,
                        |    ГрафикиРаботыПоВидамВремени.ОсновноеЗначениеНормаПолное,
                        |    ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНормаПолное,
                        |    ГрафикиРаботыПоВидамВремени.Документ
                        |ИЗ
                        |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
                        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                        |            ВводИндивидуальныхГрафиковРаботыОрганизации.Ссылка КАК Ссылка
                        |        ИЗ
                        |            Документ.ВводИндивидуальныхГрафиковРаботыОрганизации КАК ВводИндивидуальныхГрафиковРаботыОрганизации
                        |        
                        |        ОБЪЕДИНИТЬ ВСЕ
                        |        
                        |        ВЫБРАТЬ
                        |            СдельныйНаряд.Ссылка
                        |        ИЗ
                        |            Документ.СдельныйНаряд КАК СдельныйНаряд
                        |        
                        |        ОБЪЕДИНИТЬ ВСЕ
                        |        
                        |        ВЫБРАТЬ
                        |            ТабельУчетаРабочегоВремениОрганизации.Ссылка
                        |        ИЗ
                        |            Документ.ТабельУчетаРабочегоВремениОрганизации КАК ТабельУчетаРабочегоВремениОрганизации) КАК Доки
                        |        ПО ГрафикиРаботыПоВидамВремени.Документ = Доки.Ссылка
                        |ГДЕ
                        |    НЕ Доки.Ссылка ЕСТЬ NULL ");
                        
    НЗ = РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
    НЗ.Очистить();
    НЗ.Загрузить(Запрос.Выполнить().Выгрузить());
    НЗ.Записать();
21 Адинэснег
 
09.12.13
08:37
только вместо
|    НЕ Доки.Ссылка ЕСТЬ NULL ");
написать...
|    Доки.Ссылка ЕСТЬ NULL ");
:-D
22 Адинэснег
 
09.12.13
08:37
а нет, это же к загруке, оставить как есть
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший