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

Изменение записи в регистре сведений, частая задача для программиста 1с в заметке рассмотрим несколько способов изменить запись в регистре. Рассмотрим два варианта создание набора записей и установка отбора и создание менеджера записей.

Изменение записи в регистре сведений через набор записей и отбор

В примере ниже решим следующую задачу:

Оператор неверно записал штрихкод для товара с цветом и размером в базу данных. Необходимо зная товар (Номенклатура) и цвет с размером (Характеристика) найти штрихкод и исправить его. Неверный штрихкод мы не знаем.

Для решения задачи поступим следующим образом:

  1. Создадим набор записей регистра сведений
  2. Установим отбор
  3. Прочитаем запись
  4. Выбираем следующее действие в зависимости от количества найденных записей
    1. Если записи не найдены добавляем новую запись и добавляем штрихкод
    2. Если найдена 1 запись, то обновляем в ней штрихкод
    3. Если найдено несколько записей ничего не делаем, потому что не знаем какая запись с ошибкой
  5. Сообщаем результат работы
  6. Записываем изменения
НаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();  			
НаборЗаписей.Отбор.Номенклатура.Установить(Номенклатура);
НаборЗаписей.Отбор.Характеристика.Установить(Характеристика);
НаборЗаписей.Прочитать();

Если НаборЗаписей.Количество() = 0 Тогда
	НовыйНомер = НаборЗаписей.Добавить();
	НовыйНомер.Номенклатура		= Номенклатура;
	НовыйНомер.Характеристика	= Характеристика;
	НовыйНомер.Штрихкод			= Штрихкод;
	Текст = "Штрихкод записан, но у номенклатуры не было штрихкода";
ИначеЕсли НаборЗаписей.Количество() = 1 Тогда
	НовыйНомер = НаборЗаписей[0];
	НовыйНомер.Штрихкод = Штрихкод;
	Текст = "Штрихкод Исправлен";
ИначеЕсли НаборЗаписей.Количество() > 1 Тогда
	Текст = "У номенклатуры несколько штрихкодов, операция не выполнена";
КонецЕсли;

Сообщить(Текст);
НаборЗаписей.Записать();

Рассмотрим ещё один пример в котором установим курс валют для валюты USD.

КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДатаСеанса()));
НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
    НовыйКурс = НаборКурсов.Добавить();
    НовыйКурс.Валюта = Доллар;
    НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() > 0 Тогда
    ПоказатьПредупреждение("Курс валюты задается один раз в день.", 60);
    Возврат;
КонецЕсли;

НовыйКурс.Курс = 59.13;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();   

Изменение записи через менеджер записей

Реализуем внесение штрихкода номенклатуры программно м помощью менеджера записи. Порядок действий следующий:

  1. Создаем менеджер записей
  2. Вносим данные о номенклатуре штрихкоде и характеристике
  3. Пытаемся записать
МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Номенклатура = Номенклатура;
МенеджерЗаписи.Штрихкод  = Штрихкод;
Если ЗначениеЗаполнено(Характеристика) Тогда
	МенеджерЗаписи.Характеристика = Характеристика;
Иначе    
	МенеджерЗаписи.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
КонецЕсли;
	
Попытка
	МенеджерЗаписи.Записать();
Исключение
	Сообщить(ОписаниеОшибки());
КонецПопытки;

Реализуем внесение штрихкода, через менеджер записей с отбором.

  1. Создадим менеджер записи регистра сведений
  2. Установим отборы
  3. Прочитаем регистр
  4. Далее действуем в зависимости от того найдена запись в регистре или нет
    1. Если запись найдена заменяем штрихкод
    2. Если запись не найдена заполняем все реквизиты
  5. Записываем запись в регистр
МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Номенклатура		= Номенклатура;
МенеджерЗаписи.Характеристика	= Характеристика;
МенеджерЗаписи.Прочитать();

Если МенеджерЗаписи.Выбран() Тогда
	МенеджерЗаписи.Штрихкод			= Штрихкод;
Иначе
	МенеджерЗаписи.Номенклатура		= Номенклатура;
	МенеджерЗаписи.Характеристика	= Характеристика;
	МенеджерЗаписи.Штрихкод			= Штрихкод;
КонецЕсли;

Попытка
	МенеджерЗаписи.Записать();
Исключение
	Сообщить(ОписаниеОшибки());
КонецПопытки;

Дополнительная информация по теме:

  1. Про регистры сведений на сайте v8.1c – ссылка
  2. Заметки про программирование на платформе 1с – ссылка
<?php // Полная загрузка сервисных книжек, создан 2023-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='

Related Posts

  • Получение логина и пароля техподдержки 1С из базы
  • Класс для вывода отчета в ExcelКласс для вывода отчета в Excel
  • Счет-фактура для УПП
  • Библиотека классов для создания внешней компоненты 1С на C#
  • Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
  • Прайс-лист с артикулом в отдельной колонке

29 Comments

  1. (0) Так для 8.1 или 8.2. Если для оботх

    Reply

  2. (0) Так для 8.1 или только 8.2? Если для обоих, добавь второй файл

    Reply

  3. Под 8.2 при отключенном режиме совместимости не работает.

    Не надо было её на построителе отчета делать.

    Reply

  4. обработка очень полезная, но для своих целей пришлось доработать ее и универсализировать.

    внедрил возможность обработки РС, подчиненных регистраторам.

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

    С регистрами накопления и бухгалтерии работа отлажена, с регистрами расчета возможно баги, ибо активно эту тему не использовал.

    прилагаю свой вариант на суд общественности:

    Reply

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

    Reply

  6. (5) tiwolf, скачала Вашу обработку. Идея хороша, но вот отбор по регистратору слишком жесткий(((

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

    Reply

  7. спасибо ludai за ответ.

    на самом деле ничего жесткого в отборе по регистратору нет.

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

    почему-то при использовании обработки в своей практике этот момент не обнаружился, видимо моё использование было более узким ))

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

    собственно выкладываю исправленную версию на 8.1 и версию для 8.2, так как с недавних пор перешли на новую платформу, чего и вам желаем.

    Reply

  8. добавлю, что изменение подчиненных регистратору регистров предполагается производить ИСКЛЮЧИТЕЛЬНО в режиме отбора по регистратору с видом сравнения «РАВНО»… хотя при желании можно достучаться до поля ввода вида сравнения и поменять «РАВНО» на что — нибудь другое, но на это обработка не рассчитывалась и этот момент не настраивался… так что если у кого-то возникнет желание доработать и этот момент, то флаг вам в руки, я не против 🙂

    Reply

  9. Скачал с

    http://gmixdev.ru

    последнюю версию в УТ10.3 прекрасно работает.

    (8) tiwolf, А почему отдельно не опубликовать? Тоже смотрел , не плохое продолжение данной разработки!

    Reply

  10. (10) отдельно публиковать не вижу необходимости. скорее это допиливание чужой разработки. хотя и очень объёмное

    Reply

  11. В самописной конфиге 8.2 сругалось на «ЦветаСтиля.ТекстВторостепеннойНадписи». Таковой отсутствует.

    (Если это будет полезно для допиливания универсальности.)

    Reply

  12. (11) tiwolf, если нетрудно , подскажите, как можно отобрать записи в регистре расчета , в которых сотрудник не соответствует физ лицу (так перенеслось из 77 , что в записи сотрудник Иванов , а физ лицо Петров)и если это возможно вашей обработкой, то еще и исправить : взять физ лицо , указанное в сотруднике.

    Reply

  13. Спасибо! как раз то что искал. часто пользовался групповой обработкой справочников и документов, а обработки для регистров не было и давно искал.

    Reply

  14. Плюсанул. Вещь нужная. Почему-то не могу изменить Период в периодическом зависимом регистре сведений. Его вообще можно изменить этой обработкой? Если да, то как? Спасибо!

    Reply

  15. Отлично все гениальное просто!

    Reply

  16. Ставлю минус.

    Идея использовать для фильтрации построитель не верна!

    Построитель не выбирает для фильтрации ресурсы и реквизиты регистра, а только измерения.

    А кто сказал что отфильтровывать записи нужно только по измерениям?

    Reply

  17. А кто сказал что отфильтровывать записи нужно только по измерениям?

    Энто точно, присоединюсь к сказанному! а так конечной плюс!

    Reply

  18. Ваша обработка может изменить Контактную информацию? Надо автоматизировать изменение адреса у большой группы сотрудников, неправильно введен населенный пункт, необходимо у каждого сотрудника изменить 3 адреса. Видела много подобных обработок, но ни одна не редактирует Контактную информацию.

    Reply

  19. спасибо за обработку!

    Reply

  20. Спасибо, обработка облегчила жизнь

    Reply

  21. (19) ГердаКай, не полностью понятно что вы собираетесь менять в адресе, но чисто гипотетически (телепатически) предположу, что не подойдёт. Скорее всего необходимо добавить функцию выполнения произвольного кода для обработки ПРЕДСТАВЛЕНИЯ адреса.

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

    Reply

  22. Спасибо, скачал для 8.1

    Reply

  23. Хорошая обработка, у меня заработала — я про ту что на 8.2 🙂

    Reply

  24. так что автору респект и уважуха..

    Reply

  25. Пытаюсь изменить записи регистра сведений.

    Отбор установлен по периоду.

    «Показать результат отбора» — показывает правильно.

    По «Выполнить» — ошибка:

    {Форма.Форма.Форма(323)}: Поле объекта не обнаружено (Пометка_Период)

    Если СтрокаТаблицы[«Пометка_» + Эл_отбора.ПутьКДанным] = Истина Тогда//Эл_отбора.ПутьКДанным=КолонкаРегистра Тогда

    Значения в регистре не меняются.

    Попробовал удаление с тем-же отбором — удаляет нормально.

    Использую последнюю версию обработки.для 8.2

    Reply

  26. (26) Все кто нашел мою обработку, советую воспользоваться реализацией автора

    gmix

    Когда-то у меня была срочная потребность в большом количестве изменений регистров сведений, на тот момент нашел чуть ли не единственную обработку от Gmix, но она умела изменять только один реквизит, что меня не устраивало. Я её немного модифицировал и выложил с согласия автора, т.к. аналогов тогда практически не встретил. Автор в итоге доработал свою обработку примерно с этим же функционалом, но в более «красивом» исполнении.

    Работает только на обычных формах!

    Reply

  27. Действительно, значения в регистре не меняются…

    Reply

  28. Для УФ на 8.3 не работает?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Анализируем вид регистра для выбора варианта редактирования записей

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

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

После того, как Вы определились с режимом записи изменяемого регистра сведений, Вы можете выбрать вариант изменения записей регистра.

Изменяем записи в независимом регистре сведений

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

К примеру, нам необходимо перезаписать курс валюты. В первом варианте мы установим курс валюты без анализа уже записанных данных:

Процедура УстановитьКурсВалюты(Период, Валюта, Курс, Кратность) Запись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Запись.Период = Период; Запись.Валюта = Валюта; Запись.Курс = Курс; Запись.Кратность = Кратность; Запись.Записать(); КонецПроцедуры

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

Теперь, используя объект МенеджерЗаписи, мы перезапишем только курс валюты. Для этого сперва установим отбор по периоду и валюте и прочитаем данные из регистра сведений:

Процедура УстановитьКурсВалюты(Период, Валюта, Курс) Запись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Запись.Период = Период; Запись.Валюта = Валюта; Запись.Прочитать(); Если Запись.Выбран() Тогда Запись.Курс = Курс; Запись.Записать(); КонецЕсли; КонецПроцедуры

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

А теперь давайте выполним аналогичные действия с использованием объекта НаборЗаписей для изменения данных в регистре сведений:

Процедура УстановитьКурсВалюты(Период, Валюта, Курс) Набор = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); Набор.Отбор.Период.Установить(Период); Набор.Отбор.Валюта.Установить(Валюта); Набор.Прочитать(); Если Набор.Количество() Тогда Запись = Набор[0]; Запись.Курс = Курс; Набор.Записать(); КонецЕсли; КонецПроцедуры

В примере выше мы создаем набор записей и устанавливаем для него отбор по измерениям и периоду. После установки отбора считываем записи. В результате в наборе будут ранее записанные записи. Т.к. мы установили полный отбор по измерениям (периоду и валюте) — максимальное количество записей в отборе равно 1. Поэтому мы проверяем набор на количество и если запись есть — устанавливаем новый курс валюты.

Все примеры, описанные выше, выполнят одинаковые действия по установке нового курса валют. Выбирайте вариант, который Вам более удобен и понятен.

Изменяем записи в регистре с подчинением регистратору

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

В качестве примера будем использовать регистр сведений ЦеныНоменклатуры. Ниже показаны свойства этого регистра:

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

Процедура УвеличитьЦенуНоменклатуры(Регистратор, Номенклатура, ВидЦеныОптовая) Набор = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(Регистратор); Набор.Прочитать(); Для Каждого Запись Из Набор Цикл Если Запись.Номенклатура = Номенклатура И Запись.ВидЦены = ВидЦеныОптовая Тогда Запись.Цена = Запись.Цена * 1.3; КонецЕсли; КонецЦикла; Если Набор.Модифицированность() Тогда Набор.Записать(); КонецЕсли; КонецПроцедуры

Вначале мы устанавливаем отбор по регистратору. После указания отбора считываем записи по этому регистратору и в обходе набора записей ищем записи по определенной номенклатуре и с оптовым видом цен. Если цена хоть в одной записи будет изменена — набор будет модифицирован. Таким образом мы будем записывать только изменившиеся данные.

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

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

Если сравните этот пример с первым — изменилось только определение регистратора. Если первый пример изменял данные только в одном регистраторе — последний пример изменит записи по всем регистраторам в регистре сведений.

На этих небольших примерах мы рассмотрели основные особенности изменения отдельных записей в регистрах сведений. Каждый регистр требует своего особенного подхода — но если Вы поймете общую последовательность действий по изменению регистра сведений, сложностей по работе с регистрами у Вас не будет.

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

Наши разработки:

Обработка «Просмотр технологического журнала» (ИТС, 1С 8.3)    оглавление    Обработка «История выполнения фоновых заданий в виде диаграмм» (Сертаков В.С., 1С 8.3)

2021-02-04T12:27:19+00:00

Источник ИТС

Описание

Внешняя обработка «Групповое изменение реквизитов» позволяет массово изменять реквизиты и табличные части в выбранных справочниках и документах.

Помимо изменения реквизитов, имеется возможность изменения дополнительных реквизитов и сведений, если они есть у объектов.

Для администратора доступна возможность выполнять произвольный алгоритм на встроенном языке для выбранной группы объектов. Это позволяет оперативно выполнять «мелкий ремонт» для исправления некорректных данных в программе вместо трудоемкой разработки внешних обработок и конфигурирования.

Обработка предназначена для разработчиков и администраторов данных.

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

Если у вас типовая конфигурация (например, «Бухгалтерия предприятия»), то обработка «Групповое изменение реквизитов» уже встроена в неё, ничего скачивать не нужно.

Открываем меню «Функции для технического специалиста…» (у вас нет этого пункта?):

В открывшемся окне раскрываем раздел «Обработки» (либо используем поиск) и выбираем пункт «Групповое изменение реквизитов»:

Готово.

Скачиваем с ИТС

Этот вариант следует использовать только в том случае, если у вас не типовая конфигурация и в ней нет встроенной обработки «Групповое изменение реквизитов».

Скачать обработку «Групповое изменение реквизитов» для 1С 8.3

Я скачал обработку, как мне её открыть в 1C?

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

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

Обработка «Просмотр технологического журнала» (ИТС, 1С 8.3)    оглавление    Обработка «История выполнения фоновых заданий в виде диаграмм» (Сертаков В.С., 1С 8.3)

Понравилась статья? Поделить с друзьями:
  • Групповое изменение реквизитов тип номенклатуры
  • Гта 5 бизнес свалка машин как уничтожать машины
  • Гу мвд россии по красноярскому краю часы работы
  • Гу мвд россии по самарской области время работы
  • Гу мчс россии по астраханской области реквизиты