Имя: Пароль:
1C
1С v8
БП 2.0. Оптовый и розничный склад
0 ErrorEd88
 
26.12.11
15:14
В БП 2.0 идет загрузка из УТ 10.3. Формируется документ ПТиУ (по всем складам и товарам сводно на один склад). Нужно выделить НДС - какой идет на розницу, а какой на опт (в конце месяца становится известно, сколько идет на розницу, а сколько на опт). По рознице ведется суммовой учет.
Добавил в ПТиУ 2 реквизита - ПроцентОпт и РозничныйСклад.


Если ЗначениеЗаполнено(ЭтотОбъект.ПроцентОпт) И ЭтотОбъект.ПроцентОпт <=100 И Товары.Количество() > 0 Тогда
                                 Движения.Хозрасчетный.Записывать = Истина;
                                Движения.Хозрасчетный.Очистить();
                                 
Для Каждого ТекСтрокаТовары Из ЭтотОбъект.Товары Цикл
                                     //Дт 41.01 Кт 60.01
                                     Движение = Движения.Хозрасчетный.Добавить();
                                     Движение.СчетДт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
                                     Движение.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
                                     Движение.Период = ЭтотОбъект.Дата;
                                     Движение.Организация =ЭтотОбъект.Организация;
                                     Движение.Сумма = ((ТекСтрокаТовары.Сумма - ТекСтрокаТовары.СуммаНДС)*ЭтотОбъект.ПроцентОпт)/100;
                                     Движение.КоличествоДт = ТекСтрокаТовары.Количество;
                                     Движение.Содержание = "Поступление товаров по вх.д." + Строка(ЭтотОбъект.НомерВходящегоДокумента) + " от " + Формат(ЭтотОбъект.ДатаВходящегоСчетаФактуры,"ДФ=dd.MM.yyyy");
                                     //Субконто Дт
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии] = ЭтотОбъект.Ссылка;
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады] = ЭтотОбъект.Склад;
                                     //Субконто Кт
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ЭтотОбъект.ДоговорКонтрагента;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами] = ЭтотОбъект.Ссылка;
                                     
                                     //Дт 19.03.1 Кт 60.01
                                     Движение = Движения.Хозрасчетный.Добавить();
                                     Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоРеквизиту("КодБыстрогоВыбора","19031");//НайтиПоНаименованию("НДС по приобретенным материально-производственным запасам в опт. торговле");
                                     Движение.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
                                     Движение.Период = ЭтотОбъект.Дата;
                                     Движение.Организация = ЭтотОбъект.Организация;
                                     Движение.Сумма = (ТекСтрокаТовары.СуммаНДС * ЭтотОбъект.ПроцентОпт)/100;
                                     Движение.Содержание = "Поступление товаров по вх.д." + Строка(ЭтотОбъект.НомерВходящегоДокумента) + " от " + Формат(ЭтотОбъект.ДатаВходящегоСчетаФактуры,"ДФ=dd.MM.yyyy");
                                     //Субконто Дт
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные] = ЭтотОбъект.Ссылка;
                                     //Субконто Кт
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ЭтотОбъект.ДоговорКонтрагента;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами] = ЭтотОбъект.Ссылка;
                                     
                                     //Дт 41.12 Кт 60.01
                                     Движение = Движения.Хозрасчетный.Добавить();
                                     Движение.СчетДт = ПланыСчетов.Хозрасчетный.ТоварыВРозничнойТорговлеВПродажныхЦенахНТТ;
                                     Движение.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
                                     Движение.Период = ЭтотОбъект.Дата;
                                     Движение.Организация = ЭтотОбъект.Организация;
                                     Движение.Сумма = ((ТекСтрокаТовары.Сумма - ТекСтрокаТовары.СуммаНДС)*(100 - ЭтотОбъект.ПроцентОпт))/100;
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады] = ЭтотОбъект.Склад;
                                     //Субконто Кт
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ЭтотОбъект.ДоговорКонтрагента;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами] = ЭтотОбъект.Ссылка;
                                     
                                     //Дт 19.03.2 Кт 60.01
                                     Движение = Движения.Хозрасчетный.Добавить();
                                     Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоРеквизиту("КодБыстрогоВыбора","19032");
                                     Движение.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
                                     Движение.Период = ЭтотОбъект.Дата;
                                     Движение.Организация = ЭтотОбъект.Организация;
                                     Движение.Сумма = (ТекСтрокаТовары.СуммаНДС * (100 - ЭтотОбъект.ПроцентОпт))/100;
                                     Движение.Содержание = "Поступление товаров по вх.д." + Строка(ЭтотОбъект.НомерВходящегоДокумента) + " от " + Формат(ЭтотОбъект.ДатаВходящегоСчетаФактуры,"ДФ=dd.MM.yyyy");
                                     //Субконто Дт
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СФПолученные] = ЭтотОбъект.Ссылка;
                                     //Субконто Кт
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = ЭтотОбъект.Контрагент;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = ЭтотОбъект.ДоговорКонтрагента;
                                     Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ДокументыРасчетовСКонтрагентами] = ЭтотОбъект.Ссылка;
                                 КонецЦикла;
                                 
КонецЕсли; //

Осталось сделать аналогичные движения по регистрам накопления.
Чего можно ждать в БП после подобных манипуляций? Страшно) Можно как то по другому решить?
1 ErrorEd88
 
26.12.11
15:17
\
2 zelebobi4
 
26.12.11
15:19
Делай с самого начала все правильно и будет все хорошо.
3 ErrorEd88
 
26.12.11
15:28
(2) В самой УТ учет не правильный. Отключен контроль по складам. Перемещения по складам делаются через раз и т.д. (Почти все сотрудники работают "по блату").
Программист всегда исправляет последнюю ошибку.