Перенос торговых операций в бухгалтерию БП 3.0 без детализации по номенклатуре

Опубликовал Виктор Левченко (lvictor58) в раздел Программирование - Практика программирования

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

Думаю, что эта тема будет интересна тем, у кого учет торговых операций ведется в ТиС (для платформы 7.7) или УТ, а затем данные по закупкам – продажам переносятся в БП версий 2.0 или 3.0. Фактически происходит дублирование огромных массивов информации, что для нормального ведения бухгалтерского учета абсолютно не нужно.

И это не лично мое мнение, а тех бухгалтеров, которым приходится работать с вечно тормозящими базами данных, в которых перепроводятся накладные, содержащие сотни строк по тысячам позиций номенклатуры. И именно с их подачи я упростил этот процесс.

Суть вот в чем: в качестве товара выступает всегда одна «Предопределенная» позиция справочника номенклатуры. В расходных документах обязательно указывается документ поставки (почти во всех документах в табличной части «Товары» есть реквизит «Документ оприходования») и себестоимость. Данные значения берутся из движений по регистру партионного учета при выгрузке данных из ТиС или УТ. Затем таблицы сворачиваются в разрезе поставок. Десятки строк превращаются в единицы, сотни в 1-2 десятка. Кроме того, что уменьшается объем информации, но еще и ускоряется проведение таких документов по бухучету: при заполненных выше перечисленных реквизитах программа не производит вычисление партий, которые можно списать, а тупо берет указанные.

Объем доработок конфигурации в моем случае оказался минимальным. Для БП 2.0 пришлось доработать:

  • «Возврат от покупателя» -добавить  реквизит «Документ оприходования» и внести исправление в процедуру проведения.
  • «Отчет о розничных продажах» - в процедуре «ДвиженияПоРегистрам» модуля объекта в «СтруктураТаблицыВыручки» добавил еще один ключ «ДокументОприходования».
  • «Комплектация номенклатуры». Здесь проблема возникла в части разукомплектации: для указания партий раздербаниваемых комплектов одного реквизита может оказаться недостаточно – может быть списано несколько партий по одной операции. Поэтому пришлось добавить еще одну табличную часть «Комплекты» с тремя колонками  «Количество», «Документ оприходования» и «Себестоимость». Ну и перелопатить модуль проведения.

Кроме того, в расходных документах почему-то не представлялось возможным ни просматривать, ни заполнять партии и себестоимость даже там, где они присутствовали в табличных частях.

Фрагменты кода я не привожу, чтобы не загромождать статью уже не очень актуальной информацией – сейчас все переходят на версию БП 3.0. Я тоже готовлюсь. По результатам тестирования  «Отчет о розничных продажах» доработок не требует. В 2-х других документах пришлось добавить те же реквизиты и подправить модуль менедмера.

Хочу еще вот о чем сказать. Фирмы, в которых я делал доработки, работают на упрощенке «Доходы минус расходы», поэтому учет по партиям для них обязателен для правильного учета этих самых доходов и расходов.

Мне оч-ч-чень важно узнать мнение сообщества по этому вопросу: допустимо ли то, что я делаю. В свое оправдание хочу лишь сказать, что за те 3 года, в течение которых этот учет имеет место быть. никаких нареканий от пользователей не прозвучало.

Ниже привожу фрагменты кода, котовый пришлось подкорректировать.

Возврат от покупателя МОДУЛЬ МЕНЕДЖЕРА
Функция ТекстЗапросаВременныеТаблицыДокумента(НомераТаблиц)
| ТаблицаТовары.Номенклатура,
| ВЫБОР
| КОГДА ТаблицаТовары.ДокументОприходования ЕСТЬ НЕ NULL 
| ТОГДА ТаблицаТовары.ДокументОприходования
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК ДокументОприходования,

Функция ТекстЗапросаСписаниеТоваров(НомераТаблиц, ПараметрыПроведения, Реквизиты)
..................
Если НЕ Реквизиты.ЭтоДоговорСКомиссионером Тогда
....................
| ВЫБОР
| КОГДА ТаблицаТовары.ДокументОприходования ЕСТЬ НЕ NULL 
| ТОГДА ТаблицаТовары.ДокументОприходования
| КОГДА Реквизиты.УказанДокументОтгрузки
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Реквизиты.Ссылка
| КОНЕЦ КАК Партия,

Функция ТекстЗапросаРасходыУСН(НомераТаблиц, ПараметрыПроведения, Реквизиты)
.........................
Если НЕ ЗначениеЗаполнено(Реквизиты.Сделка) Тогда
.........................
| ВЫБОР
| КОГДА ТаблицаТовары.ДокументОприходования ЕСТЬ НЕ NULL 
| ТОГДА ТаблицаТовары.ДокументОприходования
| ИНАЧЕ ТаблицаТовары.Ссылка
| КОНЕЦ КАК Партия,
| ТаблицаТовары.Количество КАК Количество,

.........................

 

Комплектация товаров

Форма документа: Новая страница "ГруппаКомплекты". Путь к данным заголовка: Объект.Комплекты.КоличествоСтрок

Модуль формы

Процедура УправлениеВидимостью()

Элементы.СпособУчетаНДС.Видимость = Объект.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация;

Элементы.ГруппаКомплекты.Видимость = Объект.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация;
Элементы.ГруппаНДС.Видимость = РаздельныйУчетНДС;

Элементы.ГруппаСтраницы.ОтображениеСтраниц = ?(РаздельныйУчетНДС ИЛИ Объект.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.Комплектация,
ОтображениеСтраницФормы.ЗакладкиСверху, ОтображениеСтраницФормы.Нет);

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

Модуль менеджера

Функция ТекстЗапросаВременныеТаблицыДокумента(НомераТаблиц)

// Временная таблица
НомераТаблиц.Вставить("ВременнаяТаблицаКомплектующие", НомераТаблиц.Количество());
НомераТаблиц.Вставить("ВременнаяТаблицаКомплекты", НомераТаблиц.Количество());
ТекстЗапроса =
"ВЫБРАТЬ
| Комплектующие.Ссылка,
| Комплектующие.НомерСтроки,
| Комплектующие.ДоляСтоимости,
| Комплектующие.Количество,
| Комплектующие.Номенклатура,
| Комплектующие.Сумма,
| Комплектующие.СчетУчета,
| Комплектующие.НомерГТД,
| Комплектующие.СтранаПроисхождения,
| Комплектующие.ДокументОприходования,
| Комплектующие.Себестоимость,
| Комплектующие.СпособУчетаНДС КАК СпособУчетаНДСКомплектующей,
| Комплектующие.Ссылка.СпособУчетаНДС КАК СпособУчетаНДСКомплекта
|ПОМЕСТИТЬ ТаблицаКомплектующие
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплектующие КАК Комплектующие
|ГДЕ
| Комплектующие.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Комплекты.Ссылка,
| Комплекты.НомерСтроки,
| Комплекты.Количество,
| Комплекты.Себестоимость,
| Комплекты.ДокументОприходования,
| Комплекты.Ссылка.Номенклатура,
| Комплекты.Ссылка.СпособУчетаНДС КАК СпособУчетаНДСКомплекта
|ПОМЕСТИТЬ ТаблицаКомплекты
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплекты КАК Комплекты
|ГДЕ
| Комплекты.Ссылка = &Ссылка";

Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();
КонецФункции
Функция ТекстЗапросаСписаниеТоваровРазукомплектация(НомераТаблиц)
НомераТаблиц.Вставить("СписаниеТоваровРазукомплектация", НомераТаблиц.Количество());
НомераТаблиц.Вставить("СписаниеТоваровРазукомплектацияТаблица", НомераТаблиц.Количество());

ТекстЗапроса =
"ВЫБРАТЬ
| Реквизиты.Ссылка КАК Регистратор,
| Реквизиты.Дата КАК Период,
| ""Списание"" КАК ТипСписания,
| ТаблицаКомплекты.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаКомплекты.ДокументОприходования ЕСТЬ НЕ NULL 
| ТОГДА ТаблицаКомплекты.ДокументОприходования
| ИНАЧЕ Реквизиты.Ссылка
| КОНЕЦ КАК ДокументРеализации,
| Реквизиты.ВидОперации КАК ВидОперации,
| Реквизиты.Организация КАК Организация,
| ЛОЖЬ КАК ДеятельностьНаПатенте,
| Реквизиты.Склад КАК Склад,
| Реквизиты.Склад.ТипСклада КАК ТипСклада,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| Реквизиты.ПодразделениеОрганизации КАК Подразделение,
| Реквизиты.ПодразделениеОрганизации КАК КорПодразделение,
| ТаблицаКомплекты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаКомплекта,
| ТаблицаКомплекты.Количество КАК Количество,
| ТаблицаКомплекты.Себестоимость КАК Себестоимость,
| ""Комплектация"" КАК Содержание
|ИЗ
| ТаблицаКомплекты КАК ТаблицаКомплекты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры КАК Реквизиты
| ПО (&ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация))
| И (Реквизиты.Ссылка = &Ссылка)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ""Комплектующие"" КАК ИмяСписка,
| &СинонимКомплектующие КАК СинонимСписка,
| ТаблицаКомплектующие.НомерСтроки КАК НомерСтроки,
| Реквизиты.СчетУчета КАК СчетУчета,
| Реквизиты.Номенклатура КАК Номенклатура,
| Реквизиты.Склад КАК Склад,
| Реквизиты.Дата КАК Период,
| НЕОПРЕДЕЛЕНО КАК ДокументОприходования,
| 0 КАК Себестоимость,
| Реквизиты.ПодразделениеОрганизации КАК КорПодразделение,
| НЕОПРЕДЕЛЕНО КАК Комитент,
| НЕОПРЕДЕЛЕНО КАК ДоговорКомиссии,
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетАвансовСКомитентом,
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетРасчетовСКомитентом,
| НЕОПРЕДЕЛЕНО КАК ВалютаРасчетовСКомитентом,
| 0 КАК СуммаРасчетовСКомитентом,
| ТаблицаКомплектующие.СчетУчета КАК КорСчетСписания,
| ТаблицаКомплектующие.Номенклатура КАК КорСубконто1,
| Реквизиты.Склад КАК КорСубконто2,
| Реквизиты.Ссылка КорСубконто3,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура) КАК ВидКорСубконто1,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады) КАК ВидКорСубконто2,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии) КАК ВидКорСубконто3,
| ТаблицаКомплектующие.Количество КАК КоличествоКомплектующих,
| ТаблицаКомплектующие.ДоляСтоимости КАК ДоляСтоимости
|ИЗ
| ТаблицаКомплектующие КАК ТаблицаКомплектующие
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры КАК Реквизиты
| ПО (&ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация))
| И (Реквизиты.Ссылка = &Ссылка)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";

Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();

КонецФункции
Функция ПодготовитьТаблицуСписаниеТоваровРазукомплектация(СписаниеТоваровРазукомплектацияТаблица, ТаблицаРеквизиты) Экспорт
//Реквизиты = ТаблицаРеквизиты[0];
//
//ТаблицаСписания = СписаниеТоваровРазукомплектацияТаблица.Скопировать();
//ТаблицаСписания.Колонки.Добавить("Количество", ОбщегоНазначения.ОписаниеТипаЧисло(15, 3));
//
//Если ТаблицаСписания.Количество() = 0
// ИЛИ Реквизиты.Количество = 0
// ИЛИ Реквизиты.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация Тогда
// Возврат ТаблицаСписания;
//КонецЕсли;
//
//МассивКоэффициентов = ТаблицаСписания.ВыгрузитьКолонку("ДоляСтоимости");
//
//МассивРезультата = ОбщегоНазначенияБПКлиентСервер.РаспределитьПропорционально(Реквизиты.Количество, МассивКоэффициентов, 3);
//Если МассивРезультата <> Неопределено Тогда
// ТаблицаСписания.ЗагрузитьКолонку(МассивРезультата, "Количество");
//КонецЕсли;

//------------------------------------------------
ТаблицаСписания = СписаниеТоваровРазукомплектацияТаблица.СкопироватьКолонки();
ТаблицаСписания.Колонки.Добавить("Количество", ОбщегоНазначения.ОписаниеТипаЧисло(15, 3));
ВсегоКоличество = ТаблицаРеквизиты.Итог("Количество");

Если СписаниеТоваровРазукомплектацияТаблица.Количество() = 0
ИЛИ ВсегоКоличество = 0
ИЛИ ТаблицаРеквизиты[0].ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.Разукомплектация Тогда
Возврат ТаблицаСписания;
КонецЕсли;

ВсегоСебестоимость = ТаблицаРеквизиты.Итог("Себестоимость"); ОсталосьСебестоимость = ВсегоСебестоимость;
ВсегоДолей = СписаниеТоваровРазукомплектацияТаблица.Итог("ДоляСтоимости");

МассивКоэффициентов = СписаниеТоваровРазукомплектацияТаблица.ВыгрузитьКолонку("ДоляСтоимости");
МассивКомплектующих = СписаниеТоваровРазукомплектацияТаблица.ВыгрузитьКолонку("КоличествоКомплектующих"); МассивКомплектующихОст = МассивКомплектующих;

Для А=1 По ТаблицаРеквизиты.Количество() Цикл
РеквСтр = ТаблицаРеквизиты[А-1];

МассивРезультатаКолво = ОбщегоНазначенияБПКлиентСервер.РаспределитьПропорционально(РеквСтр.Количество, МассивКоэффициентов, 3);
МассивРезультатаСебест = ОбщегоНазначенияБПКлиентСервер.РаспределитьПропорционально(РеквСтр.Себестоимость, МассивКоэффициентов, 2);

Для Ф=1 По СписаниеТоваровРазукомплектацияТаблица.Количество() Цикл
НовСтр = ТаблицаСписания.Добавить();
СущСтр = СписаниеТоваровРазукомплектацияТаблица[Ф-1];
ЗаполнитьЗначенияСвойств(НовСтр, СущСтр);
НовСтр.ДокументОприходования = РеквСтр.ДокументРеализации;

КолвоДетали = МассивКомплектующихОст[Ф-1]; КолвоОстатка = КолвоДетали;
Если А < ТаблицаРеквизиты.Количество() Тогда
КолвоДетали = Окр(МассивКомплектующих[Ф-1] / ВсегоКоличество * РеквСтр.Количество, 3);
КолвоОстатка = КолвоОстатка - КолвоДетали;
МассивКомплектующихОст[Ф-1] = КолвоОстатка;
КонецЕсли;
НовСтр.КоличествоКомплектующих = КолвоДетали;

Если МассивРезультатаКолво <> Неопределено Тогда
НовСтр.Количество = МассивРезультатаКолво[Ф-1];
КонецЕсли;
Если МассивРезультатаСебест <> Неопределено Тогда
НовСтр.Себестоимость = МассивРезультатаСебест[Ф-1];
КонецЕсли;
КонецЦикла;
КонецЦикла;

Возврат ТаблицаСписания;
КонецФункции

См. также

Добавить вознаграждение
Комментарии
1. Сергей (Che) Коцюра (CheBurator) 3367 12.06.15 03:11 Сейчас в теме
Если вы по "свернутой" бухгалтерской проводке сможете достаточно быстро выдать развернутые цифры, то вполне нормально. если же нет - это большая сильная бяка. а скорее всего будет "нет" - так как для выдачи развернутой информации потребуются либо обмены либо что-то еще, что не работает без участия технического специалиста. Наличие полных данных в бухбазе - не требует присутствия технического специалиста для их обработки (просмотра, выдачи на печать и прочее типовое). Вдобавок - свернутые проводки в бухбазе - не дают возможности прозрачно сопоставить данные с первичкой. тупо например выяснить, что является налогооблагаемой базой в сделке с товаромА по реализации-накладнойБ - без наличия "паралельной" базы в виде УТ/иной - трудно решаемая/нерешаемая задача.
Вообщем, как всегда - выиграв в одном, мы проигрываем в другом.
2. Виктор Левченко (lvictor58) 124 14.06.15 23:31 Сейчас в теме
Вполне очевидно из описания, что никаких развернутых цифр в бухгалтерии нет. Вся детализация в УТ (или как у моих клиентов - в ТиС). Там же выписывается и вся первичка. Свернутых данных для бухгалтерии достаточно для формирования налоговой отчетности. Отнесение к затратам в УСН, не вдаваясь в подробности) это оприходование ТМЦ и оплата, что вполне реально оценивается программой в разрезе поставок - для поставщиков и оплаты отгруженного товара покупателями. И всех это устраивает.
3. г. Казань Рустем Гумеров (Rustig) 777 14.06.15 23:53 Сейчас в теме
(0) задача у вас "типовая" и "часто встречаемая"...
пожелания бухгалтеров оправданы и имеют место быть...
я пока не касаюсь вашего решения...
4. г. Казань Рустем Гумеров (Rustig) 777 15.06.15 00:00 Сейчас в теме
(0)
«Комплектация номенклатуры». Здесь проблема возникла в части разукомплектации: для указания партий раздербаниваемых комплектов одного реквизита может оказаться недостаточно – может быть списано несколько партий по одной операции. Поэтому пришлось добавить еще одну табличную часть «Комплекты» с тремя колонками «Количество», «Документ оприходования» и «Себестоимость». Ну и перелопатить модуль проведения.

я пока не касаюсь вашего решения в целом, пока напишу что мне не нравится добавленная вами табличная часть в документе "Комплектация ном-ры". Проблемы известны : в момент записи у вас определяется одна партия, при закрытии месяца другая по причине что документы довезли и допориходовали... при этом придется перезаполнять табличную часть Комплектации или по всем документам при закрытии месяца или при каждом проведении документов приходов....
в принципе у вас основная задача - это определить корректно себестоимость списания. она решается другим способом, не надо плодить табличные части в Комплектациях....
5. г. Казань Рустем Гумеров (Rustig) 777 15.06.15 00:06 Сейчас в теме
(0) почему пришлось переписывать алгоритмы проведения? как у вас обмен происходит? с помощью типовых правил обмена? пробовали просто переопределить в правилах обмена выгружаемую номенклатуру на ПредопределнныйВашТовар? почему этого не достаточно?
6. Андрей (h00k) 42 15.06.15 06:08 Сейчас в теме
(5) Rustig,
почему этого не достаточно?	

Скорее всего потому, что при таком подходе НДС "плывет" при типовом проведении.
7. г. Казань Рустем Гумеров (Rustig) 777 15.06.15 06:46 Сейчас в теме
8. Виктор Левченко (lvictor58) 124 15.06.15 11:07 Сейчас в теме
(5) Попробую пояснить, но не знаю насколько доходчиво это получится. Для начала просто попытайтесь врубиться в элементарные вещи. В одной реальной поставке товары имеют различную себестоимость и различную наценку. Это не овощная лавка, где на приход от поставщика накручивается процент наценки и товар по этой цене выставляется в торговый зал. Поэтому какие бы то ни было расчеты - пересчеты по "сводной" позиции номенклатуры исключаются. Все данные берутся из УТ или ТиС (давайте далее будем считать что это УТ) после оформления и перероведения там всех документов (восстановления последовательности) и закрытия месяца по торговым операциям. И даже если партия по какой-то причине там отсутствует, то в БП мы все равно должны указать документ и себестоимость хотя бы 1 копейку - что бы исключить пересчет. Потому и пришлось переписывать алгоритмы проведения в тех документах где разработчиками эти условия не выполнялись. В возврате товаров от покупателя можно было указать только документ сделки т.е. продажи. Представьте себе, что это это «Отчет о розничных продажах» на 100 000 рублей с себестоимостью на 70 000 рублей. и общим количеством N штук, килограммов, квадратных метров. Возвращают какую-то фмговину стоимостью 20 рублей и с/с 10. И если этого не указать, то программа тупо подставит первую по дате прихода партию и списанную по ней с/с разделит на списанное по ней же кол-во. И вместе с "копеечным" товарам вернет нам 1000 рублей себестоимости. Или наоборот с "дорогим" вернет копейки. И неизвестно, что хуже. Но в любом случае косяки в учете обеспечены, и чем дальше - тем будет хуже. Поэтому и пришлось "допиливать" конфигурацию, что бы в УТ и БП все было 1:1 и реальные данные а не черте что! Аналогично и при разукомплектации, которой подвергается конкретный товар, поступивший к нам по конкретной поставке и по четко обозначенной себестоимости которые в стандартном документе засунуть некуда.

Типовые правила обмена тоже пришлось допиливать подменой товарных позиций и выполняя свертку по поставкам.

(6) Не понимаю как НДС вообще куда-то может плыть. Тем более, что в УСН он вообще отсутствует.
9. г. Казань Рустем Гумеров (Rustig) 777 15.06.15 19:15 Сейчас в теме
(8) я согласен с тем, что конфигурация УТ полностью не автоматизирована в этом вопросе. Есть, где развернуться внедренцам.

У БП 2.0 есть механизм "не рассчитывать себестоимость самой, а брать из УТ" - и я так понимаю, вы это используете? Остается только допилить корректный расчет себестоимости в УТ и обмен из УТ в БП....

Хотел бы разобраться вот с чем: у вас в документах кто выбирает ключ "ДокументОприходования": сама программа автоматически или человек-оператор?

и еще, пока не ясно, у вас "чистое" ФИФО или "доработанное" ФИФО ?
непонятно как так может быть:
на 100 000 рублей с себестоимостью на 70 000 рублей. и общим количеством N штук, килограммов, квадратных метров. Возвращают какую-то фмговину стоимостью 20 рублей и с/с 10. И если этого не указать, то программа тупо подставит первую по дате прихода партию и списанную по ней с/с разделит на списанное по ней же кол-во. И вместе с "копеечным" товарам вернет нам 1000 рублей себестоимости. Или наоборот с "дорогим" вернет копейки.


ведь по ФИФО все четко - пришел товар за 10р, продали за "все равно за сколько", возвращают его, должен сесть приход соразмерно возвращаемому кол-ву и себестоимости 10р... напишите пож-та пример сложного учета себестоимости товара, из которого следуют ваши выводы.
10. Виктор Левченко (lvictor58) 124 16.06.15 10:26 Сейчас в теме
(9) В УТ ничего допиливать не надо. Там программа все считает правильно. При переносе в БП я переношу не тупо документы из УТ, а с учетом их движений по регистру "Партии товаров на складах" откуда и беру значения документов оприходования и себестоимости. И операторам на этом заморачиваться не только не нужно (у них другие задачи), но и вредно даже: такого накосячат, что мама родная, только дай им волю.

В ФИФО все четко, когда четко указан товар, а когда вместо него и приходуется и продается то, что вы назвали "ПредопределнныйВашТовар" вся четкость пропадает. И все приходится указывать конкретно. Попробуйте это самостоятельно осмыслить. Или посмотреть в УТ как там проводится возврат от покупателя, введенный на основании реализации. И сопоставить с тем, о чем я писал в предыдущем посте.
11. г. Казань Рустем Гумеров (Rustig) 777 16.06.15 23:22 Сейчас в теме
(10)
В УТ ничего допиливать не надо. Там программа все считает правильно. При переносе в БП я переношу не тупо документы из УТ, а с учетом их движений по регистру "Партии товаров на складах" откуда и беру значения документов оприходования и себестоимости. И операторам на этом заморачиваться не только не нужно (у них другие задачи), но и вредно даже: такого накосячат, что мама родная, только дай им волю.

ясно, за пояснение спасибо, сразу и непонятно
В ФИФО все четко, когда четко указан товар, а когда вместо него и приходуется и продается то, что вы назвали "ПредопределнныйВашТовар" вся четкость пропадает. И все приходится указывать конкретно. Попробуйте это самостоятельно осмыслить. Или посмотреть в УТ как там проводится возврат от покупателя, введенный на основании реализации. И сопоставить с тем, о чем я писал в предыдущем посте.

Приходуется и продается товар в УТ, а в не в БП! В УТ ФИФО корректно считается - ваши слова. Остается только перенести все в БП с привязкой к документам партиям. Мне не нравится что вы сворачиваете строки в документах БП по документам партиям - отсюда проблемы с ФИФО. В проводках БП надо не рассчитывать стоимость списания, а брать из табличной части документа, которая заполняется из УТ в момент обмена.
12. Виктор Левченко (lvictor58) 124 17.06.15 10:13 Сейчас в теме
(11) Rustig,
"В проводках БП надо не рассчитывать стоимость списания, а брать из табличной части документа, которая заполняется из УТ в момент обмена" так я про то же самое говорю. Но: в возврате от покупателя отсутствовал реквизит "Документ оприходования" и при проведении программа расчетным путем его определяла. Когда я его добавил и начал заполнчть данными из УТ - все стало работать нормально. Аналогичная ситуация и с разукомплектацией. Кажется, что мы с Вами воду в ступе толочь начинаем.
Расскажите лучше, как вы цитаты в текст своего ответа вствляете, чтобы они выделялись?
13. Анастасия Столбовская (StAsya_1C) 14 17.06.15 11:24 Сейчас в теме
Подход неплох, тоже в одном проекте думали над ним, но потом отказались по следующим причинам:
- если документ партии из УТ не отражался в бух.учете, то в бухгалтерию в качестве документа оприходования ничего не перегрузится, при проведении определится свой документ партии - и вечный минус в БП по товару в разрезе документов обеспечен
- себестоимость из УТ штука интересная, особенно, например для УТ 10.3. Вся себестоимость либо с НДС, либо вся без НДС. И если есть несколько юр лиц, часть на ОСН, часть на УСН - то не забудьте при обмене добавить/убрать НДС тем, кому он нужен/не нужен, и с учетом ставок 10 или 18 (в принципе, на этапе выгрузки УТ кривовато, но можно определить, какой был НДС и был ли он).

Остановились на варианте все же переносить номенклатуру, но не тянуть документы партии и себестоимость. И там, где можно, в БП поставить учет МПЗ по-средней.
14. г. Казань Рустем Гумеров (Rustig) 777 18.06.15 10:13 Сейчас в теме
(12)
Расскажите лучше, как вы цитаты в текст своего ответа вствляете, чтобы они выделялись?

когда оформляете сообщение, над окном ввода текста должны присутствовать кнопки - среди них есть "кавычки" - оформление текста в виде цитаты - между тегами вставляйте скопированный текст, или сначала выделите его в чужом сообщении, а затем жмите оформить в виде цитаты, веб-страница сама подставит в ваше сообщение цитату
Кажется, что мы с Вами воду в ступе толочь начинаем.

Нет, не начали, это только вам кажется - вы эту проблему несколько лет "сопровождаете", поэтому в статье "проглотили" часть мысли... я восполнил некоторые пробелы.
и все-таки осталось не ясно:
1) вы сворачиваете ТЧ в документах БП? чем аргументируете?
2) у вас до сих пор проблемы с тем, что
на 100 000 рублей с себестоимостью на 70 000 рублей. и общим количеством N штук, килограммов, квадратных метров. Возвращают какую-то фмговину стоимостью 20 рублей и с/с 10. И если этого не указать, то программа тупо подставит первую по дате прихода партию и списанную по ней с/с разделит на списанное по ней же кол-во. И вместе с "копеечным" товарам вернет нам 1000 рублей себестоимости. Или наоборот с "дорогим" вернет копейки.

15. Виктор Левченко (lvictor58) 124 18.06.15 17:37 Сейчас в теме
(14)
1) вы сворачиваете ТЧ в документах БП? чем аргументируете?


Товар везде один и тот же (для исключения каких-либо недоразумений он подставляется в параметрах выгрузки поиском по коду) и сворачиваем табличную часть в разрезе документов поставки. Какие тут еще аргументы нужны?

по второму тегу: тут тоже проблем никаких нет. Надо просто обязательно указывать документ поставки и себестоимость (определяются, как я уже говорил, при выгрузке данных в БП). Указанные суммы по указанным поставкам списываются при проведении документов с 41 счета без каких-либо пересчетов и подмены указанных значений. А описанная мной проблема, на которую Вы и ссылались возникала в типовом (от 1С) возврате от покупателя с отсутствующем в ТЧ реквизите "Документ оприходывания".