8.х Несколько записей в регистре по одному документу

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем XXL, 9 сен 2010.

  1. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Добрый день.
    Задача такая - один документ, при проведении добавляется запись в регистр, потом в документе изменяется одно значение, проводится документ - в регистре 2 записи (регистратор одинаковый, период разный, изменяемое значение разное) и так до бесконечности, НО пока открыт документ. Если я документ закрою, потом открою - движения есть, опять меняю значение, провожу - все ранее сделанные движения по регистру затираются!!! пока документ открыт - 10 раз перепровожу - 10 записей, закрою, открою, перепроведу - остается 1 запись :angry: я уже и регистр накопления делала, и регистр сведений - ничего не получается:(
  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    А удаляться записи при отмене проведения должны?
    Если нет, то делаете регистр сведений, независимый, не подчиненный никаким регистраторам и каждый раз при проведении в него пишете новую запись.
    Если дожны, то мне кажется, проще сделать табличную часть у документа, куда при изменении реквизита писать новые строчки, а при проведении из этой ТЧ делать движения регистра. ТЧ на форму можно не выводить совсем, или сделать недоступной для редактирования. Можно и оставить, смотря какие цели у Вас :)
  3. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Про табличную часть думала, но будет в дальнейшем не удобно (это уже как последний вариант).
    А вот регистр сведений у меня подчинен регистратору... попробую независимый сделать, спасибо)
  4. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Для примера в Рознице Салон оптики так сделаны движения по статусу заказа.

    Код:
        // Получим значение последних установленных статусов
    СрезПоследних = РегистрыСведений.ИсторияСтатусовЗаказов.СрезПоследних(, Новый Структура("Заказ", ДокументЗаказа));
    
    // Проверяем необходимость выполнить обновление данных регистра
    Если СрезПоследних.Количество()=0 ИЛИ НЕ(СрезПоследних[0].Ответственный=Ответственный
    И СрезПоследних[0].СтатусЗаказа=СтатусЗаказа И СрезПоследних[0].СтатусОплаты=СтатусОплаты) Тогда
    
    // Добавляем новую запись в регистр истории статусов
    НоваяЗапись = РегистрыСведений.ИсторияСтатусовЗаказов.СоздатьМенеджерЗаписи();
    НоваяЗапись.Период        = ТекущаяДата();
    НоваяЗапись.Заказ         = ДокументЗаказа;
    НоваяЗапись.Ответственный = Ответственный;
    НоваяЗапись.СтатусЗаказа  = СтатусЗаказа;
    НоваяЗапись.СтатусОплаты  = СтатусОплаты;
    
    // Производим попытку записи
    Попытка
    НоваяЗапись.Записать(ИСТИНА);
    Исключение
    ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), Отказ);
    КонецПопытки;
    
    КонецЕсли;
    
    
    
    
    
    
  5. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Вы че делаете? Да оставьте регистр зависимым. А вот у документа снимите к такой то матери авточистку регистров (чистите их руками - это не сложно).
    Если вам в процессе работы так и надо - 10 раз провели/записали - сгенерировалось 10 записей - то оставляйте как есть.
    Если так не надо - то перед проведением/записью не забывайте очищать этот ваш регистр (через Движения.МойСтранныйРегистр...).

    Для того, чтобы видеть из регистра относятся ли записи к проведенному документу или стоит их считать не действительными - играйтесь АКТИВНОСТЬЮ записи регистра в событиях проведения и отмены проведения документа.
  6. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Автоочистка регистров снята! Мне нужно, чтобы ВСЕ записи в регистрах сохранялись, а они сохраняются, только если между перепроведением документа документ не закрывается.

Поделиться этой страницей