Надо чтобы в документе ПередачаМатериалаВЭксплуатацию у Номенклатуры Шины автоматически ставился номер счета МЦ5 вместо МЦ4. Есть код как это делается с базы БП 2.0 (я работаю в БП 3.0). Но что куда прописывать не пойму.
---
Проводка.СчетДт = СтрокаПартии.КорСчетСписания;
ну вот тут надо присваивать
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.05");
как то так. я честно говоря не знаю что такое мцо5поэтому найдите где он там есть, в планах счетов или еще где, и присваивайте
---
Находите этот документ, в модуле объекта есть процедура, обработкапроведения. Скиньте этот код
---
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
найдите эту функцию, для этого нажмите на строку, и нажмите ф10, и смотрите как там че заполняется

там для разных, разные функции, ищите у чему относится ваш документ.
---
жму ф10 ничего не происходит, да и кнопка "Шагнуть через" не активна
---
Вы вообще отладкой когда-нибудь пользовались?
---
нет. Да я вообще не программист, больше по аналитической части, но вот дали такое вот задание. Неделю тут мучался с внешней обработкой, сделал же. И тут какими то силами надо справляться.
---
Ну шины мои идут в "Инвентарь и хозяйственные принадлежности" это точно (если Вы об этом)
---
Да, об этом. вот код

```1c
    // Инвентарь и хозяйственные принадлежности
    УчетТоваров.СформироватьДвиженияСписаниеТоваров(
    ТаблицаСписанныйИнвентарь,
    ПараметрыПроведения.СписаниеИнвентаряРеквизиты,
    Движения, Отказ);
    УчетМатериаловВЭксплуатации.СформироватьДвиженияПередачаИнвентаряВЭксплуатацию(
    ПараметрыПроведения.ПередачаИнвентаряТаблица,
    ТаблицаСписанныйИнвентарь,
    ПараметрыПроведения.ПередачаИнвентаряРеквизиты,
    Движения, Отказ);
```
 Тут надо пройтись по всем функциям:
УчетТоваров.СформироватьДвиженияСписаниеТоваров
УчетМатериаловВЭксплуатации.СформироватьДвиженияПередачаИнвентаряВЭксплуатацию

и посмотреть что там задается в виде номера счета.
чтоб шагнуть в функцию надо УчетТоваров.СформироватьДви(поставить курсор сюда и нажать ф10)женияСписаниеТоваров
или же открыть УчетТоваров, и в модуле менеджера эта функция будет
---
Если не сложно, то посмотрите пожалуйста. Вот этот код. Что именно тут надо смотреть не знаю.
---
Проводка.СчетДт = СтрокаПартии.КорСчетСписания;
ну вот тут надо присваивать
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.05");
как то так. я честно говоря не знаю что такое мцо5поэтому найдите где он там есть, в планах счетов или еще где, и присваивайте
---
Тут уже сложности не возникнет, спасибо тебе большое!
---
Да не за что))
---
И это из УчетМатериалов
---
А это списание товара, похоже тут нет счета
---
Код который использовался в 2.0:
---
Программно поменять проводки, самое простое ...

Как программно изменить проводку в Регистре Бухгалтерии?

```1c
    Код 1C v 8.х
    //Необходимо изменить существующие проводки и добавить значение Субконто

    Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();

    Набор.Отбор.Регистратор.Установить(Объект.Ссылка);

    Набор.Прочитать();

    Для каждого Запись из Набор Цикл

    Если Запись.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами Тогда

    // для переборов субконто

    Запись.СубконтоКт[Запись.СчетКт.ВидыСубконто[1]] = Объект.ДоговорКонтрагента;

    // указывая конкретное значение

    //Запись.СубконтоКт.Договоры = Объект.ДоговорКонтрагента;

    КонецЕСли;

    КонецЦикла;

    Набор.Записать();

    Код 1C v 8.х
    // Перебор и замена реквизитов в проводках операции

    НаборЗаписейБУ = РегистрыБухгалтерии.Типовой.СоздатьНаборЗаписей();

    НаборЗаписейБУ.Отбор.Регистратор.Использование = Истина;

    НаборЗаписейБУ.Отбор.Регистратор.Значение = ОперацияБух;

    НаборЗаписейБУ.Прочитать();

    Для Каждого ЗаписьБУ Из НаборЗаписейБУ Цикл

    Если (ЗаписьБУ.СчетКт = ПланыСчетов.Типовой.ИндивидуальныйПодоходныйНалог) или

    (ЗаписьБУ.СчетКт = ПланыСчетов.Типовой.СоциальныйНалог) Тогда

    ВидСубк = ЗаписьБУ.СчетКт.ВидыСубконто[2].ВидСубконто;

    ЗаписьБУ.СубконтоКт.Вставить(ВидСубк, Контрагент);

    ЕстьИзменения = Истина;

    КонецЕсли;

    КонецЦикла;

    Если ЕстьИзменения Тогда

    НаборЗаписейБУ.Записать();

    КонецЕсли;
```
---
неужели вы думаете если вы насоздаете тучу тем , вам быстрее придет решение?
Зачем двойник
https://forum.infostart.ru/forum9/topic215632/
?????????
---
ну тут уже хотя бы ответили. Другого способа я не знаю. Извиняюсь конечно.
---
Ну смотрите, тут два подхода, первый это вам нужно найти место где делаются записи в проводки из документа и в этом месте вы уже и добавите свое условие. Второй подход, после проведения, верней в этой процедуре в самом конце написать обработку движений:

```1c
    ТаблицаДвижений = ЭтотОбъект.Движения.Хозрасчетный.Выгрузить();
    // далее считываете таблицы меняете счет и обратно загружаете
    ЭтотОбъект.Движения.Хозрасчетный.Загрузить(ТаблицаДвижений);
```

Это подойдет в том случае если в процедура которые используется в обработке проведения нету записи регистра. Если она есть то нужно получить набор записей его прочитать и изменить и обратно записать