PDA

Просмотр полной версии : Формирование доп проводок в 1с БГУ



Александр8989
03.04.2015, 12:28
помогите пожалуйста начинающему 1с-нику,покажите пример формирования доп проводок при операции кассовое выбытие по конкретным счетам!

alexandr_ll
03.04.2015, 12:40
помогите пожалуйста начинающему 1с-нику,покажите пример формирования доп проводок при операции кассовое выбытие по конкретным счетам!
Платформа и конфигурация?
Что значит показать пример?
Внести изменения в конфигурацию или вопрос по работе типовой конфигурации?

Александр8989
04.04.2015, 07:41
конфигурация "Бухгалтерия государственного учреждения" платформа 8.2
и да хотят внести изменения в типовую конфигурацию
нужно при операции кассовое выбытие добавить формирование проводок по конкретным счетам
вот таких
Содержание операции Дебет Кредит Перечисление аванса платежному агенту (третьему лицу) 0 206 ХХ 560 0 201 11 610 1 304 05 2ХХ Принятие к учету расходов по расчетам с платежным агентом 0 401 20 ХХХ 0 302 ХХ 730 Списание аванса на расчеты с платежным агентом (третьего лица) 0 302 ХХ 830 0 206 ХХ 660 Отнесение суммы расчетов с платежным агентом на всю сумму перечисления 30 Списание расходов на сумму Отчета, полученного от платежного агента 30

мне бы увидеть как это делается на примере,а то вообще паника,покажите пожалуйста!

alexandr_ll
04.04.2015, 10:15
конфигурация "Бухгалтерия государственного учреждения" платформа 8.2
Ну поскольку вы используете платформу 8.2, то речь по-видимому идет о "Бухгалтерия государственного учреждения (БГУ) 1.0.3"
Нужно только уточнить релиз (помощь - о программе)


да хотят внести изменения в типовую конфигурацию
сразу хочу предупредить, что при внесении изменений в конфигурацию (а именно модификация существующих объектов) у вас будут сложности с последующим обновлением конфигурации.
По характеру ваших вопросов можно судить, что опыта у вас маловато.
Поэтому главное правило:
Все изменения делайте в копии базы и после всех согласований переносите в рабочую.
Ну это преамбула. Конкретно по вашему вопросу:
В конфигураторе находим документ "КассовоеВыбытие" , открываем модуль объекта, ищем процедуру "ОбработкаПроведения" , читаем ее.
Доходим до строки навроде:
Проводка = ПроводкиБУ.Добавить();
Вот начиная с этой строки и написано описание проводки, по аналогии добавляем свои проводки, проверяем результат.
Пробуйте. Когда появятся конкретные проблемы, обращайтесь.

Александр8989
08.04.2015, 11:55
// Общие параметры проводки
Проводка = ПроводкиБУ.Добавить();
Проводка.Период = СтруктураШапкиДокумента.Д� �та;
Проводка.Учреждение = СтруктураШапкиДокумента.У� �реждение;
Проводка.Баланс = СтруктураШапкиДокумента.Б� �ланс;

Проводка.ВидПервичногоДок� �мента = пВидПервичногоДокумента;
Проводка.ДатаПервичногоДо� �умента = пДатаПервичногоДокумента;
Проводка.НомерПервичногоД� �кумента = пНомерПервичногоДокумента ;

Проводка.СчетКт = СтруктураШапкиДокумента.С� �етКредита;
Проводка.КВД = ТекСтрока["КВД"];
Проводка.Сумма = ТекСтрока["Сумма"];
Если ЗначениеЗаполнено(ТекСтро� �а["СтрокаНазначениеПлатежа"]) Тогда
Проводка.Содержание = ТекСтрока["СтрокаНазначениеПлатежа"];
Иначе
Проводка.Содержание = СтруктураШапкиДокумента.П� �НазначениеПлатежа;
КонецЕсли;

// Дебет
ЕстьКонтрагентПоДебету = Ложь;
НомерСубконтоДоговор = 0;
ПараметрыСчета = ПолучениеНСИ.ПолучитьПара� �етрыСчета(ТекСтрока["СчетДебета"]);
Проводка.СчетДт = ТекСтрока["СчетДебета"];
Проводка.КБКДт = ТекСтрока["КБКСчетДебета"];
Проводка.СубконтоДт.КОСГУ = ТекСтрока["КОСГУСчетДебета"];
Для к = 2 по Проводка.СчетДт.ВидыСубкон то.Количество() Цикл
Проводка.СубконтоДт[(Проводка.СчетДт.ВидыСубко� �то[к-1].ВидСубконто)] = ТекСтрока["СубконтоСчетДебета"+к];
Если НЕ ЕстьКонтрагентПоДебету Тогда
ЕстьКонтрагентПоДебету = Проводка.СчетДт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения.С� �держитТип(Тип("СправочникСсылка.Контраге� �ты"));
КонецЕсли;
Если НомерСубконтоДоговор = 0 Тогда
НомерСубконтоДоговор = ?(ТипЗнч(ТекСтрока["СубконтоСчетДебета"+к]) = Тип("СправочникСсылка.Договоры"), к, 0);
КонецЕсли;
КонецЦикла;
Если ПараметрыСчета[0].Валютный Тогда
Проводка.ВалютаДт = СтруктураШапкиДокумента.В� �лютаДокумента;
Проводка.ВалютнаяСуммаДт = ТекСтрока["СуммаВал"];
КонецЕсли;
Если НЕ ЕстьКонтрагентПоДебету Тогда
Проводка.ХарактеристикаДв� �женияДт = СтруктураШапкиДокумента.К� �нтрагент;
КонецЕсли;

// Кредит
Проводка.КБККт = ТекСтрока["КБКСчетКредита"];
Проводка.СубконтоКт.КОСГУ= ТекСтрока["КОСГУСчетКредита"];
Для к = 2 по Проводка.СчетКт.ВидыСубкон то.Количество() Цикл
Проводка.СубконтоКт[(Проводка.СчетКт.ВидыСубко� �то[к-1].ВидСубконто)] = ТекСтрока["СубконтоСчетКредита"+к];
КонецЦикла;
Если ПараметрыСчетаКт[0].Валютный Тогда
Проводка.ВалютаКт = СтруктураШапкиДокумента.В� �лютаДокумента;
Проводка.ВалютнаяСуммаКт = ТекСтрока["СуммаВал"];
КонецЕсли;

Если НЕ Проводка.КВД = ОбщегоНазначения.Получить� �начениеПеременной("глКВДБюджет") Тогда
Проводка.ХарактеристикаДв� �женияКт = ТекСтрока["КОСГУНазначениеПлатежа"];
Иначе
Если НомерСубконтоДоговор = 0 Тогда
Проводка.ХарактеристикаДв� �женияКт = СтруктураШапкиДокумента.Д� �говор;
Иначе
Проводка.ХарактеристикаДв� �женияКт = ТекСтрока["СубконтоСчетДебета"+НомерСубконтоДоговор];
КонецЕсли;
КонецЕсли;

Проводка.НомерЖурнала = БухгалтерскийУчет.НомерЖу� �нала(Проводка.СчетДт,Прово дка.СчетКт);

// Забалансовые счета
Если СчетаПроводок.Свойство("ЗабалансовыйДебет") Тогда
Если ЗначениеЗаполнено(ТекСтро� �а["ЗабалансовыйДебет"]) Тогда
ПараметрыСчета = ПолучениеНСИ.ПолучитьПара� �етрыСчета(ТекСтрока["ЗабалансовыйДебет"]);
Проводка = ПроводкиБУ.Добавить();
Проводка.Период = СтруктураШапкиДокумента.Д� �та;
Проводка.Учреждение = СтруктураШапкиДокумента.У� �реждение;

Проводка.ВидПервичногоДок� �мента = пВидПервичногоДокумента;
Проводка.ДатаПервичногоДо� �умента = пДатаПервичногоДокумента;
Проводка.НомерПервичногоД� �кумента = пНомерПервичногоДокумента ;

Если НЕ ПараметрыСчета[0].НетУчетаПоИС Тогда
Проводка.Баланс = СтруктураШапкиДокумента.Б� �ланс;
КонецЕсли;
Если НЕ ПараметрыСчета[0].НетУчетаПоКВД Тогда
Проводка.КВД = ТекСтрока["КВД"];
КонецЕсли;
Проводка.СчетДт = ТекСтрока["ЗабалансовыйДебет"];
Если НЕ ПараметрыСчета[0].НетУчетаПоКБК Тогда
Проводка.КБКДт = ТекСтрока["КБКЗабалансовыйДебет"];
КонецЕсли;
Проводка.СубконтоДт.КОСГУ = ТекСтрока["КОСГУЗабалансовыйДебет"];
Для к = 2 по Проводка.СчетДт.ВидыСубкон то.Количество() Цикл
Проводка.СубконтоДт[(Проводка.СчетДт.ВидыСубко� �то[к-1].ВидСубконто)] = ТекСтрока["СубконтоЗабалансовыйДебет"+к];
КонецЦикла;
Если ПараметрыСчета[0].Валютный Тогда
Проводка.ВалютаДт = СтруктураШапкиДокумента.В� �лютаДокумента;
Проводка.ВалютнаяСуммаДт = ТекСтрока["СуммаВал"];
КонецЕсли;
Проводка.Сумма = ТекСтрока["Сумма"];
Если ЗначениеЗаполнено(ТекСтро� �а["СтрокаНазначениеПлатежа"]) Тогда
Проводка.Содержание = ТекСтрока["СтрокаНазначениеПлатежа"];
Иначе
Проводка.Содержание = СтруктураШапкиДокумента.П� �НазначениеПлатежа;
КонецЕсли;
Проводка.НомерЖурнала = БухгалтерскийУчет.НомерЖу� �нала(Проводка.СчетДт,Прово дка.СчетДт);
Если НомерСубконтоДоговор = 0 Тогда
Проводка.ХарактеристикаДв� �женияДт = СтруктураШапкиДокумента.Д� �говор;
Иначе
Проводка.ХарактеристикаДв� �женияДт = ТекСтрока["СубконтоСчетДебета"+НомерСубконтоДоговор];
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если СчетаПроводок.Свойство("ЗабалансовыйКредит") Тогда
//И НЕ ТекСтрока["КВД"] = Перечисления.КВД.Временное Распоряжение Тогда

Проводка = ПроводкиБУ.Добавить();
Проводка.Период = СтруктураШапкиДокумента.Д� �та;
Проводка.Учреждение = СтруктураШапкиДокумента.У� �реждение;

Проводка.ВидПервичногоДок� �мента = пВидПервичногоДокумента;
Проводка.ДатаПервичногоДо� �умента = пДатаПервичногоДокумента;
Проводка.НомерПервичногоД� �кумента = пНомерПервичногоДокумента ;

Проводка.СчетКт = ЗабалансовыйКредит;
Если НЕ ПараметрыСчетаЗабКт[0].НетУчетаПоИС Тогда
Проводка.Баланс = СтруктураШапкиДокумента.Б� �ланс;
КонецЕсли;
Если НЕ ПараметрыСчетаЗабКт[0].НетУчетаПоКВД Тогда
Проводка.КВД = ТекСтрока["КВД"];
КонецЕсли;
Если НЕ ПараметрыСчетаЗабКт[0].НетУчетаПоКБК Тогда
Проводка.КБККт = ТекСтрока["КБКЗабалансовыйКредит"];
КонецЕсли;
Проводка.СубконтоКт.КОСГУ = ТекСтрока["КОСГУЗабалансовыйКредит"];
Для к = 2 по Проводка.СчетКт.ВидыСубкон то.Количество() Цикл
Проводка.СубконтоКт[(Проводка.СчетКт.ВидыСубко� �то[к-1].ВидСубконто)] = ТекСтрока["СубконтоЗабалансовыйКреди т"+к];
КонецЦикла;
Если ПараметрыСчетаЗабКт[0].Валютный Тогда
Проводка.ВалютаКт = СтруктураШапкиДокумента.В� �лютаДокумента;
Проводка.ВалютнаяСуммаКт = ТекСтрока["СуммаВал"];
КонецЕсли;
Проводка.Сумма = ТекСтрока["Сумма"];
Если ЗначениеЗаполнено(ТекСтро� �а["СтрокаНазначениеПлатежа"]) Тогда
Проводка.Содержание = ТекСтрока["СтрокаНазначениеПлатежа"];
Иначе
Проводка.Содержание = СтруктураШапкиДокумента.П� �НазначениеПлатежа;
КонецЕсли;
Проводка.НомерЖурнала = БухгалтерскийУчет.НомерЖу� �нала(Проводка.СчетКт,Прово дка.СчетКт);
Если НомерСубконтоДоговор = 0 Тогда
Проводка.ХарактеристикаДв� �женияКт = СтруктураШапкиДокумента.Д� �говор;
Иначе
Проводка.ХарактеристикаДв� �женияКт = ТекСтрока["СубконтоСчетДебета"+НомерСубконтоДоговор];
КонецЕсли;
КонецЕсли;

//***********************************

Если ФормироватьДопПроводки И (ТекСтрока["КВД"] <> Перечисления.КВД.Бюджет)
И ЗначениеЗаполнено(ДопСчет� �ебета) И ЗначениеЗаполнено(ДопСчет� �редита) Тогда

Проводка = ПроводкиБУ.Добавить();
Проводка.Период = СтруктураШапкиДокумента.Д� �та;
Проводка.Учреждение = СтруктураШапкиДокумента.У� �реждение;
Проводка.Баланс = СтруктураШапкиДокумента.Б� �ланс;

Проводка.ВидПервичногоДок� �мента = пВидПервичногоДокумента;
Проводка.ДатаПервичногоДо� �умента = пДатаПервичногоДокумента;
Проводка.НомерПервичногоД� �кумента = пНомерПервичногоДокумента ;

Проводка.КВД = ТекСтрока["КВД"];

// Дебет
Проводка.СчетДт = ДопСчетДебета;
Проводка.КБКДт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоДт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];

Для к = 2 по Проводка.СчетДт.ВидыСубкон то.Количество() Цикл

Проводка.СубконтоДт[(Проводка.СчетДт.ВидыСубко� �то[к-1].ВидСубконто)] = НайтиЗначениеСубконтоВТек ущейСтроке(ТекСтрока, Проводка.СчетДт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения);

КонецЦикла;

// Кредит
Проводка.СчетКт = ДопСчетКредита;
Проводка.КБККт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоКт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];

Для к = 2 по Проводка.СчетКт.ВидыСубкон то.Количество() Цикл

Проводка.СубконтоКт[(Проводка.СчетКт.ВидыСубко� �то[к-1].ВидСубконто)] = НайтиЗначениеСубконтоВТек ущейСтроке(ТекСтрока, Проводка.СчетКт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения);

КонецЦикла;

Проводка.Сумма = ТекСтрока["Сумма"] * Коэффициент;

Если ЗначениеЗаполнено(ТекСтро� �а["СтрокаНазначениеПлатежа"]) Тогда
Проводка.Содержание = ТекСтрока["СтрокаНазначениеПлатежа"];
Иначе
Проводка.Содержание = СтруктураШапкиДокумента.П� �НазначениеПлатежа;
КонецЕсли;
Проводка.НомерЖурнала = БухгалтерскийУчет.НомерЖу� �нала(Проводка.СчетКт,Прово дка.СчетКт);

КонецЕсли;

//***********************************

КонецЦикла;
КонецЕсли;

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

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

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





а куда здесь свои счета подставить?

alexandr_ll
08.04.2015, 12:06
а куда здесь свои счета подставить?
Ну как же, а это:


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


// Дебет
Проводка.СчетДт = ДопСчетДебета;

Александр8989
08.04.2015, 14:15
я так понимаю вместо ДопСчетДебета цифровые выражения счетов заносить?

---------- Post added at 14:15 ---------- Previous post was at 12:19 ----------

// Кредит
Проводка.СчетКт = ДопСчетКредита["20111"];

так должно быть?

alexandr_ll
08.04.2015, 14:38
я так понимаю вместо ДопСчетДебета цифровые выражения счетов заносить?
В качестве переменной ДопСчетДебета Должна быть ссылка на соответствующий элемент плана счетов.
Ссылка может быть задана явно в качестве реквизита документа.
Можно сослаться на предопределенное значение плана счетов:
ДопСчетДебета=ПланыСчетов. ЕПСБ.< ПредопределенноеЗначение >
Можно получить ссылку с помощью методов "НайтиПоКодУ", "НайтиПоНаименованию" и др. (Смотри Ситакс-помощник)

Александр8989
10.04.2015, 11:17
добавил вот это

Проводка.КВД = ТекСтрока["КВД"];

// Дебет
Проводка.СчетДт = ДопСчетДебета;
ДопСчетДебета = ПланыСчетов.ЕПСБУ.НайтиПоК оду("206.00");
Проводка.КБКДт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоДт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];

Для к = 2 по Проводка.СчетДт.ВидыСубкон то.Количество() Цикл

Проводка.СубконтоДт[(Проводка.СчетДт.ВидыСубко� �то[к-1].ВидСубконто)] = НайтиЗначениеСубконтоВТек ущейСтроке(ТекСтрока, Проводка.СчетДт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения);

КонецЦикла;

// Кредит
Проводка.СчетКт = ДопСчетКредита;
ДопСчетКредита = ПланыСчетов.ЕПСБУ.НайтиПоК оду("201.11");
Проводка.КБККт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоКт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];

но не работает...

---------- Post added at 11:17 ---------- Previous post was at 10:14 ----------

Если ФормироватьДопПроводки И (ТекСтрока["КВД"] <> Перечисления.КВД.Бюджет)
И ЗначениеЗаполнено(ДопСчет� �ебета) И ЗначениеЗаполнено(ДопСчет� �редита) Тогда

Проводка = ПроводкиБУ.Добавить();
Проводка.Период = СтруктураШапкиДокумента.Д� �та;
Проводка.Учреждение = СтруктураШапкиДокумента.У� �реждение;
Проводка.Баланс = СтруктураШапкиДокумента.Б� �ланс;

Проводка.ВидПервичногоДок� �мента = пВидПервичногоДокумента;
Проводка.ДатаПервичногоДо� �умента = пДатаПервичногоДокумента;
Проводка.НомерПервичногоД� �кумента = пНомерПервичногоДокумента ;

Проводка.КВД = ТекСтрока["КВД"];

// Дебет
Проводка.СчетДт = ДопСчетДебета;
ДопСчетДебета = ПланыСчетов.ЕПСБУ.НайтиПоК оду("206.00");
Проводка.КБКДт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоДт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];

Для к = 2 по Проводка.СчетДт.ВидыСубкон то.Количество() Цикл

Проводка.СубконтоДт[(Проводка.СчетДт.ВидыСубко� �то[к-1].ВидСубконто)] = НайтиЗначениеСубконтоВТек ущейСтроке(ТекСтрока, Проводка.СчетДт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения);

КонецЦикла;

// Кредит
Проводка.СчетКт = ДопСчетКредита;
ДопСчетКредита = ПланыСчетов.ЕПСБУ.НайтиПоК оду("201.11");
Проводка.КБККт = ТекСтрока["КБКНазначениеПлатежа"];
Проводка.СубконтоКт.КОСГУ = ТекСтрока["КОСГУНазначениеПлатежа"];
и
Для к = 2 по Проводка.СчетКт.ВидыСубкон то.Количество() Цикл

Проводка.СубконтоКт[(Проводка.СчетКт.ВидыСубко� �то[к-1].ВидСубконто)] = НайтиЗначениеСубконтоВТек ущейСтроке(ТекСтрока, Проводка.СчетКт.ВидыСубкон то[к-1].ВидСубконто.ТипЗначения);

КонецЦикла;

Проводка.Сумма = ТекСтрока["Сумма"] * Коэффициент;

Если ЗначениеЗаполнено(ТекСтро� �а["СтрокаНазначениеПлатежа"]) Тогда
Проводка.Содержание = ТекСтрока["СтрокаНазначениеПлатежа"];
Иначе
Проводка.Содержание = СтруктураШапкиДокумента.П� �НазначениеПлатежа;
КонецЕсли;
Проводка.НомерЖурнала = БухгалтерскийУчет.НомерЖу� �нала(Проводка.СчетКт,Прово дка.СчетКт);

КонецЕсли;

//***********************************

КонецЦикла;
КонецЕсли;

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

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

полная форма,что не так делаю?