Имя: Пароль:
1C
1С v8
ЗаполнитьЗначенияСвойств()
0 Adgjj
 
13.02.12
15:17
Отбор = Новый Структура("ВидРабот,РасстояниеОт,РасстояниеДо", ВидРабот,Элемент.ТекущаяСтрока.РасстояниеОт,Элемент.ТекущаяСтрока.РасстояниеДо);
   //пока доберется до нужной даты придется нажимать удаление не 1 раз: ТЗ = РегистрыСведений.РасценкиПоВидамРабот.СрезПоследних(Дата, Отбор);
   Структура = РегистрыСведений.РасценкиПоВидамРабот.Получить(Дата, Отбор);
   РегистрСведенийМенеджерЗаписи = РегистрыСведений.РасценкиПоВидамРабот.СоздатьМенеджерЗаписи();
   ЗаполнитьЗначенияСвойств(РегистрСведенийМенеджерЗаписи,ТЗ.Получить(0));
   РегистрСведенийМенеджерЗаписи.Удалить();

Скажите, пжл, как написать второй параметр для ЗаполнитьЗначенияСвойств вместо ТЗ.Получить(0). ТЗ бралась из комментария, а теперь надо брать из Структура, т.к. нужен не СрезПоследних, а конкретная Дата.
1 Reset
 
13.02.12
15:18
ЗаполнитьЗначенияСвойств(РегистрСведенийМенеджерЗаписи,Отбор) , не?
2 Wobland
 
13.02.12
15:18
СрезПоследних тоже наколдуй
3 Wobland
 
13.02.12
15:18
+(2) на структуру
4 Wobland
 
13.02.12
15:19
(1) не. там источник должен быть, а отбор - хреновый источник
5 Reset
 
13.02.12
15:20
(4) мб я перепутал, какую структуру он имеет в виду. Я имел в виду переменную из первой строки в(0)
6 Reset
 
13.02.12
15:21
(5) Она*
7 Fram
 
13.02.12
15:23
(4) а какая разница если свойства соответствуют?
8 Reset
 
13.02.12
15:24
Добавить туда ключ Период со значением Дата
9 Wobland
 
13.02.12
15:24
ну у неё было ТЗ=СрезПоследних(). почему она опять не хочет СрезПоследних, нам неведомо
10 Adgjj
 
13.02.12
15:28
ТЗ = РегистрыСведений.РасценкиПоВидамРабот.СрезПоследних(Дата,РегистрыСведений.РасценкиПоВидамРабот.Получить(Дата, Отбор));
ошибка второй параметр не понимает
11 Reset
 
13.02.12
15:29
(10) И правильно делает
12 Reset
 
13.02.12
15:33
(11) Хотя я гоню похоже.
13 Reset
 
13.02.12
15:36
Укажи цель махинаций.
14 НЕА123
 
13.02.12
15:38
(12)
не гонишь.
скорее всего ты прав - не все реквизиты в отборе.
15 Adgjj
 
13.02.12
15:41
цель махинации: удаление строки на конкретную дату Дата, а не СрезПоследних по эту Дату
16 Reset
 
13.02.12
15:43
(15)

Отбор = Новый Структура("Период,ВидРабот,РасстояниеОт,РасстояниеДо", Дата,ВидРабот,Элемент.ТекущаяСтрока.РасстояниеОт,Элемент.ТекущаяСтрока.РасстояниеДо);
Запись = РегистрыСведений.РасценкиПоВидамРабот.СоздатьМенеджерЗаписи();
Запись.Заполнить(Отбор); // Ну или ЗаполнитьЗначенияСвойств
Запись.Прочитать();
Если Запись.Выбран() тогда
  Запись.Удалить();
КонецЕсли;
17 Reset
 
13.02.12
15:45
+(16) Разумеется, предполагаем, что измерения в отборе указаны Все и Верно
18 hhhh
 
13.02.12
15:47
(17) дата другая будет, не прокатит.
19 Reset
 
13.02.12
15:48
(18) В смысле? Нужно ведь на определенное значение даты (см (15)). Какая другая?
20 Adgjj
 
13.02.12
15:49
(16) спасибо большое получилось, но строку Запись.Заполнить(Отбор); заменила т.к. она не работала на
ЗаполнитьЗначенияСвойств(Запись,Отбор);
21 НЕА123
 
13.02.12
15:50
(19)
из 0
>     //пока доберется до нужной даты придется нажимать удаление не 1 раз: ТЗ = РегистрыСведений.РасценкиПоВидамРабот.СрезПоследних(Дата, Отбор);
22 Reset
 
13.02.12
15:52
(20) Метод Заполнить появился в 8.2 вроде.
23 Adgjj
 
13.02.12
15:53
у меня 8.1
24 НЕА123
 
13.02.12
15:57
ох, научили ТС... грохнет ведь регистр...
25 Reset
 
13.02.12
15:59
(21) Правильная постановка задачи в (15). В (0) неправильная попытка решить.
(24) Наше дело - помочь :D
26 НЕА123
 
13.02.12
16:00
(25)
на одну дату может быть несколько.
27 Reset
 
13.02.12
16:02
(26) Чего несколько? Записей с совпадающими значениями измерений? Не может
28 НЕА123
 
13.02.12
16:07
(27)
исходя из (10), не все измерения в отборе.
29 Reset
 
13.02.12
16:09
(28) ---> (17)
Если не все , это уже другая история.
30 НЕА123
 
13.02.12
16:12
(29)
и то верно.
31 Adgjj
 
14.02.12
09:09
(24) почему регистр испортится?
32 Ц_У
 
14.02.12
09:37
Прочитать()
Записать()
33 НЕА123
 
14.02.12
09:57
(31)
неприлично отвечать вопросом на вопрос, но я спрошу.
сколько измерений у регистра?
34 Adgjj
 
14.02.12
10:32
(33) три: ВидРабот, РасстояниеОт, РасстояниеДо
35 НЕА123
 
14.02.12
10:39
(34)
тогда почему получается (21)?
36 Adgjj
 
14.02.12
14:18
зачем вы ссылаетесь на (21) не поняла
в (20) я написала, что получилось с помощью (16) и считаю, что все хорошо
почему Вы считаете (24) не понимаю
37 НЕА123
 
14.02.12
14:39
(36)
потому что, если указаны в отборе все измерения то в ТЗ никак не может быть больше одной строки. В (0), как я понял, их несколько.
ТЗ = РегистрыСведений.РасценкиПоВидамРабот.СрезПоследних(Дата, Отбор)
38 Adgjj
 
15.02.12
10:17
где в (0) их несколько, та строка закомментирована
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший