Имя: Пароль:
1C
1С v8
Как изменить реквизит регистра сведений с отбором по самому регистру
0 GreenDay1986
 
18.04.14
10:21
БП 2.0. Есть Регистр сведений ПереносДанныхПоПереоценке(самописка) В нем содержатся записи о переоценках из предыдущих программ. В  него же ошибочно попали записи о первоначальной стоимости.
Задача состоит в том чтобы их отделить. Сделал реквизит "ПринятиеКУчету" в регистре. Булево. Нужно для всех записей СрезПервых из данного регистра данный реквизит установить в значение "Истина". В какую сторону ковырять подскажите пожалуйста.
1 Рэйв
 
18.04.14
10:23
>>В  него же ошибочно попали записи о первоначальной стоимости.

Если записи ошибочно попали, что мешает их удалить?
2 GreenDay1986
 
18.04.14
10:29
Количество в размере 40000 штук )
3 Рэйв
 
18.04.14
10:29
(2)Ну и что? Вручную чтоли вносилось? или регистратором?
4 GreenDay1986
 
18.04.14
10:30
(3) Из файла Excel Причем кроме него ничего нет. А в нем совсем не указано где первоначальная стоимость а где переоценка. Однозначно отобрать можно только СрезомПервых
5 GreenDay1986
 
18.04.14
10:33
По сути д.б.
дата ОС Стоимость ПринятиеКУчету
ДАта ОС Стоимость Переоценка

То есть ПринятияКУчету как бы тоже нужны. Но нужно видеть где принятия а где переоценки. Доподлинно известно только что все первые записи по каждому основному средству это принятиякучету. Последующие - переоценки.

СрезПервых то отобрать не проблемма. Как реквизит регистра по выборке после заполнить это не знаю.
6 Рэйв
 
18.04.14
10:33
(4)Как вариант.

Делай набор записей, отбор, читай набор записей первый раз, выясняй запись с самой ранней датой. Перебеирай Набор второй раз, записи с этой датой ставь ПринятиеКУчету=Истина.
В конце Набор.Записать(Истина);
7 GreenDay1986
 
18.04.14
10:35
(6) В дату может попасть как переоценка для одного ОС так и принятиекучету другого

Скажем выборка:
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |ПереносДанныхПоПереоценкеСрезПервых.БалансоваяСтоимость КАК БалансоваяСтоимость,
    |ПереносДанныхПоПереоценкеСрезПервых.ОсновноеСредство КАК ОсновноеСредство,
    |ПереносДанныхПоПереоценкеСрезПервых.Период КАК Период
    |ИЗ РегистрСведений.ПереносДанныхПоПереоценке.СрезПервых КАК ПереносДанныхПоПереоценкеСрезПервых
    |";
    Рез = Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
    КонецЦикла;

Записи в РС будут идентифицироваться только по ключу. Ссылок вроде как нет.
8 GreenDay1986
 
18.04.14
10:36
То есть нужен отбор типа Рез.Период + Рез.ОсновноеСредство только тогда запись идентифицируется однозначно.
9 Рэйв
 
18.04.14
10:39
(8)>>Записи в РС будут идентифицироваться только по ключу.

В (6) было ключевое слово "отбор" :-)
10 Рэйв
 
18.04.14
10:40
ну или есловиями обходи если так хочется
11 Рэйв
 
18.04.14
10:40
*условиями
12 GreenDay1986
 
18.04.14
10:41
Отбор по ключу как делается, мона пример если не лениво?
13 hhhh
 
18.04.14
10:42
(8) что-то вы фигней занимаетесь. Быстрее всё удалить и загрузить из экселя второй раз, но уже правильно.
14 Рэйв
 
18.04.14
10:42
(13)+1
15 GreenDay1986
 
18.04.14
10:43
(13) Ога, тогда подскажи как в Экселе срезпервых сделать )
16 GreenDay1986
 
18.04.14
10:44
В эксель с галками нужными выгрузить ниоткуда нельзя уже ибо ДБФ-ок в природе не существует. Там реально что-то сделать?
17 GreenDay1986
 
18.04.14
11:03
Если вот это дело
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |ПереносДанныхПоПереоценкеСрезПервых.БалансоваяСтоимость КАК БалансоваяСтоимость,
    |ПереносДанныхПоПереоценкеСрезПервых.ОсновноеСредство КАК ОсновноеСредство,
    |ПереносДанныхПоПереоценкеСрезПервых.Период КАК Период
    |ИЗ РегистрСведений.ПереносДанныхПоПереоценке.СрезПервых КАК ПереносДанныхПоПереоценкеСрезПервых
    |";

В ТЗ выгрузить отбор по РС после по ТЗ сделать можно?