Как программно поменять проводки в документе?

1. Shecurok 17.04.19 14:02 Сейчас в теме
Надо чтобы в документе ПередачаМатериалаВЭксплуатацию у Номенклатуры Шины автоматически ставился номер счета МЦ5 вместо МЦ4. Есть код как это делается с базы БП 2.0 (я работаю в БП 3.0). Но что куда прописывать не пойму.
EvgeniyOlxovskiy; +1
По теме из базы знаний
Найденные решения
16. arsen_botashev 17.04.19 16:42 Сейчас в теме
(14)
Проводка.СчетДт = СтрокаПартии.КорСчетСписания;

ну вот тут надо присваивать
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.05");
как то так. я честно говоря не знаю что такое мцо5поэтому найдите где он там есть, в планах счетов или еще где, и присваивайте
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. arsen_botashev 17.04.19 14:06 Сейчас в теме
(1)Находите этот документ, в модуле объекта есть процедура, обработкапроведения. Скиньте этот код
+
4. Shecurok 17.04.19 14:09 Сейчас в теме
(3)
Процедура ОбработкаПроведения(Отказ, РежимПроведения)

// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА

ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат;
КонецЕсли;

ПараметрыПроведения = Документы.ПередачаМатериаловВЭксплуатацию.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;

// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ

ТаблицаСписаннаяСпецодежда = УчетТоваров.ПодготовитьТаблицуСписанныеТовары(
ПараметрыПроведения.СписаниеСпецодеждыТаблица, ПараметрыПроведения.СписаниеСпецодеждыРеквизиты, Отказ);
ТаблицаСписаннаяСпецоснастка = УчетТоваров.ПодготовитьТаблицуСписанныеТовары(
ПараметрыПроведения.СписаниеСпецоснасткиТаблица, ПараметрыПроведения.СписаниеСпецоснасткиРеквизиты, Отказ);
ТаблицаСписанныйИнвентарь = УчетТоваров.ПодготовитьТаблицуСписанныеТовары(
ПараметрыПроведения.СписаниеИнвентаряТаблица, ПараметрыПроведения.СписаниеИнвентаряРеквизиты, Отказ);

// Структура таблиц для отражения в налоговом учете УСН
ТаблицаСписанныеМатериалы = ТаблицаСписаннаяСпецодежда.Скопировать();
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаСписаннаяСпецоснастка, ТаблицаСписанныеМатериалы);
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаСписанныйИнвентарь, ТаблицаСписанныеМатериалы);
СтруктураТаблицУСН = Новый Структура("ТаблицаТМЦ", ТаблицаСписанныеМатериалы);

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

ТаблицыСписанияМПЗИП_Спецодежда = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыСписанияМПЗ(
ТаблицыМатериаловПродукцииИП_Спецодежда.ТаблицаМатериалов, ПараметрыПроведения.СписаниеСпецодеждыРеквизиты, Отказ);
ТаблицыСписанияМПЗИП_Спецоснастка = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыСписанияМПЗ(
ТаблицыМатериаловПродукцииИП_Спецоснастка.ТаблицаМатериалов, ПараметрыПроведения.СписаниеСпецоснасткиРеквизиты, Отказ);
ТаблицыСписанияМПЗИП_Инвентарь = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицыСписанияМПЗ(
ТаблицыМатериаловПродукцииИП_Инвентарь.ТаблицаМатериалов, ПараметрыПроведения.СписаниеИнвентаряРеквизиты, Отказ);

ТаблицаПоступлениеПродукцииИП_Спецодежда = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицуПоступлениеПродукции(
ТаблицыМатериаловПродукцииИП_Спецодежда.ПолученоПродукции, ПараметрыПроведения.СписаниеСпецодеждыРеквизиты);
ТаблицаПоступлениеПродукцииИП_Спецоснастка = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицуПоступлениеПродукции(
ТаблицыМатериаловПродукцииИП_Спецоснастка.ПолученоПродукции, ПараметрыПроведения.СписаниеСпецоснасткиРеквизиты);
ТаблицаПоступлениеПродукцииИП_Инвентарь = УчетДоходовИРасходовПредпринимателя.ПодготовитьТаблицуПоступлениеПродукции(
ТаблицыМатериаловПродукцииИП_Инвентарь.ПолученоПродукции, ПараметрыПроведения.СписаниеИнвентаряРеквизиты);

// ФОРМИРОВАНИЕ ДВИЖЕНИЙ

// Алгоритмы формирования проводок этого документа рассчитывают суммы проводок налогового учета
Движения.Хозрасчетный.ДополнительныеСвойства.Вставить("СуммыНалоговогоУчетаЗаполнены", Истина);

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

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

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

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

НалоговыйУчетУСН.СформироватьДвиженияУСН(ЭтотОбъект, СтруктураТаблицУСН);

// Учет доходов и расходов ИП
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияСписаниеМПЗ(
ТаблицыСписанияМПЗИП_Спецодежда, ПараметрыПроведения.СписаниеСпецодеждыРеквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияСписаниеМПЗ(
ТаблицыСписанияМПЗИП_Спецоснастка, ПараметрыПроведения.СписаниеСпецоснасткиРеквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияСписаниеМПЗ(
ТаблицыСписанияМПЗИП_Инвентарь, ПараметрыПроведения.СписаниеИнвентаряРеквизиты, Движения, Отказ);

УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияПоступлениеПродукции(
ТаблицаПоступлениеПродукцииИП_Спецодежда, ТаблицыСписанияМПЗИП_Спецодежда.СтоимостьПродукции,
ПараметрыПроведения.СписаниеСпецодеждыРеквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияПоступлениеПродукции(
ТаблицаПоступлениеПродукцииИП_Спецоснастка, ТаблицыСписанияМПЗИП_Спецоснастка.СтоимостьПродукции,
ПараметрыПроведения.СписаниеСпецоснасткиРеквизиты, Движения, Отказ);
УчетДоходовИРасходовПредпринимателя.СформироватьДвиженияПоступлениеПродукции(
ТаблицаПоступлениеПродукцииИП_Инвентарь, ТаблицыСписанияМПЗИП_Инвентарь.СтоимостьПродукции,
ПараметрыПроведения.СписаниеИнвентаряРеквизиты, Движения, Отказ);

// Регистрация в последовательности
ТаблицаРегистрации = РаботаСПоследовательностями.ПодготовитьТаблицуСчетовТоваровДляАнализа(
ТаблицаСписаннаяСпецодежда, ТаблицаСписаннаяСпецоснастка);
РаботаСПоследовательностями.ЗарегистрироватьОтложенныеРасчетыВПоследовательности(
ЭтотОбъект, Отказ, ,
РаботаСПоследовательностями.ПодготовитьТаблицуСчетовТоваровДляАнализа(ТаблицаРегистрации, ТаблицаСписанныйИнвентарь));

ПроведениеСервер.УстановитьЗаписьОчищаемыхНаборовЗаписей(ЭтотОбъект);

КонецПроцедуры
Показать
+
7. arsen_botashev 17.04.19 14:14 Сейчас в теме
(4)
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);

найдите эту функцию, для этого нажмите на строку, и нажмите ф10, и смотрите как там че заполняется

там для разных, разные функции, ищите у чему относится ваш документ.
+
8. Shecurok 17.04.19 14:21 Сейчас в теме
(7) жму ф10 ничего не происходит, да и кнопка "Шагнуть через" не активна
+
10. YannikAlx 43 17.04.19 14:25 Сейчас в теме
(8) Вы вообще отладкой когда-нибудь пользовались?
+
11. Shecurok 17.04.19 14:27 Сейчас в теме
(10) нет. Да я вообще не программист, больше по аналитической части, но вот дали такое вот задание. Неделю тут мучался с внешней обработкой, сделал же. И тут какими то силами надо справляться.
+
9. Shecurok 17.04.19 14:24 Сейчас в теме
(7) Ну шины мои идут в "Инвентарь и хозяйственные принадлежности" это точно (если Вы об этом)
+
12. arsen_botashev 17.04.19 14:36 Сейчас в теме
(9)Да, об этом. вот код
// Инвентарь и хозяйственные принадлежности 
УчетТоваров.СформироватьДвиженияСписаниеТоваров( 
ТаблицаСписанныйИнвентарь, 
ПараметрыПроведения.СписаниеИнвентаряРеквизиты, 
Движения, Отказ); 
УчетМатериаловВЭксплуатации.СформироватьДвиженияПередачаИнвентаряВЭксплуатацию( 
ПараметрыПроведения.ПередачаИнвентаряТаблица, 
ТаблицаСписанныйИнвентарь, 
ПараметрыПроведения.ПередачаИнвентаряРеквизиты, 
Движения, Отказ); 
Показать
Тут надо пройтись по всем функциям:
УчетТоваров.СформироватьДвиженияСписаниеТоваров
УчетМатериаловВЭксплуатации.СформироватьДвиженияПередачаИнвентаряВЭксплуатацию

и посмотреть что там задается в виде номера счета.
чтоб шагнуть в функцию надо УчетТоваров.СформироватьДви(поставить курсор сюда и нажать ф10)женияСписаниеТоваров
или же открыть УчетТоваров, и в модуле менеджера эта функция будет
+
14. Shecurok 17.04.19 14:45 Сейчас в теме
(12) Если не сложно, то посмотрите пожалуйста. Вот этот код. Что именно тут надо смотреть не знаю.

Процедура СформироватьДвиженияСписаниеТоваров(ТаблицаСписанныеТовары, ТаблицаРеквизиты, Движения, Отказ) Экспорт

Если Не ЗначениеЗаполнено(ТаблицаРеквизиты)
Или Не ЗначениеЗаполнено(ТаблицаСписанныеТовары) Тогда
Возврат;
КонецЕсли;

Параметры = ПодготовитьПараметрыСписаниеТоваров(ТаблицаСписанныеТовары, ТаблицаРеквизиты);

Реквизиты = Параметры.Реквизиты[0];
СпособОценкиМПЗ = УчетнаяПолитика.СпособОценкиМПЗ(Реквизиты.Организация, Реквизиты.Период);
ВедетсяУчетПоПартиям = СпособОценкиМПЗ <> Перечисления.СпособыОценки.ПоСредней;
ПоддержкаПБУ18 = УчетнаяПолитика.ПоддержкаПБУ18(Реквизиты.Организация, Реквизиты.Период);

НазваниеОбъектаВСодержании = СтрНайти(Реквизиты.Содержание, НСтр("ru = ' товаров'"));
Если НазваниеОбъектаВСодержании Тогда
Реквизиты.Содержание = СтрЗаменить(Реквизиты.Содержание, НСтр("ru = ' товаров'"), " %1");
КонецЕсли;

Для каждого СтрокаПартии Из Параметры.ТаблицаСписанныеТовары Цикл

Проводка = Движения.Хозрасчетный.Добавить();
Проводка.Период = СтрокаПартии.Период;
Проводка.Организация = Реквизиты.Организация;

Если НазваниеОбъектаВСодержании Тогда
Проводка.Содержание = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Реквизиты.Содержание,
БухгалтерскийУчетПовтИсп.НазваниеОбъектаПоСчетуУчета(СтрокаПартии.СчетУчета));
Иначе
Проводка.Содержание = СокрЛП(Реквизиты.Содержание);
КонецЕсли;

Проводка.СчетКт = СтрокаПартии.СчетУчета;
СвойстваСчетаКт = БухгалтерскийУчетВызовСервераПовтИсп.ПолучитьСвойстваСчета(Проводка.СчетКт);
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Номенклатура", СтрокаПартии.Номенклатура);
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Склады", СтрокаПартии.Склад);
Если ВедетсяУчетПоПартиям ИЛИ СвойстваСчетаКт.Забалансовый Тогда
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Партии", СтрокаПартии.Партия);
КонецЕсли;
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты", Реквизиты.Контрагент);

Если СвойстваСчетаКт.УчетПоПодразделениям Тогда
Проводка.ПодразделениеКт = СтрокаПартии.Подразделение;
КонецЕсли;

Если СвойстваСчетаКт.Количественный Тогда
Проводка.КоличествоКт = СтрокаПартии.Количество;
КонецЕсли;

СвойстваСчетаДт = БухгалтерскийУчетВызовСервераПовтИсп.ПолучитьСвойстваСчета(СтрокаПартии.КорСчетСписания);

Если СвойстваСчетаДт.Забалансовый = СвойстваСчетаКт.Забалансовый Тогда

Проводка.СчетДт = СтрокаПартии.КорСчетСписания;

// Цикл субконто по строке партий
Для НомерСубконто = 1 По 3 Цикл
ВидСубконто = СтрокаПартии["ВидКорСубконто" + НомерСубконто];
Если НЕ ВедетсяУчетПоПартиям И ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии Тогда
Продолжить;
КонецЕсли;

КорСубконто = СтрокаПартии["КорСубконто" + НомерСубконто];

БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт,
ВидСубконто, КорСубконто);
КонецЦикла;

// Если корсубконто для списания явно не указано, подставляем совпадающие по типу значения
// из других полей таблицы.

// Цикл по видам субконто на счете Дт.
Для НомерСубконто = 1 По 3 Цикл

ВидСубконто = СвойстваСчетаДт["ВидСубконто" + НомерСубконто];

Если ЗначениеЗаполнено(ВидСубконто) Тогда

КорСубконто = Проводка.СубконтоДт[ВидСубконто];
Если ЗначениеЗаполнено(КорСубконто) Тогда
Продолжить;
КонецЕсли;

ТипЗначенияВидаСубконто = СвойстваСчетаДт["ВидСубконто" + НомерСубконто + "ТипЗначения"];

Если ТипЗначенияВидаСубконто.СодержитТип(Тип("СправочникСсылка.Номенклатура")) Тогда

ВидСубконто = СвойстваСчетаДт["ВидСубконто" + НомерСубконто];
Если ВидСубконто <> ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Продукция Тогда
КорСубконто = СтрокаПартии.Номенклатура;
КонецЕсли;

ИначеЕсли ТипЗначенияВидаСубконто.СодержитТип(Тип("СправочникСсылка.Организации")) Тогда
КорСубконто = Реквизиты.Организация;

ИначеЕсли ТипЗначенияВидаСубконто.СодержитТип(Тип("СправочникСсылка.Склады")) Тогда
Если ЗначениеЗаполнено(СтрокаПартии.Склад) Тогда
КорСубконто = СтрокаПартии.Склад;
КонецЕсли;

ИначеЕсли ТипЗначенияВидаСубконто.СодержитТип(Тип("СправочникСсылка.Контрагенты")) Тогда
Если ЗначениеЗаполнено(Реквизиты.Контрагент) Тогда
КорСубконто = Реквизиты.Контрагент;
КонецЕсли;

ИначеЕсли ВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами
И ТипЗначенияВидаСубконто.СодержитТип(ТипЗнч(Реквизиты.Регистратор)) Тогда
КорСубконто = Реквизиты.Регистратор;

КонецЕсли;

БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт,
ВидСубконто, КорСубконто);

КонецЕсли;

КонецЦикла;

Если ВедетсяУчетПоПартиям ИЛИ СвойстваСчетаДт.Забалансовый Тогда
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт,
"Партии", СтрокаПартии.Партия);
КонецЕсли;

Если СвойстваСчетаДт.УчетПоПодразделениям Тогда
Проводка.ПодразделениеДт = СтрокаПартии.КорПодразделение;
КонецЕсли;

Если СвойстваСчетаДт.Количественный Тогда
Проводка.КоличествоДт = СтрокаПартии.Количество;
КонецЕсли;

Если СвойстваСчетаДт.НалоговыйУчет Тогда
Проводка.СуммаНУДт = СтрокаПартии.СуммаКорСписанияНУ;
Если ПоддержкаПБУ18 Тогда
Проводка.СуммаПРДт = СтрокаПартии.СуммаКорСписанияПР;
Проводка.СуммаВРДт = СтрокаПартии.СуммаКорСписанияВР;
КонецЕсли;
КонецЕсли;

КонецЕсли;

Проводка.Сумма = СтрокаПартии.СуммаСписания;

Если СвойстваСчетаКт.НалоговыйУчет Тогда
Проводка.СуммаНУКт = СтрокаПартии.СуммаСписанияНУ;
Если ПоддержкаПБУ18 Тогда
Проводка.СуммаПРКт = СтрокаПартии.СуммаСписанияПР;
Проводка.СуммаВРКт = СтрокаПартии.СуммаСписанияВР;
КонецЕсли;
КонецЕсли;

Проводка.НеКорректироватьСтоимостьАвтоматически = СтрокаПартии.Себестоимость <> 0;

КонецЦикла;

Движения.Хозрасчетный.Записывать = Истина;

КонецПроцедуры
Показать
+
16. arsen_botashev 17.04.19 16:42 Сейчас в теме
(14)
Проводка.СчетДт = СтрокаПартии.КорСчетСписания;

ну вот тут надо присваивать
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.05");
как то так. я честно говоря не знаю что такое мцо5поэтому найдите где он там есть, в планах счетов или еще где, и присваивайте
+
18. Shecurok 17.04.19 17:12 Сейчас в теме
(16) Тут уже сложности не возникнет, спасибо тебе большое!
+
19. arsen_botashev 17.04.19 17:30 Сейчас в теме
15. Shecurok 17.04.19 14:48 Сейчас в теме
(12) И это из УчетМатериалов

Процедура СформироватьДвиженияСписаниеИнвентаряИзЭксплуатации(ТаблицаМатериалы, ТаблицаРеквизиты, Движения, Отказ) Экспорт

Если Не ЗначениеЗаполнено(ТаблицаМатериалы) Тогда
Возврат;
КонецЕсли;

Параметры = ПодготовитьПараметрыСписаниеИнвентаряИзЭксплуатации(ТаблицаМатериалы, ТаблицаРеквизиты);
Реквизиты = Параметры.Реквизиты[0];

// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ

ТаблицаСписанныйИнвентарь = ПодготовитьТаблицуСписанныйИзЭксплуатацииИнвентарь(
Параметры.ТаблицаМатериалы, Реквизиты, Отказ);

// ФОРМИРОВАНИЕ ДВИЖЕНИЙ

СформироватьПроводкиСписаниеМатериаловИзЭксплуатацииМЦ(
ТаблицаСписанныйИнвентарь, Реквизиты, Движения, Отказ);

КонецПроцедуры
Показать
+
17. arsen_botashev 17.04.19 16:44 Сейчас в теме
(15)А это списание товара, похоже тут нет счета
+
6. Shecurok 17.04.19 14:14 Сейчас в теме
(3) Код который использовался в 2.0:

Процедура ПолучитьСчетДебетаИСодержание(Проводка, СчетУчета, Номенклатура=Неопределено)
КодСчетаУчета = Сред(СчетУчета.Код,4,4);
Если КодСчетаУчета = "11.1" Тогда
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный;
Проводка.Содержание = "Передача спецодежды в эксплуатацию";
ИначеЕсли КодСчетаУчета = "11.2" Тогда
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.СпецоснасткаВЭксплуатацииВспомогательный;
Проводка.Содержание = "Передача спецоснастки в эксплуатацию";
Иначе
// изменение счету учета для шин с МЦ04 на МЦ05 в зависимости от дополнительного реквизита
УчетМЦ05=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("003");
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Объект,
| ЗначенияСвойствОбъектов.Свойство,
| ЗначенияСвойствОбъектов.Значение
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект = &Номенклатура
| И ЗначенияСвойствОбъектов.Свойство = &УчетМЦ05";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("УчетМЦ05",УчетМЦ05);

Результат=Запрос.Выполнить();

Если Результат.Пустой() тогда
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации;
Проводка.Содержание = "Передача инвентаря в эксплуатацию";
Иначе
Проводка.Содержание = "Передача шин в эксплуатацию";
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("МЦ.05");
КонецЕсли;
КонецЕсли;

КонецПроцедуры
Показать
+
20. DrZombi 290 18.04.19 08:47 Сейчас в теме
(1) Программно поменять проводки, самое простое ...

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

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

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

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

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

     
      

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

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

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

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

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

     КонецЕСли;
      

     
      

    КонецЦикла;
      

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


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

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

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

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

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

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

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

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

     
      

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

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

     
      

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

     КонецЕсли;
      

     КонецЦикла;
      

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

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

     КонецЕсли; 

Показать
EvgeniyOlxovskiy; +1
2. YannikAlx 43 17.04.19 14:06 Сейчас в теме
неужели вы думаете если вы насоздаете тучу тем , вам быстрее придет решение?
Зачем двойник
https://forum.infostart.ru/forum9/topic215632/
?????????
5. Shecurok 17.04.19 14:11 Сейчас в теме
(2) ну тут уже хотя бы ответили. Другого способа я не знаю. Извиняюсь конечно.
+
13. SedovSU@mail.ru 297 17.04.19 14:40 Сейчас в теме
(5) Ну смотрите, тут два подхода, первый это вам нужно найти место где делаются записи в проводки из документа и в этом месте вы уже и добавите свое условие. Второй подход, после проведения, верней в этой процедуре в самом конце написать обработку движений:

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


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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот