Помогите пожалуйста с проводками
Платформа - 8.3.6
Конфигурация - Бухгалтерия предприятия, редакция 3.0.43.50

В конфигурацию добавлены несколько своих справочников

Документ - Приходный кассовый ордер (вид операции - Розничная выручка)

Склады учитываются на разных счетах (у оптовых складов свой счет, у розничных свой).
При формировании проводок он выбирает автоматом стандартный счет (НТТ), а нужно чтобы подставлял счет склада (доработка в справочнике "склады" подвязка счета). Счета НДС выручки тоже разные (10% и 18% разные счета).

Необходимо в МОДУЛЕ ДОКУМЕНТА (только в модуле документа!!!, чтобы при обновлении не мыкаться по всей базе) при виде операции - Розничная выручка закомментировать стандартные проводки и написать свои, но движения по регистрам оставить стандартные. Опыта в написании проводок пока нет.

Очень надеюсь на вашу помощь.
Базу прилагаю. (сюда не прикрепилась, вот внешняя ссылка - ссылка на базу
Картинки как должно быть прилагаю.
---
qqwweerrttyy160679,
---
qqwweerrttyy160679,

В модуле документа

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

 // ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
---
qqwweerrttyy160679, в личке ссылка на базу с готовыми проводками)
---
config, поздравляю, теперь, как честный человек, вы обязаны жениться на Машеньке. :-)
---
Cooler, Ирина на Машеньке? :)
---
dj_serega, упс, недоглядел...

Хотя, у Ирины слева от ника розовый значочек, а у Машеньки - не розовый, а зелененький (пусть и не синий, как у нас с вами) так что возможны варианты... ;-)
---
dj_serega,
уважаемый, вы не следите за прогрессом, нонче все возможно :)
---
qqwweerrttyy160679, Чтобы при обновлении не мыкаться нужно подписку на проведение документа создать, сформированные проводки очистить или модернизировать (в зависимости от глубины вмешательства) и записать те, которые считаете правильными. А вообще должен быть регистр сведений с настройками счетов учета номенклатуры. В УПП помимо собственно номенклатуры включает склады и организации.
---
РегистрБухгалтерии.Движения.Добавить и пошло поехало.
---
alljoke,
Вот на примере "Пошло, поехало и интересует" даже базу не потрудилась прикрепить
---
Нужели никому проводки не приходилось править в бухгалтерии?
---
qqwweerrttyy160679, Нужели никому проводки не приходилось править в бухгалтерии? За стартмани - вряд ли.
---
Cooler,
Спасибо что :( "не отказал" :(
---
qqwweerrttyy160679, могу помочь дописать, но только не так, как Вы просите!
---
qqwweerrttyy160679,
---
1) Создаете подписку на событие ПриПроВеденииДокументаВашДокумент
2) Создаете общий модуль в котором будет хранится процедура подписки на событие
3) Для редактирования проводок Хозрасчетного пишите приблизительно такой код:

```1c
    Процедура Доп_ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт

    //Документ: КорректировкаПоступления
    Если ТипЗнч(Источник)=Тип("ДокументОбъект.КорректировкаПоступления") Тогда

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

    Для Каждого СтрДв из Набор Цикл
    Если СтрДв.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01") И СтрДв.Сумма < Число(0) Тогда

    НовСтрДв=Набор.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтрДв,СтрДв);

    НовСтрДв.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01");
    НовСтрДв.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.02");

    //СубконтоКт1
    НовСтрДв.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = СтрДв.СубконтоКт.Контрагенты;
    //СубконтоКт2
    НовСтрДв.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = СтрДв.СубконтоКт.Договоры;

    //СубконтоДт1
    НовСтрДв.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = СтрДв.СубконтоКт.Контрагенты;
    //СубконтоДт2
    НовСтрДв.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = СтрДв.СубконтоКт.Договоры;
    НовСтрДв.Сумма = СтрДв.Сумма;
    КонецЕсли;
    КонецЦикла;
    Набор.Записать();

    //Документ: Поступление товаров и услуг
    //// Дополнения проводок корреспондирующих с 50.03
    ИначеЕсли ТипЗнч(Источник)=Тип("ДокументОбъект.ПоступлениеТоваровУслуг") Тогда

    НаборБух = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    НаборБух.Отбор.Регистратор.Значение=Источник.Ссылка;
    НаборБух.Прочитать();
    Для Каждого СтрДвБух из НаборБух Цикл
    Если СтрДвБух.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("50.03")
    И ЗначениеЗаполнено(СтрДвБух.СубконтоДт.ДенежныеДокументы) Тогда
    СтрДвБух.КоличествоДт = Число("1");
    КонецЕсли;
    КонецЦикла;
    НаборБух.Записать();
    КонецЕсли
```
---
Еще пример программного редактирования проводок хозрасчетного для документа "Возврат материалов из эксплуатации":

```1c
    // Документ: Возврат материалов из эксплуатации
    ИначеЕсли (Источник.ОтражатьВБухгалтерскомУчете) и ТипЗнч(Источник)=Тип("ДокументОбъект.ВозвратМатериаловИзЭксплуатации") Тогда

    Если Источник.Материалы[0].СчетПередачиБУ = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.11.1") Тогда

    Набор=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Значение=Источник.Ссылка;
    Набор.Прочитать();
    Набор.Очистить();
    ТабЧастьДок = Источник.Материалы.Выгрузить();

    Для Каждого СтрДв из ТабЧастьДок Цикл
    Дв=Набор.Добавить();
    Дв.Период=Источник.Дата;
    Дв.Организация=Источник.Организация;
    Дв.Регистратор = Источник.Ссылка;
    Дв.СчетДт = СтрДв.СчетУчетаБУ;
    Дв.СчетКт = СтрДв.СчетПередачиБУ;

    //СубконтоКт1
    Дв.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = СтрДв.Номенклатура;
    //СубконтоКт2
    Дв.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизации] = СтрДв.ФизЛицо;
    //СубконтоДт1
    Дв.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = СтрДв.Номенклатура;
    //СубконтоДт2
    //Склад встаёт автоматом - его указывать не обязательно.
    Дв.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады] = Источник.Склад;

    Дв.КоличествоДт=0;
    Если СтрДв.Количество<>0 Тогда
    Дв.КоличествоДт=СтрДв.Количество;
    Конецесли;

    Дв.КоличествоКт=0;
    Если СтрДв.Количество<>0<>NULL тогда
    Дв.КоличествоКт=СтрДв.Количество;
    КонецЕсли;

    Дв.Содержание = "Возврат из эксплуатации по фиксированной стоимости";
    КонецЦикла;
    Набор.Записать();
```
---
В последнем примере проводки документа редактируются относительно табличной части документа.