|
Проводки в реализации. | ☑ | ||
---|---|---|---|---|
0
Ленулькин
15.08.13
✎
09:29
|
при обмене анных из торговли в бухгалтерию, реализация у нас по маслу (01829) выгружается по 41.04 счету проводки в дт/кт:
62.02 90.01.1 90.02.1 товар 41.04 теперь мы добавляем новую позицию сыр (02026) выгружаем реализацию по счету 41.04 но проводки в дт/кт встают: сначала на 004.01 62.02 90.01.1 76.05.1 76.05.2 76.05.2 91.01 Для каждого ТС из Товары Цикл Если (ТС.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("01829")) Или ТС.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("02026"))) <> Истина Тогда //сообщить("1"); ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("004.01"); Иначе //сообщить("2"); ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); ЭтотОбъект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"); КонецЕсли; ТС.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); ТС.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03"); ТС.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); ТС.Субконто = ТС.Номенклатура.НоменклатурнаяГруппа; КонецЦикла; Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; если я убираю счет 004.01 Для каждого ТС из Товары Цикл Если (ТС.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("01829")) Или ТС.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("02026"))) <> Истина Тогда Иначе ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); ЭтотОбъект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"); КонецЕсли; ТС.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); ТС.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03"); ТС.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); ТС.Субконто = ТС.Номенклатура.НоменклатурнаяГруппа; КонецЦикла; Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; То все равно ничего не меняется. подскажите подалуйста как мне сделать чтобы сыр (02026) вставал по реализации а дт/кт: 62.02 90.01.1 90.02.1 41.01 |
|||
1
Naumov
15.08.13
✎
09:35
|
травите тараканов, пока не поздно.
|
|||
2
Ленулькин
15.08.13
✎
09:38
|
Воспользуюсь вашим советом чуть позже, а пока лучше решение если знаете!
|
|||
3
Wobland
15.08.13
✎
09:39
|
(2) как скажешь. это выкинуть, навести порядок и прекратить автоматизировать хаос
|
|||
4
Dmitry1c
15.08.13
✎
09:39
|
(0) Счета учета номенклатуры отличаются. Приведите их в порядок.
|
|||
5
Ленулькин
15.08.13
✎
09:44
|
вы уж простите но скажите где именно мне их привести в порядок?
|
|||
6
Wobland
15.08.13
✎
09:47
|
(5) здесь логику надо менять. то есть, убрать всё
|
|||
7
Ленулькин
15.08.13
✎
09:50
|
ну это делала не я( мне приходится только исправлять(((
|
|||
8
zbv
15.08.13
✎
09:55
|
Если не докапываться до кода, то так:
Если (ТС.Номенклатура <> Справочники.Номенклатура.НайтиПоКоду("01829") И ТС.Номенклатура <> Справочники.Номенклатура.НайтиПоКоду("02026")) Тогда ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("004.01"); иначе // 41 .... КонецЕсли; а так да, надо все переписать... |
|||
9
Naumov
15.08.13
✎
10:01
|
(8) А искать за чем? Если уж в код уперлось, то сразу код сравнивайте.
|
|||
10
Ленулькин
15.08.13
✎
10:07
|
я е понимаю как сравнить?
|
|||
11
cw014
15.08.13
✎
10:10
|
Копрокод детектед
|
|||
12
zbv
15.08.13
✎
10:11
|
(9) написал минимальные изменения в коде без оптимизации.
по идее и счет по коду искать в БП нет необходимости. |
|||
13
Ленулькин
15.08.13
✎
10:35
|
Для каждого ТС из Товары Цикл
Если (ТС.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("01829")) <> Истина) Тогда Иначе //сообщить("2"); ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); ЭтотОбъект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"); КонецЕсли; ТС.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); ТС.СчетУчетаНДСПоРеализации = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03"); ТС.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); ТС.Субконто = ТС.Номенклатура.НоменклатурнаяГруппа; КонецЦикла; Если (ТС.Номенклатура <> Справочники.Номенклатура.НайтиПоКоду("02026"))<>истина Тогда ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); ЭтотОбъект.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"); иначе ТС.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); ТС.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); ТС.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); КонецЕсли; Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли Попробывала так, но тоже не правильно.... |
|||
14
Ленулькин
15.08.13
✎
10:35
|
Если (ЭтотОбъект.Контрагент.ПринадлежитЭлементу(Справочники.Контрагенты.НайтиПоКоду("65036"))<>Истина) Тогда
Если (СтрокаТаблицы.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("01829"))<>Истина) Тогда Если (СтрокаТаблицы.Номенклатура.ПринадлежитЭлементу(Справочники.Номенклатура.НайтиПоКоду("02026"))<>Истина) Тогда //08.06 А теперь добавим проводку по наценке отдельно... Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаНаценки; Если Проводка.СчетКт.Валютный Тогда //Если документ в иностранной валюте, он может быть выписан только в валюте взаиморасчетов Проводка.ВалютаКт = СтруктураШапкиДокумента.ВалютаВзаиморасчетов; Проводка.ВалютнаяСуммаКт = СтрокаТаблицы.СуммаВал; КонецЕсли; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.05.1"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", СтруктураШапкиДокумента.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", СтруктураШапкиДокумента.ДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"ДокументыРасчетовСКонтрагентами", СтруктураШапкиДокумента.Ссылка); Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.05.2"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты", Грузоотправитель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Договоры", Грузоотправитель.ОсновнойДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "ДокументыРасчетовСКонтрагентами", СтруктураШапкиДокумента.Ссылка); Проводка.Содержание = "Реализация товаров. Наценка."; Если Проводка.СчетКт.Валютный Тогда Если СтруктураШапкиДокумента.ВалютаВзаиморасчетов = СтрокаТаблицы.ВалютаРасчетовСКомитентом тогда //Если валюта расчетов с комитентом совпадает с валютой расчетов по договору, считаем что и курсы совпадают. Проводка.ВалютаКт = СтруктураШапкиДокумента.ВалютаВзаиморасчетов; Проводка.ВалютнаяСуммаКт = СтрокаТаблицы.СуммаВал; Иначе ДанныеОВалютеРасчетовСКомитентом = МодульВалютногоУчета.ПолучитьКурсВалюты(СтрокаТаблицы.ВалютаРасчетовСКомитентом,СтруктураШапкиДокумента.Дата); Проводка.ВалютаКт = СтрокаТаблицы.ВалютаРасчетовСКомитентом; Проводка.ВалютнаяСуммаКт = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаТаблицы.Сумма ,мВалютаРегламентированногоУчета,СтрокаТаблицы.ВалютаРасчетовСКомитентом ,1,ДанныеОВалютеРасчетовСКомитентом.Курс ,1,ДанныеОВалютеРасчетовСКомитентом.Кратность); СтрокаТаблицы.СуммаВал = Проводка.ВалютнаяСуммаКт; КонецЕсли; Иначе СтрокаТаблицы.СуммаВал = Проводка.Сумма; КонецЕсли; //08.06 проводка по наценке //08.06 А теперь добавим проводку по наценке отдельно... Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаНаценки; Если Проводка.СчетКт.Валютный Тогда //Если документ в иностранной валюте, он может быть выписан только в валюте взаиморасчетов Проводка.ВалютаКт = СтруктураШапкиДокумента.ВалютаВзаиморасчетов; Проводка.ВалютнаяСуммаКт = СтрокаТаблицы.СуммаВал; КонецЕсли; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.05.2"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", Грузоотправитель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", Грузоотправитель.ОсновнойДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"ДокументыРасчетовСКонтрагентами", СтруктураШапкиДокумента.Ссылка); Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("91.01"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "ПрочиеДоходыИРасходы", Справочники.ПрочиеДоходыИРасходы.НайтиПоКоду("00021")); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "РеализуемыеАктивы", ЭтотОбъект.Контрагент.Ссылка); Проводка.Содержание = "Реализация товаров. Наценка."; Если Проводка.СчетКт.Валютный Тогда Если СтруктураШапкиДокумента.ВалютаВзаиморасчетов = СтрокаТаблицы.ВалютаРасчетовСКомитентом тогда //Если валюта расчетов с комитентом совпадает с валютой расчетов по договору, считаем что и курсы совпадают. Проводка.ВалютаКт = СтруктураШапкиДокумента.ВалютаВзаиморасчетов; Проводка.ВалютнаяСуммаКт = СтрокаТаблицы.СуммаВал; Иначе ДанныеОВалютеРасчетовСКомитентом = МодульВалютногоУчета.ПолучитьКурсВалюты(СтрокаТаблицы.ВалютаРасчетовСКомитентом,СтруктураШапкиДокумента.Дата); Проводка.ВалютаКт = СтрокаТаблицы.ВалютаРасчетовСКомитентом; Проводка.ВалютнаяСуммаКт = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СтрокаТаблицы.Сумма ,мВалютаРегламентированногоУчета,СтрокаТаблицы.ВалютаРасчетовСКомитентом ,1,ДанныеОВалютеРасчетовСКомитентом.Курс ,1,ДанныеОВалютеРасчетовСКомитентом.Кратность); СтрокаТаблицы.СуммаВал = Проводка.ВалютнаяСуммаКт; КонецЕсли; Иначе СтрокаТаблицы.СуммаВал = Проводка.Сумма; КонецЕсли; Иначе // МОЛОКО Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаВал-СтрокаТаблицы.СуммаНаценки; Проводка.КоличествоКт = СтрокаТаблицы.Количество; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.04"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Номенклатура", СтрокаТаблицы.Номенклатура); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Склады", ЭтотОбъект.Склад); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "НоменклатурныеГруппы", Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000005")); Проводка.Содержание = "Реализация товаров."; КонецЕсли; //08.06 проводка по наценке Иначе Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаВал-СтрокаТаблицы.СуммаНаценки; Проводка.КоличествоДт = СтрокаТаблицы.Количество; Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Номенклатура", СтрокаТаблицы.Номенклатура); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Склады", ЭтотОбъект.Склад); Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.05.1"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты", Грузоотправитель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Договоры", Грузоотправитель.ОсновнойДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "ДокументыРасчетовСКонтрагентами", СтруктураШапкиДокумента.Ссылка); Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаВал-СтрокаТаблицы.СуммаНаценки; Проводка.КоличествоКт = СтрокаТаблицы.Количество; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Номенклатура", СтрокаТаблицы.Номенклатура); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Склады", ЭтотОбъект.Склад); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.12"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Склады", ЭтотОбъект.Склад); Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.СуммаНаценки; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("42.02"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Склады", ЭтотОбъект.Склад); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.12"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Склады", ЭтотОбъект.Склад); Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = -СтрокаТаблицы.СуммаНаценки; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("42.02"); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Склады", ЭтотОбъект.Склад); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.2"); //Проводка = Проводки.Добавить(); //Проводка.Период = ДатаДока; //Проводка.Организация = СтруктураШапкиДокумента.Организация; //Проводка.Сумма = СтрокаТаблицы.СуммаБУ; //Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.12"); //БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Склады", ЭтотОбъект.Склад); //Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.2"); КонецЕсли; //*************************************************************************** //БухгалтерскийУчет.УстановитьПодразделенияПроводки( // Проводка, СтруктураШапкиДокумента.ПодразделениеОрганизации, СтруктураШапкиДокумента.ПодразделениеОрганизации); // //Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда // // СуммаНУДт = СтрокаТаблицы.СуммаНУ + СтрокаТаблицы.НДС; // СуммаНУКт = ?(СтрокаТаблицы.Комиссионный, СуммаНУДт, СтрокаТаблицы.СуммаНУ); // НалоговыйУчет.ЗаполнитьНалоговыеСуммыПроводки( // СуммаНУДт, СуммаНУКт, Проводка.Сумма - СуммаНУДт, Проводка.Сумма - СуммаНУДт, , , // Проводка, СтруктураШапкиДокумента.ПрименениеПБУ18); // //КонецЕсли; КонецЕсли; // НДС Если СтруктураШапкиДокумента.УчитыватьНДС И Не СтрокаТаблицы.Комиссионный И (Не СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности Или СтруктураШапкиДокумента.НачислятьНДСПоОтгрузке) И СтрокаТаблицы.НДС > 0 Тогда Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Сумма = СтрокаТаблицы.НДС; Проводка.Содержание = "Реализация " + ?(СтрокаТаблицы.Услуга, "услуг", "товаров"); Если Не СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности Тогда Проводка.СчетДт = СтрокаТаблицы.СчетУчетаНДСПоРеализации; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, 1, СтрокаТаблицы.Субконто); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "СтавкиНДС", СтрокаТаблицы.СтавкаНДС); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "РеализуемыеАктивы", СтрокаТаблицы.Номенклатура); Иначе Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НДСНачисленныйПоОтгрузке; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты",СтруктураШапкиДокумента.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"СФВыданные", СтруктураШапкиДокумента.Ссылка); КонецЕсли; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НДС; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"ВидыПлатежейВГосБюджет",Перечисления.ВидыПлатежейВГосБюджет.Налог); БухгалтерскийУчет.УстановитьПодразделенияПроводки( Проводка, СтруктураШапкиДокумента.ПодразделениеОрганизации, СтруктураШапкиДокумента.ПодразделениеОрганизации); КонецЕсли; КонецЦикла; // Для каждого СтрокаТаблицы из Выручка Цикл //***************************************************************** //***************************************************************** Если Не СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности Или СтруктураШапкиДокумента.НачислятьНДСПоОтгрузке Тогда УчетНДСФормированиеДвижений.ОтразитьНДСНалоговогоАгентаКомиссионер(СтруктураШапкиДокумента, Выручка, Движения); КонецЕсли; Если Не СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности Тогда //Зачитываем аванс по комиссионным товарам по счету комиссии Выручка.Индексы.Добавить("Комиссионный"); СтрокиКУдалению = Выручка.НайтиСтроки(Новый Структура("Комиссионный",Ложь)); Для каждого СтрокаТаблицыВыручки из СтрокиКУдалению Цикл Выручка.Удалить(СтрокаТаблицыВыручки); КонецЦикла; Выручка.Свернуть("Комитент,ДоговорКомиссии,ВалютаРасчетовСКомитентом,СчетРасчетовСКомитентом,СчетРасчетовПоАвансамСКомитентом,Услуга", "Сумма, СуммаБУ, СуммаНУ, СуммаВал"); Если Выручка.Количество()>0 тогда //УправлениеВзаиморасчетами.ЗачестьАвансПоРасчетамСКомитентом(ЭтотОбъект,СтруктураШапкиДокумента,Выручка,Отказ,Заголовок); КонецЕсли; КонецЕсли; КонецЕсли; // Если СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем Тогда // Корректировка списания партий Для Каждого СтрокаТЧ из ТаблицаПоТаре Цикл ТаблицаПартий = СтрокаТЧ.СписанныеПартии; СуммаПоПродаже = СтрокаТЧ.Сумма; Цена = СуммаПоПродаже / СтрокаТЧ.Количество; РазницаЦен = (СуммаПоПродаже - ТаблицаПартий.Итог("СуммаСписания")); Для Каждого СтрокаТП Из ТаблицаПартий Цикл ЦенаПартии = СтрокаТП.СуммаСписания / СтрокаТП.Количество; Если НЕ (Цена = ЦенаПартии) Тогда // Есть разница - нужно записать корректируюущую проводку. ДоляСуммыСписания = СтрокаТП.Количество / СтрокаТЧ.Количество * СтрокаТЧ.СуммаБУ - СтрокаТП.СуммаСписания; Если РазницаЦен > 0 Тогда Проводка = Проводки.Добавить(); Проводка.Период = ДатаДока; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Содержание = "Возврат тары"; Проводка.Сумма = ДоляСуммыСписания; Проводка.СчетДт = СтрокаТЧ.КорСчетСписания; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", СтруктураШапкиДокумента.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", СтруктураШапкиДокумента.ДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"ДокументыРасчетовСКонтрагентами", СтруктураШапкиДокумента.Ссылка); Проводка.СчетКт = СтруктураШапкиДокумента.СчетУчетаДоходовПоТаре; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"ПрочиеДоходыИРасходы", СтруктураШапкиДокумента.СтатьяДоходовИРасходовПоТаре); БухгалтерскийУчет.УстановитьПодразделенияПроводки( Проводка, СтруктураШапкиДокумента.ПодразделениеОрганизации, СтруктураШапкиДокумента.ПодразделениеОрганизации); Если Проводка.СчетДт.Валютный Тогда Если СтрокаТЧ.Сумма = СтрокаТЧ.СуммаВал Тогда Проводка.ВалютаДт = Константы.ВалютаРегламентированногоУчета.Получить(); Проводка.ВалютнаяСуммаДт = ДоляСуммыСписания; Иначе Если (ЗначениеЗаполнено(СтрокаТЧ.ДоговорКонтрагента)) И (ТипЗнч(СтрокаТЧ.ДоговорКонтрагента) = Тип("СправочникСсылка.ДоговорыКонтрагентов")) Тогда Проводка.ВалютаДт = СтрокаТЧ.ДоговорКонтрагента.ВалютаВзаиморасчетов;   |
|||
15
Ленулькин
15.08.13
✎
10:41
|
Как мне написать чтобы он счет
76.05.1 - 76.05.2 76.05.2 - 92.01 заменял только на 90.02.1 -41.04 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |