|
Перезапись движения зависимого регистра сведений. | ☑ | ||
---|---|---|---|---|
0
Aristo
01.02.12
✎
12:42
|
Есть регистр сведений, периодический и зависимый от регистратора.
он пишет запись на начало дня. Бывает момент когда другой регистратор должен сделать запись по тем же ключевым измерениям в начало дня. Нужно удалить предыдущие движения которые пересекаются по ключевым измерениям иначе будет ошибка. Однако отбор по измерениям регистра не работает (только по регистратору но это ничего не даст). Как удалить предыдущие записи ? поиском нашел только инфу по независимым регистрам. Помогите, в 8ке недавно |
|||
1
Ненавижу 1С
гуру
01.02.12
✎
12:44
|
а зачем перетирать? и зачем именно второй тоже в начало дня?
|
|||
2
n koretsky
01.02.12
✎
12:45
|
если уж совсем все так запущено, тогда находишь запросом регистратор по нужным тебе измерениям и помечаешь его на удаление.
вот, гдето так. дешево и сердито. |
|||
3
Aristo
01.02.12
✎
12:51
|
(1) так в ТЗ было, уже думаю забить. Там важно чтобы цены при установке в начало дня падали. Считаю неправильным, но заказчик платит :)
(2)Регистратор целиком удалить не получится, они не обязательно полностью совпадают по составу, часть надо оставить. Этот вариант как раз понятен: пройтись по всем регистраторам у которых в записи такой же период и удалить строки с пересекающимися ключевыми измерениями. Но думалось что есть что - то попроще. |
|||
4
Aristo
01.02.12
✎
12:52
|
(2) еще вариант - записать в конец предыдущего дня, пробую
|
|||
5
Aristo
01.02.12
✎
12:57
|
На конец дня тоже самое
|
|||
6
Aristo
01.02.12
✎
12:59
|
(1) а какие варианты есть еще если нужно предусмотреть возможность переписывания цены в пределах начала / конца дня
|
|||
7
Ненавижу 1С
гуру
01.02.12
✎
13:01
|
а вот если:
провели 1-й док, он установил цену Товар1 25р провели 2-й док, он установил цену Товар1 30р перепровели 1-й док, он установил цену Товар1 25р кто последний тот и папа? |
|||
8
Aristo
01.02.12
✎
13:11
|
(7) даже так не получится, пишу запрос на удаление строк из 1го док.
|
|||
9
n koretsky
01.02.12
✎
13:14
|
муторно както все, смутно...
|
|||
10
Fish
01.02.12
✎
13:15
|
(6) Посмотреть типовые конфигурации.
|
|||
11
Ненавижу 1С
гуру
01.02.12
✎
13:16
|
(10) ну и как такое реализовано в типовой?
|
|||
12
Fish
01.02.12
✎
13:30
|
(11) Регистр Цены. Документ ИзменениеЦен.
|
|||
13
Ненавижу 1С
гуру
01.02.12
✎
13:31
|
(12) это где? в УТ 10 такого не обнаруживаю
|
|||
14
Fish
01.02.12
✎
13:35
|
(13) Что к словам придираешься? БП, УПП: РС: ЦеныНоменклатуры, Документ в УПП: Установка цен номенклатуры.
|
|||
15
Fish
01.02.12
✎
13:36
|
+(14) УТ под рукой нету, но там думаю то же самое есть. Суть от точного названия не меняется.
|
|||
16
Fish
01.02.12
✎
13:38
|
А если по теме, то надо не переписывать цены каждый раз на начало дня, затирая старые, а ввести период, с какого момента эти цены действуют. И проблема в (0) решена :)))
|
|||
17
Reset
01.02.12
✎
13:40
|
(15) Регистр и документ такие есть, но задачу ТС они не решают. Второй документ тупо не проводится ("такая запись уже есть"). УТ 10.2, УТ 10.3.
|
|||
18
Ненавижу 1С
гуру
01.02.12
✎
13:41
|
(14) это есть, но проблема не решается, так что плюсую к (17)
|
|||
19
БибиГон
01.02.12
✎
13:41
|
у регистра сведений периодичность интересно какая?
|
|||
20
Fish
01.02.12
✎
13:41
|
(17) Читай (17). Не надо документ проводить началом дня. Надо просто задавать в нём, что цена действует с начала дня.
|
|||
21
Fish
01.02.12
✎
13:41
|
+(20) Точнее (16) :)
|
|||
22
Ненавижу 1С
гуру
01.02.12
✎
13:43
|
(20) там вообще периодичность в типовых "день", так что два документа в один день регистрации не взлетят
|
|||
23
Reset
01.02.12
✎
13:43
|
(21) Вопрос "нужно предусмотреть возможность *переписывания* цены в пределах начала / конца дня"
Ответ "Посмотреть типовые конфигурации" Затем (17). |
|||
24
Fish
01.02.12
✎
13:45
|
(22) А кто мешает поставить по позиции регистратора?
|
|||
25
Ненавижу 1С
гуру
01.02.12
✎
13:48
|
(24) ну и?
допустим есть документ на начало дня (с периодом в регистре тоже начало дня), ты проводишь другой документ, как его сделать "более первым" по отношению к имеющемуся, не трогая того? |
|||
26
Fish
01.02.12
✎
13:48
|
(23) Ну невнимательно я сначала прочитал (3) :))) Поэтому и написал про типовые. Но смысл понятен. ИМХО цель какая? установить цены с начала дня. Так? Тогда добавляем в регистр цен реквизит ДатаНачалаДействияЦены и от него пляшем. И периодичность у регистра ставим "по позиции регистратора" - и хоть 100 документов в день клепай :))
|
|||
27
Ненавижу 1С
гуру
01.02.12
✎
13:49
|
>>Тогда добавляем в регистр цен реквизит ДатаНачалаДействияЦены
вот этого точно делать не надо, есть и так регистре Период |
|||
28
Fish
01.02.12
✎
13:52
|
Период - это когда ты провел документ. Или ты предлагаешь проводить задним числом? А если я хочу установить цену сегодня, но так, чтобы она начала действовать через неделю? Проводить будущим временем?
|
|||
29
Reset
01.02.12
✎
13:55
|
(28) Ты, наверное, имел в виду измерение ДатаНачалаДействияЦены (не реквизит)
|
|||
30
Ненавижу 1С
гуру
01.02.12
✎
13:55
|
(28) а ты не в курсе, что Период регистра может отличаться от даты документа?
|
|||
31
Fish
01.02.12
✎
13:58
|
(30) Я-то в курсе, просто методику затирания одним документом движений другого, считаю в корне неправильной, как и запись периода документа, не отражающая реальное время его проведения.
(29) Нет. Посмотрел сейчас, как это было реализовано у нас (давненько это было): Регистр цен: периодический по позиции регистратора. А ДатаНачалаДействия цены - это реквизит документа. Ну суть понятна главное :))) |
|||
32
Ненавижу 1С
гуру
01.02.12
✎
14:01
|
(31) ну и молодец, я к тому, что твое решение тоже ответа не дает на вопрос
|
|||
33
Fish
01.02.12
✎
14:02
|
(32) Почему же не даёт? Меняй цену хоть 100 раз на дню, и действовать она будет с начала дня. Ведь этого хотел ТС?
|
|||
34
Reset
01.02.12
✎
14:04
|
(31) Измерение удобней - не нужно выбирать максимум по периоду, если регистраторов несколько. Просто в параметрах вирт таблицы добавляется отбор на значение измерения: последнюю установку ресурса(сделанную последним по времени регистратором) получим, используя механизмы регистра сведений.
Выглядит коряво, но и исходная постановка задачи корява. |
|||
35
Fish
01.02.12
✎
14:06
|
(34) С точки зрения программиста - конечно удобнее. Но программа существует для кого? Для удобства программиста, чтобы ему меньше отборов и условий писать, или всё-таки для удобства заказчика?
|
|||
36
Reset
01.02.12
✎
14:08
|
(35) При чем здесь заказчик? Результат один.
|
|||
37
Ненавижу 1С
гуру
01.02.12
✎
14:09
|
(33) ну и как определить из какого документа брать цену?
|
|||
38
Reset
01.02.12
✎
14:11
|
(37) Ну я так что понял что типа МАКСИМУМ(Период) + ГДЕ ДатаНачалаДействияЦены=&НачалоДня
или моментВремени вместо периода |
|||
39
Reset
01.02.12
✎
14:11
|
а может ПЕРВЫЕ 1 ;)
|
|||
40
Ненавижу 1С
гуру
01.02.12
✎
14:13
|
(38) период, дата или еще какой реквизит у них будет 0 часов 0 минут, а вот ссылка (соответственно момент времени) не может управляться в плане больше-меньше на уровне кода 1С
|
|||
41
Fish
01.02.12
✎
14:15
|
(37) Если честно, то идея эта не моя. У нас была конфигурация "альфа-авто" переписанная вдоль и поперёк, так что мне трудно сказать, придумал это Рарус или наши программисты, но идея вполне откатанная и рабочая :)) У нас вообще система ценообразования была довольно нестандартная. Да, были конечно некоторые неудобства при получении цены, но результат себя оправдывал.
|
|||
42
Fish
01.02.12
✎
14:19
|
+(41) А цена получалась как-то так:
МоментВремени=?(Ссылка.Пустая(),Новый МоментВремени(КонецДня(Дата)),Новый Граница(?(обЗначениеНеЗаполнено(ДатаНачалаДействия),МоментВремени(),ДатаНачалаДействия),ВидГраницы.Исключая)); СтруктураЦен=РегистрыСведений.Цены.ПолучитьПоследнее(МоментВремени,СтруктураОтбора); Цена=СтруктураЦен.Цена; |
|||
43
Reset
01.02.12
✎
14:19
|
(40) период будет совпадать с датой, т.е. будет не 0 (в общем случае). Вот если дату установят в начало, тогда засада.
|
|||
44
Reset
01.02.12
✎
14:20
|
+(43) Я описываю, как я понял Фишера :) Возможно все не так ;)
|
|||
45
Reset
01.02.12
✎
14:21
|
*Fish'a (прошу прощения, переврал ник)
|
|||
46
Fish
01.02.12
✎
14:22
|
(44) Я сам уже, если честно, не помню точно как всё это работало. Я просто изложил основную идею :)))
|
|||
47
Fish
01.02.12
✎
14:29
|
+(46) Блин, сейчас посмотрел и понял, что задумка похоже была всё-таки Рарусовская :))) В регистре цены нет реквизита ДатаНачалаДействия. Зато в модуле набора записей есть такая экспортная переменная, и при записи там идут какие-то жуткие расчёты и пересчёты в лучших традициях Раруса через общие модули :)))
|
|||
48
Aristo
01.02.12
✎
15:09
|
В общем решил путем поиска и удаления строк в документах в которых старые движения, с последующим удалением движений, удалением самого дока (если не осталось строк), или перепроведением.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |