1с при проведении изменить реквизит справочника

   men-ken

04.02.15 — 12:28

Добрый день!

Нужно, чтобы при проведении документа менялись реквизиты в элементах справочника, кот. указаны в табличной части документа. Делаю так:

Процедура ОбработкаПроведения(Отказ, Режим)

    
    Для Каждого ТекСтрокаКонтрагенты Из Контрагенты Цикл

        
        Контрагент = ТекСтрокаКонтрагенты.Контрагент.ПолучитьОбъект();

        Контрагент.ОсновнойМенеджер = ЭтотОбъект.ОсновнойМенеджер;

        Контрагент.Записать();    

        
    КонецЦикла;

        
КонецПроцедуры

При проведении вот что он мне пишет:

Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

по причине:

{Документ.ИФЮ_НазначениеОтветственных.МодульОбъекта(26)}: Поле объекта недоступно для записи (ОсновнойМенеджер)

        Контрагент.ОсновнойМенеджер = ЭтотОбъект.ОсновнойМенеджер;

Непонятно почему поле ОсновнойМенеджер недоступно для записи?

  

Партнерская программа EFSOL Oblako

   Господин ПЖ

1 — 04.02.15 — 12:29

>Нужно, чтобы при проведении документа менялись реквизиты в элементах справочника, кот. указаны в табличной части документа

за такие штуки принято ипашить по рукам…

   Naumov

2 — 04.02.15 — 12:29

у тебя конфа, тебе виднее

   men-ken

3 — 04.02.15 — 12:32

(1) объясните что не так?

   barrgand

4 — 04.02.15 — 12:36

(3) В таких случаях необходимо пользоваться доп. свойствами объектов, которые будут хранится в отдельном регистре.

   zalexey

5 — 04.02.15 — 12:43

Потому что у тебя Контрагент — это реквизит документа с типом ссылка.

Об остальном тебе уже выше написали )

   ktvladimir

6 — 04.02.15 — 12:46

(1) я видел такие штуки в типовых решениях ) начнем с них?

навскидку… Управление инженерными данными

   men-ken

7 — 04.02.15 — 12:48

В конфигурации уже есть регистр, в котором отражаются изменения реквизитов Справочника Контрагенты. Я так понимаю, что если программно изменить реквизиты, то старые будут храниться в регистре.

(6) ЭтотОбъект.ОсновнойМенеджер — это же тоже ссылка

   Naumov

8 — 04.02.15 — 12:48

(6) За некоторые приемы из типовых выгоняют с экзамена, как за недопустимое. Но ничего, живут типовые своей жизнью.

   Naumov

9 — 04.02.15 — 12:49

(7) А ты код не на клиенте случаем выполняешь?

   ktvladimir

10 — 04.02.15 — 12:50

(7) тебе говорят о том что у документа наверняка есть реквизит «Контрагент»

то что ты потом объявляешь ТекСтрокаКонтрагенты.Контрагент.ПолучитьОбъект();

не говорит о том что он станет объектом

   Naumov

11 — 04.02.15 — 12:50

или это не УФ?

   ktvladimir

12 — 04.02.15 — 12:50

и ты меняешь менеджера не у объекта а у ссылки

   hhhh

13 — 04.02.15 — 12:52

(7) так пробуй

        ОфигенныйКонтрагент = ТекСтрокаКонтрагенты.Контрагент.ПолучитьОбъект();

        ОфигенныйКонтрагент.ОсновнойМенеджер = ЭтотОбъект.ОсновнойМенеджер;

        ОфигенныйКонтрагент.Записать();

   Господин ПЖ

14 — 04.02.15 — 12:53

>я видел такие штуки в типовых решениях ) начнем с них?

я и запрос в цикле видел

   2083

15 — 04.02.15 — 13:00

(1) ну зачем по рукам-то сразу? когда в РАУЗ движения пишутся, создаются же ключи аналитики в справочниках

   ktvladimir

16 — 04.02.15 — 13:02

(14) ну это смотря какая задача) иногда бывает что это оправдано)

   2083

17 — 04.02.15 — 13:05

(16) например?

   barrgand

18 — 04.02.15 — 13:05

(15) Если где-то при проведении документа изменяется пачка других объектов, это не значит, что надо использовать это постоянно. Тем более, что есть более правильный способ хранить информацию.

   Naumov

19 — 04.02.15 — 13:20

(15) Создаются только отсутствующие элементы, но не изменяются. Согласись немного не такая задача.

   yukon

20 — 04.02.15 — 13:21

(15) Ключевое слово «создаются», не обновляются как в (0), а создаются, причем всего 1 раз.

   yukon

21 — 04.02.15 — 13:21

(19) Опередил :)

   Defender aka LINN

22 — 04.02.15 — 13:22

(0) А при отмене проведения что происходит?

   Огурцы

23 — 04.02.15 — 13:23

(0)не делай так, добавь новый РС «МенеджерыКлиентов» и пиши туда при проведении.

   Огурцы

24 — 04.02.15 — 13:24

мало ли сколько гвно-кодеров типовые пишут, ты же не такой , правда?

   yukon

25 — 04.02.15 — 13:26

(23) Что в лоб, что по лбу. Опять же вопрос, что делать при отмене проведения.

Есть вариант с периодическим регистром сведений с периодом по позиции регистратора.

   Огурцы

26 — 04.02.15 — 13:28

(25)при отмене проведения, запись удалится сама. Какой Смысл в записи если отменили проведение документу по сути отменили само действие?

   Огурцы

27 — 04.02.15 — 13:29

(25)можно и периодический

   Крошка Ру

28 — 04.02.15 — 13:37

(0) Отладчиком воспользуйся.

   ktvladimir

29 — 04.02.15 — 13:39

(17) когда в параметры нужно загонять данные обработанные на предыдущем этапе

   Defender aka LINN

30 — 04.02.15 — 14:15

(26) С автора же станется независимый регистр захреначить

   FIXXXL

31 — 04.02.15 — 14:23

точно Контрагент.ОсновнойМенеджер

а не ОсновнойМенеджерПокупателя ?

   ksupalo

32 — 04.02.15 — 14:27

(0) В 1С Документооборот в справочнике «Проектные задачи» вначале так и было — даты начала и окончания задачи (план и факт) были в проектной задаче. При изменении задач, график пересчитывался, реквизиты элементов справочника менялись массово со всеми вытекающими.

С версии 1.3.х сделали регистр сведений, в которых хранят даты проектных задач — все стало хорошо — меняются записи регистра, а проектные задачи как были так и есть. График пересчитывается быстрее. Красота!

Мораль: не надо менять реквизиты справочника, если ты не в форме справочника.

  

FIXXXL

33 — 04.02.15 — 15:20

(32) если это поле имеет такой же смысл как в УТ10,3, то ничего криминального в (0) нет. Ибо поле это перезаписывать может много кто и без контроля.

Наоборот, будет видно кто манагеров тусует, если заблочить кнопку «Установить основным» на форме элемента справочника :)

Если же нужна «история» ведения клиента манагерами — тогда несомненно РС.

Доброго времени суток! Прошу помочь, нужно изменить реквизиты элементов справочника «ОбъектыПроката» при проведении документа «ОприходываниеОбъектаПроката». Знаю что такой подход не приветствуется, но все же. У меня уже есть объекты проката в справочнике созданные в документе «ПоступлениеОбъектаПроката», а в документе «ОприходываниеОбъектаПроката» нужно дать каждому объекту инвентарный номер и другие характеристики. Вот задание:
На предприятии выполняются следующие бизнес процессы по учету объектов проката:
1. Поступление объекта проката на склад (точку проката) предприятия. Указывается номер документа поступления, дата документа поступления, контрагент – поставщик, договор контрагента – поставщика, склад (точка проката), перечень объектов проката, носитель, количество, цена, сумма. Документ должен выполнять движения с видом «приход» по регистрам накопления «ОстаткиОбъектовПрокатаПредприятия», «ВзаиморасчетыСКонтрагентами».
2. Оприходование объекта проката. На данной операции поступившему объекту проката присваивается инвентарный номер, определяется начальное качество объекта проката, задаются характеристики объекта проката (жанр, страна изготовитель, год изготовления, возрастные ограничения, предельно допустимое количество передач объекта в прокат). Документ должен записать значения в соответствующие реквизиты указанных в документе объектов проката.

пробовал так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Процедура ОбработкаПроведения(Отказ, Режим)
    
    Для Каждого ТекСтрокаХарактиристикиОбъекта Из ХарактиристикиОбъекта Цикл
        Оприходывание = Справочники.ОбъектПроката.ПолучитьОбъект(); 
        Оприходывание.ИнвентарныйНомер = ТекСтрокаХарактиристикиОбъекта.ИнвентарныйНомер;
                Оприходывание.Фильм = ТекСтрокаХарактиристикиОбъекта.Фильм;
        Оприходывание.Качество = ТекСтрокаХарактиристикиОбъекта.Качество;
        Оприходывание.ЦенаЗаСутки =ТекСтрокаХарактиристикиОбъекта.Цена;
        Оприходывание.КоличествоПередачВПрокат = ТекСтрокаХарактиристикиОбъекта.КоличествоПередачВПрокат;
                Оприходывание.Записать();
        КонецЦикла;
 
КонецПроцедуры

Но выдает ошибку, метод ПолучитьОбъект() не обнаружен

Главная страница » Каталог » Программистам » 1С Предприятие 8 » Как изменить значение реквизита, при проведении документа?

Как изменить значение реквизита, при проведении документа?

Изменить значение реквизита, при проведении документа, можно следующим образом.

В Процедуре ПередЗаписью пишем такой код:

Если РежимЗаписи = РежимЗаписиДокумента.Проведение И Не Проведен Тогда


Вконтакте

Facebook

Twitter

Google+

Одноклассники

Мой мир

E-mail


Изменение реквизит справочника при проведении документа в 1С

От:

tiamatinc

 
Дата:  27.05.06 11:08
Оценка:

Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так

Процедура ОбработкаПроведения()
    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
    СпрКаталог.НайтиЭлемент(Тело);
    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
КонецПроцедуры

Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.


Re: Изменение реквизит справочника при проведении документа

От:

dreamZ

 
Дата:  29.05.06 05:01
Оценка:

Думаю,вы не поставили галочку в реквизите справочника «Изменяется документами»… и еще,в док. существует функция УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)
может она вам больше поможет


Re: Изменение реквизит справочника при проведении документа

От:

dreamZ

 
Дата:  29.05.06 05:05
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так


T>

T>Процедура ОбработкаПроведения()
T>    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
T>    СпрКаталог.НайтиЭлемент(Тело);
T>    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
T>КонецПроцедуры
T>



T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

Думаю, у вас не стоит галочка в реквизите справочника «изменяеться документами»… так же есть фун. в док. УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)
может она вам поможет…


Re: Изменение реквизит справочника при проведении документа

От:

OLEGus1

Россия

 
Дата:  29.05.06 05:49
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так


T>

T>Процедура ОбработкаПроведения()
T>    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
T>    СпрКаталог.НайтиЭлемент(Тело);
T>    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
T>КонецПроцедуры
T>



T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

А что за переменная «Клиент»?

Crescite, nos qui vivimus, multiplicamini


Re: Изменение реквизит справочника при проведении документа

От:

Red Bird

Россия

 
Дата:  29.05.06 06:35
Оценка:

Здравствуйте, tiamatinc, Вы писали:
[skip]
T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

Все проще!
1. Если реквизит «Клиент» непериодический, то нужно применить метод Записать:

Процедура ОбработкаПроведения()
    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
    СпрКаталог.НайтиЭлемент(Тело);
    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
    СпрКаталог.Записать();
КонецПроцедуры

2. Если реквизит периодический, то тогда:

Процедура ОбработкаПроведения()
    УстановитьРеквизитСправочника(Тело,"Клиент",Клиент, ДатаДок);
КонецПроцедуры

P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа
(возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).


Re[2]: Изменение реквизит справочника при проведении докумен

От:

tiamatinc

 
Дата:  29.05.06 11:27
Оценка:

Здравствуйте, Red Bird, Вы писали:

RB>P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа

RB> (возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).

Большое спасибо, помогло . А по поводу плохого решения, то оно так и было задумано


Re[3]: Изменение реквизит справочника при проведении докумен

От:

Red Bird

Россия

 
Дата:  29.05.06 12:07
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Здравствуйте, Red Bird, Вы писали:


RB>>P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа

RB>> (возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).

T>Большое спасибо, помогло . А по поводу плохого решения, то оно так и было задумано

Тогда вы должны продумать, что будет когда пользователь сделает отмену проведения:

Процедура ОбработкаУдаленияПроведения()
    //Вернуть ИБ в состояние до проведния документа    
КонецПроцедуры

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

  1. Добрый день!
    Для 1с 8.2
    Есть Справочник «Номенклатура» с реквизитом «СрокГодности».
    и Документ «ПриходнаяНакладная» с табличной частью «Товары» и реквизитом «СрокГодности».
    Надо, чтобы при проведении документа «ПриходнаяНакладная» в справочнике «Номенклатура»
    «СрокГодности» проставлялся из документа «ПриходнаяНакладная».
    Спасибо!


  2. nomad_irk

    Online

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.899
    Симпатии:
    1.035
    Баллы:
    204

  3. Процедура обработки документа следующая:

    Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр ОстаткиТовара Приход
    Движения.ОстаткиТовара.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
    Движение = Движения.ОстаткиТовара.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Товар = ТекСтрокаТовары.Наименование;
    Движение.Склад = Склад;
    Движение.СрокГодности=ТекСтрокаТовары.СрокГодности;
    Движение.Количество = ТекСтрокаТовары.Количество;

    Спр = Справочники.Номенклатура.Выбрать();
    СпрТов = Спр.ПолучитьОбъект();
    СпрТов.СрокГодности = ТекСтрокаТовары.СрокГодности;
    СпрТов.Записать();
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    КонецПроцедуры

    при проведение документа выдается сообщение «Объект НЕ выбран»


  4. nomad_irk

    Online

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.899
    Симпатии:
    1.035
    Баллы:
    204

    А теперь внимательнее прочитайте синтаксис-помощник на тему методов и свойств объекта СправочникВыборка.

    Для какой цели выбирать ВСЮ номенклатуру и изменять срок годности — не совсем понятно, т.к. номенклатура уже содержится в ТЧ документа.

    Что будет, если в ТЧ документа будет две строки с одинаковой номенклатурой и разным значением срока годности?


  5. TerANik

    Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54

    Эк как красиво..
    Купили 100 штук со сроком годности 1 месяц
    Продали из них 50
    Пришло еще 100 штук со сроком годности 2 месяца
    И все оставшиеся 150 шт станут со сроком годности 2 месяца?

  6. Нет!
    Если в ПриходнойНакладной срок меньше, то должен записываться — он.


  7. nomad_irk

    Online

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.899
    Симпатии:
    1.035
    Баллы:
    204

    В любом случае будет изменение одно и того же реквизита разными документами, а время течёт исключительно вперед…..

  8. Спасибо за ОЧЕНЬ МУДРЫЙ ОТВЕТ («а время течёт исключительно вперед….»),
    а я думал в чем причина?


  9. TerANik

    Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.281
    Симпатии:
    98
    Баллы:
    54

    Андрей мы конечно может что то пишем с сарказмом, просто мы в этом видим неправильную методологию.
    1) Я так понял вы совсем начинающий программист?
    2) При проведение этого лучше не делать?
    3) Смотрите ситуация какая, если вы меняете документ? Ввели не ту позицию, удалили, что будет с вашим сроком годности? Он останется?


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Часто в работе возникают ситуации, когда требуется в справочниках или документах изменить большое количество реквизитов или сведений объекта, или выполнить какие-то действия над множеством объектов. В программе 1С 8.3 это можно сделать двумя способами — из формы списка или используя обработку Групповое изменение реквизитов. Рассмотрим оба варианта.

Содержание

  • Групповое изменение реквизитов в 1С 8.3 с использованием формы списка
  • Групповая обработка документов в 1С 8.3 Бухгалтерия 3.0
  • Применение обработки Групповое изменение реквизитов

Этот вариант довольно прост, но его использование удобно для небольшого количества объектов или групп объектов. Предположим, что мы ошибочно в номенклатуре указали не ту единицу измерения и нам необходимо ее изменить.

В нашем примере изменим единицу измерения Шт на Кг.

Для того чтобы выделить несколько элементов, при их выборе удерживаем кнопку Shift или Ctrl и нажав правой кнопкой мышки выбираем пункт Изменить выделенные.

В окне отобразятся реквизиты, которые мы можем изменить. Отмечаем галочкой реквизит Единица и устанавливаем правильную, в нашем примере Кг. После нажатия кнопки Изменить реквизиты выполнится их замена во всех выделенных нами элементах.

Замена выполнена.

Предположим, что нам необходимо изменить реквизиты сразу у нескольких групп объектов, включая их подчиненные элементы. Для этого в кнопке Дополнительные параметры достаточно установить галочку Обрабатывать дочерние элементы. В этом случае замена указанных реквизитов произойдет во всех подчиненных элементах, иначе программа 1С 8.3 обработает только саму группу.

Групповая обработка документов в 1С 8.3 Бухгалтерия 3.0

Обработка Групповое изменение реквизитов в 1С 8.3 имеет больше функциональных возможностей. Она позволяет массово изменять табличные части и реквизиты выбранных объектов — справочников, документов. Она имеется во всех программах 1С. Так, в программе 1С 8.3 Бухгалтерия предприятия 3.0 ее найти можно в разделе меню Администрирование — Обслуживание.

Далее открываем раздел Корректировка данных и видим нужную нам ссылку Групповое изменение реквизитов.

Если вы по каким-то причинам не можете найти обработку, то она также доступна через раздел Все функции.

Если его не видно в меню, включить его можно в разделе Сервис — Параметры, установив галочку Отображать команду Все функции.

Применение обработки Групповое изменение реквизитов

Ситуации для применения обработки могут быть различные, мы для примера рассмотрим изменение договора во всех введенных документах. Сформировав Оборотно-сальдовую ведомость по счету 60 — Расчеты с поставщиками и подрядчиками (меню Отчеты — Оборотно-сальдовая ведомость по счету) мы видим, что при проведении документов с контрагентом ФГУП Почта России за год ошибочно был использован старый договор и нам надо заменить его на договор 2018 года. Такая ошибка может возникнуть вследствие невнимательного копирования документов.

Для его изменения воспользуемся обработкой Групповое изменение реквизитов.

В поле выбора элементов для изменения, используя кнопку выбора указываем реквизит — документ Поступление (акты, накладные), т.к. именно в нем нам необходимо произвести замену реквизита Договор. При этом, в форме выбора можно найти нужную строчку, начав вводить текст и программа 1С 8.3 автоматически осуществит поиск вводимого элемента.

Далее, нам необходимо из всех документов отобрать документы по контрагенту ФГУП Почта России за период 2018 год. Для этого, нажав ссылку Все элементы, настроим отбор. Нажав кнопку Добавить условия отбора, указываем контрагент равно ФГУП Почта России и Дата, Больше, Начало этого года.

Далее нажав кнопку ОК мы ищем в реквизитах поле Договор и устанавливаем новое значение Договор  Почта России от 01.01.2018.

Хотелось бы обратить внимание на закладки формы, т.к. они зависят от вида выбранного элемента. Например, если бы нам надо было изменить договор в документе Списание с расчетного счета, то этот реквизит находится в табличной части документа и для его изменения нам надо отметить его на закладке Расшифровка платежа.

После обработки документов, снова формируем Оборотно-сальдовую ведомость и проверяем договор. Все операции отражены на нужном договоре.

Кроме замены реквизитов, с помощью данной обработки можно устанавливать и снимать пометку на удаление на группу объектов, отметку о проведении документов. Но по умолчанию эти функции не доступны. Чтобы они появились в списке возможностей нужно нажав кнопку Дополнительные параметры в разделе Специальные возможности установить галочку Показывать служебные реквизиты.

После чего в нашем списке станут доступны эти действия.

См. также:

  • Групповое перепроведение документов в 1С 8.3 Бухгалтерия 3.0
  • Как удалить помеченные на удаление документы в 1С 8.3
  • Сбилась нумерация документов в 1С 8.3: как исправить
  • Тестирование и исправление базы 1С 8.3: какие галочки ставить
  • Горячие клавиши в 1С
  • Как выгрузить документ, отчет из 1С 8.3 в Excel
  • Выгрузка в 1С из xml: как выгрузить данные из 1С 8.3 и загрузить в 1С 8.3

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Групповая обработка справочников и документов это очень удобный инструмент платформы 1С, предназначенный для массового изменения реквизитов (в том числе дополнительных) в документах, справочниках а также их табличных частях.

Групповое изменение реквизитов в списках документов и списках справочников

Перед тем как искать групповую обработку справочников и и документов, предлагаю вам воспользоваться возможностью редактировать реквизиты документов и справочников которая появилась только в 1С 8.3 на управляемых формах и есть сейчас в большинстве типовых конфигураций.

Заключается она в том, что вы можете находясь прямо в списке документов или списке справочника выделить нужные элементы зажав кнопку «Shift» или «Ctrl» и щелкая по ним мышью. А затем нажать на правую кнопку мыши и в выпавшем меню нажать «Изменить выделенные».

В открывшемся окне вы можете менять реквизиты, проводить, отменять проведение, помечать на удаление. Если этих возможностей для вас недостаточно, если нужен гибкий отбор элементов или просто их очень много, тогда уже лучше воспользоваться групповой обработкой справочников и документов.

Например в конфигурациях УТ 11 и Бухгалтерия 3.0 она находится в меню НСИ и Администрирование/ Обслуживание/ Корректировка данных/ Групповое изменение реквизитов.

Администрирование

Меню Администрирование

Т.е. по сути данная обработка в 1C 8.3 называется «Групповое изменение реквизитов».

Обслуживание

Меню Обслуживание

Как поменять реквизит сразу в нескольких элементах справочника/документах?

Рассмотрим на реальном примере. Смена ставки НДС. Не так давно всем кто использовал ставку НДС 18 % пришлось менять ее на 20 %. У тех кто установил последние обновления, смена ставки произошла автоматически, но не все устанавливают обновления. Ставка НДС в большинстве конфигураций указывается в карточке номенклатуры, т.е. ставка НДС это реквизит справочника номенклатуры, а значит чтобы ее заменить мы можем воспользоваться групповой обработкой. Что нам для этого нужно сделать:

  1. Открываем обработку и указываем в ней, что мы хотим менять справочник номенклатура

    Выбор элементов для изменения

    Выбор справочника

  2. Задаем отбор для элементов которые мы будем менять. Для этого нужно нажать на ссылку «Все элементы», после чего вам откроется окно в котором можно задать параметры отбора. В нашем случае, это все элементы номенклатуры в которых ставка НДС 18 %. Добавим это условие по кнопке «Добавить условие отбора». И нажмем ОК для того чтобы этот отбор применился.

    Отбор

    Условия отбора

  3. Далее нам нужно задать на что мы собираемся поменять данный реквизит. Ищем в таблице реквизитов нужный реквизит, в нашем примере — Ставка НДС. И задаем его новое значение — 20 %.

    Значение реквизита

    Новое значение реквизита

  4. Теперь нам осталось только нажать на кнопку «Изменить реквизиты» и дождаться завершения работы обработки. После чего мы увидим вот такую надпись.

    Реквизиты изменены

    Окончание работы обработки

    Готово, реквизиты изменены. Обработка сэкономила нам кучу времени. Только представьте себе сколько времени вы бы вручную меняли 195 элементов:)

Как поменять (заполнить) значения дополнительного реквизита справочника/документа?

Точно также как и с обычными реквизитами. Рассмотрим на примере. Допустим мы создали дополнительный реквизит «Категория» для номенклатуры. Категория может быть «Стандарт» либо «Расширенный». Реквизит изначально у нас пустой во всей номенклатуре, как же нам быстро его проставить для всех элементов?

  1. Открываем групповую обработку и задаем отбор, который позволит нам вычленить те элементы, для которых мы хотим установить значение доп. реквизита «Стандарт», допустим такие:

    Отбор

    Условия отбора

  2. Далее ищем в списке наш дополнительный реквизит и задаем ему нужное значение:

    Новое значение

    Новое значение доп. реквизита

  3. Далее проделываем то же самое для заполнения дополнительного реквизита в номенклатуре следующей категории.

Готово — вы проставили значения дополнительных реквизитов во всей номенклатуре и не потратили много времени.

Как поменять реквизит в табличной части документа/справочника?

Рассмотрим также на примере — допустим вы что-то перепутали и в течение длительного времени выбирали не ту номенклатуру в документах, как теперь это исправить? Это также можно сделать при помощи групповой обработки. Если вы хотите менять реквизиты в документах или их табличных частях — сначала нужно отменить проведение этих документов, иначе сменить реквизит не удастся.

  1. Открываем обработку. Выбираем тип документов в которых вы хотите поменять номенклатуру. Мы выберем Реализации. После чего рядом с вкладкой реквизиты появятся также и вкладки с табличными частями, которые есть в данных документах.

    Выбор документов

    Выбор типа документов для изменения

  2. Далее мы задаем отбор — отобрать все реализации — где в табличной части Товары наша ошибочно выбранная номенклатура:

    Отбор

    Отбор для табличной части

  3. Нажимаем ОК и на вкладке «Товары» задаем ту номенклатуру на которую нужно заменить.

    Новый реквизит

    Новый реквизит табличной части

  4. Нажимаем «Изменить реквизиты» и дожидаемся окончания работы обработки.
  5. Проводим документы.

Готово — мы поменяли реквизит в табличной части документа и сделали все это автоматически! Если вы хотите узнать какие еще есть обработки, которые могут облегчить вам жизнь, записывайтесь на мой онлайн курс — «Сам себе Программист 1С»).

Понравилась статья? Поделить с друзьями:
  • Автобус проехал треть пути со скоростью 40 км ч
  • 1с проверить наличие общего реквизита у объекта
  • Акционерное общество управляющая компания старт
  • Азбука вкуса щелковское шоссе дом 8 часы работы
  • 1с проверка заполнения реквизита при проведении