Расчет фактической себестоимости в БП. Как это должно работать.




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. Ish_2

    Начальные знания (ликбез) , на мой взгляд , изложены сжато и конкретно.

    Для меня — очень полезно.

    Reply
  2. Alraune

    Отлично написано, четко и по делу. Автор, пишите еще, пожалуйста.

    Reply
  3. Шёпот теней

    … хм …

    мне кажется «здесь» не столько начальные знания сколько грамотное, практическое — методическое изложение методологии расчета ..

    … вот …

    присоединяюсь к (2) …

    Reply
  4. nafa

    Изложение очень понятное и доступное, а название лучше читать, как «Расчет фактической себестоимости в БП. Как это реализовано в типовой конфигурации«. (О том, наколько это соответствует понятию «как должно работать» весьма красноречиво свидетельствует вступительная картинка)

    Reply
  5. Valerich

    (4) спасибо, но… в типовой только попытка реализовать именно так. Просто очень часто оно не работает вообще. Поэтому и написал — как должно работать. Не в том смысле, что так правильно с точки зрения расчета себестоимости как таковой, а именно так задумано в типовой. Но из-за неверного программного решения в реальности редко работает.

    Reply
  6. Diversus

    Содержательно, грамотно. Однозначно плюс.

    Reply
  7. leosoft

    Отличная статья — именно так должна писаться документация по программе, а не так, как это делают в «1С» — формы и поля перепишут и все, а логику сами додумывайте! В принципе вся кухня пришла из семерки… Но вот меня ставит в тупик тот факт, что 25 счет закрывает подразделение в подразделение! А как быть, если подразделение — «ремонтный цех», который обслуживает несколько подразделений 20 счета? По идее — это и есть общепроизводственные расходы! На 26 счет этот цех вроде не логично отправлять. С восьмеркой не работаю, а в семерке явно не хватает отчетов по распределению затрат по номенклатуре — эти отчеты «запрятаны» и доступны только при проведении документа «Закрытие месяца»… Полагаю, что восьмерка недалеко ушла.

    Reply
  8. Valerich

    (7) затраты ремонтного цеха отнесите на счета 23 (и 25, если Вы хотите разделить весь комплекс услуг этого цеха на несколько НГ для анализа). Далее оформляете для этого подразделения один или несколько документов «Отчет производства за смену», где на закладке «Услуги» расписываете услуги, которые он оказывает в разрезе НГ и корреспонденстких счетов с аналитикой (например, 20 счета производственных подразделений, которые он обслуживает с их набором НГ или 25 счет этих подразделений, если невозможно сразу привязать к их НГ). Плановые суммы, как я уже писал, могут являться количественными показателями оказанных услуг. Такие затраты для производственных подразделений будут являться вторичными. Сформируются проводки Дт счетов затрат, которые Вы указали в ТЧ «Услуги» Кт 23 Ремонтный цех + НГ, которые Вы указали в соответствующей графе.

    В итоге этот документ опишет выработку подразделения «Ремонтный цех» и его затраты при закрытии месяца распределятся пропорционально плановых сумм на затраты указанных Вами счетов затрат, подразделений, НГ

    Reply
  9. Valerich

    (7) 8-ка ушла намного дальше, поскольку, если все сделать правильно, то не только правильно распределятся затраты и рассчитается фактическая себестоимость, но и будет формироваться целый комплекс отчетов (без необходимости перепроведения документа «Закрытие месяца») — калькуляция, отчет по распределению затрат и др.

    Reply
  10. Valerich

    Огромное спасибо всем за Ваши мнения, комменатрии, поддержку. Для меня все это имеет огромное значение.

    PS кудато- делись первые комментарии 😥

    Reply
  11. ValeriTim

    Хорошая статья, но я бы еще, для более глубокого понимания, и примеры с проводками добавил.

    Reply
  12. KatyS

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

    Reply
  13. cbr900

    плюс 100%!!! В свое время перерыл кучу информации, чтобы примерно так в голове выстроить, но со временем, если долго не сталкиваешься все забывается.

    Автору огромнейшее спасибо!!1

    Reply
  14. leosoft

    (8) Через услуги 25 на 20 как-то сложновато получается! Хотелось бы автоматом как 26 счет, чтобы он сам по другим подразделениям раскрутил пропорционально какой-то базе, например, себестоимости.

    Reply
  15. Шёпот теней

    (14) … закройте дополнительной обработкой … можно «раскрутить» пропорционально чего угодно в разумных пределах конечно и если есть понимание зачем это делать … вот …

    Reply
  16. Valerich

    (14) «мне кажется торг здесь неуместен» (С) 12 стульев.

    т.е. Вы мечтаете, чтобы Вам посчиталась правильная себестоимость при полном Вашем бездействии ?…. Типа хочу одну большую кнопку «Сделать» на экране и все……

    Думаю не получится. Тут или Вы прикладываете какие-то усилия для достижения правильного результата, или давите кнопку не заморачиваясь как там и что (как распределит, куда, по каким коэффициентам….)

    Еще раз повторюсь — 25 счет ПРОИЗВОДСТВЕННЫЙ, но требующий разделения затрат на НГ, выпускаемые этим же подразделением. Т.е. грубо говоря Вы валите в кучу затраты подразделения и сообщаете машине способ их разделения по НГ. КРоме того, обеспечиваете существование базы распределения: выработка ли, материальные затраты, зарплата….. — из того, что уже разделено по НГ. Такое разделение может существовать только на счетах 20 и 23. И Ваш 25 счет благополучно перейдет в виде вторичных затрат на один из этих счетов (20 и/или 23), но уже разделенными по НГ.

    А вот чтобы закрыть 20 или 23 счет — вам обязательно нужен выпуск продукции и/или услуг этим подразделением. Только это и является коэффициентами распределения затрат.

    Reply
  17. Valerich

    (14) посмотрите на схему в статье, подставьте Дт и Кт — там очень простая логика

    Есть затраты, которые Вы сразу развели по НГ на счете 20 (23). При закрытии месяца будут сделаны проводки

    Дт Кт

    43 20 (23) — формирование фактической себестоимости выпущенной продукции (на разницу между плановой стоимостью и фактической (без использования счета 40)

    40 20 (23)

    43 40 — формирование фактической себестоимости выпущенной продукции (на разницу между плановой стоимостью и фактической (с использованием счета 40)

    90.02 20 (23) — формирование фактической себестоимости оказанных (проданных) производственных услуг

    10.х 23 — формирование фактической себестоимости переработанного сырья, изготовленных материалов

    2х 23 — формирование фактической стоимости вторичных затрат при обслуживании своих подразделений

    и т.д. и т.п.

    Какие именно проводки будут сделаны зависит от выработки конкретного подразделения, согласно оформленным документам «ОПС», «Акт….»

    Reply
  18. Valerich

    (11) спасибо.

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

    В общем пока не додумал, может в следующий раз…. 🙂

    Reply
  19. bb1962

    На мой взгляд главная проблема методики «1С» не отражена. Если НГ <> Номенклатура, то производственные затраты приходится распределять, в том числе материальные.

    И получается чушь: в НГ два вида варенья, клубничное и малиновое, но оба состоят и из клубники и из малины. Ну и по деньгам бред, конечно. Ну ладно малина, а если платина и латунь пропорционально делятся? Плюс база распределения — плановая с/c, т.е. с потолка. Тут такого

    нараспределяют, в одном случае прибыль будет 1000 %, в другом убыток.

    Неработоспособная методология, единственный выход: НГ = Номенклатура.

    Reply
  20. leosoft

    (16) Вопрос не о волшебной кнопке, а о заложенной логике! 25 счет — это общепроизводственные затраты и подразделения там работают на другие подразделения 20 и 23 счета. Например, отдел главного механика — ну какие акты мы будем по нему плодить? Поэтому наиболее распространенный случай закрытия 25 счета не подразделение в подразделение, а одно подразделение 25 счета по многим 20 или 23! А вот почему 1С заложил только частную схему — подразделение в подразделение мне не очень понятно! Как раз здесь подошел бы алгоритм закрытия 26 счета.

    Reply
  21. nafa

    (19) В поле «плановая» себестоимость надо поставить фактическую. И тогда все нормально распределится.

    Reply
  22. Bobak

    (21) Классное замечание 😀 .

    Правда непонятно, если у нас уже есть фактическая себестоимость, чего же мы тогда в бухгалтерии считаем 😮 !?

    Хорошая статья. Хорошо написано.

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

    Тупо берешь листок, идешь на производство, и записываешь все затраты. Потом составляешь простенькую табличку с формулами, где увязываешь себестоимость с ценами поставщиков, зарплатами и т.п. И получаешь себестоимость гораздо более близкую к реальности.

    Вот как то так. И не надо ежедневно «перерабатывать» гигантский объем данных, что бы получить результат далекий от реальности.

    И конечно не надо забывать, что бухгалтерские программы у нас используются, в первую очередь, для налогового учета. А производство по налоговому учету и реальность, это «две большие разницы»(с).

    Reply
  23. Шёпот теней

    что-то стандартно мыслим …

    … увеличивайте субконто и/или субсчета … дополняйте систему аналитическими признаками … под ваши запросы и по необходимости исходя из хозяйственных операций — считайте коэффициенты распределения как НАДО а не как получается … 1С это не данность это демонстрация возможностей (средне-стандартное решение) …

    … в аналитических признаках — ВСЁ — это и точность расчета и согласованное закрытие счетов …

    сч 25 и 26 (и открытые к ним субсчета как минимум по 2, как в НУ) — для полноты картины, себестоимость в виде полной и сокращённой закрывать можно и нужно несколько раз … главное определить «контрольные» точки учёта …

    … вотТакоеЕстьМнение …

    п.с. закрыв несклько раз ручками месяц обычно сразу же понимаешь чего НЕхватает и какую последовательность надо выдерживать … коэффициенты распределения надо выбирать по самому затратному и доступному для собирания и анализу расходу или добиться его подсчёта, например, если электричество — поставить счётчики и т.д. …

    … вот …

    Reply
  24. Valerich

    (19) тут поможет только вдумчивое определение состава НГ и распределение по ним номенклатуры. Как предельный вариант возможен и НГ = номенклатурная группа. Только боюсь штатный механизм расчетов не выдержит этого, придется применять альтернативы (например, мою разработку) или переходить на что-то более серьезное — например, УПП. Там правда придется изрядно потрудиться с настройкой схем производства, да и первичных данных вводится намного больше….

    Это, конечно, только мое личное мнение….

    Reply
  25. Valerich

    (20) я лишь описал логику, заложденную в конкретную программу 1С. Ваше право использовать ее собственные механизмы, использовать другие методы и способы, использовать другую программу…..

    В Вашем случае я вижу варианты:

    1. затраты отдела главного механика относить на 26 счет. Получите распределение на все другие подразделения. Сложно только настроить базу распределения, но за счет применения варианта распределение по списку статей затрат можно попытаться добиться нужного результата.

    2. Написать свой вариант распределения 25 счета, а закрытие месяца делать после его применения — если нечего распределять (все уже распределено), программа и не будет ничего распределять.

    Reply
  26. Valerich

    (22) Согласен, я писал в статье: считаю что точная точечная себестоимость — это мечта. Можно ли ее достигнуть с помощью стандартной конфигурации БП? ответ неоднозначен. Для простых производств думаю да — достаточно грамотно все настроит. Для сложных…… если и возможно, то путем очень серьезной работы, анализа, настройки и четкого соблюдения бухгалтерами регламента ввода первичной информации. В общем случае мечта недостижима, поскольку нет желающих выполнять такую сложную и кропотливую работу каждый день.

    Более того, как Вы правильно заметили, эта конфигурация используется для сдачи регламентиированной отчетности, а там в общем и целом особо неважнА точечная себестоимость, особенно для продукции быстро продающейся. Фин. результат будет примерно одним и тем же. Главное, чтобы правила рассчете не противоречили банальной логике и правилам БУ и НУ… До мелочей и механики все равно ни один проверяющий не докопается, если в целом все грамотно и обосновано.

    Для тех же, кто хочет разобраться в деталях своего призводства, найти узкие места, найти максимально точно точечную себестоимость — терпение, аккуратность, труд великий …. и Бог в помощь.

    Reply
  27. druv

    http://www.nashe1c.ru/materials-view.jsp?id=310 Тоже хорошая статья на эту же тему.

    Reply
  28. Арчибальд

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

    Во-первых, статья — отнюдь не ликбез. Три четверти существующих бухгалтеров ее вообще бы не поняли. Ну далеки они от этого, месяц «закрывают» в бухгалтерии 1-2 человека, остальным глубоко плевать на распределение затрат.

    Во-вторых, на мой взгляд, подразделения на 20 счете, на 25 счете и подразделения на 23 счете — это разные подразделения. В данном случае 1С, исходя из каких-то неведомых соображений, сделала абсолютно контрпродуктивный шаг, введя на 23 счете «номенклатурную» аналитику. Как-то это оправдать можно только ситуацией, когда часть выпускаемых полуфабрикатов идет на продажу. Но и в этом случае не представляется возможным сразу указать, какие затраты цеха отнести на ту или иную номенклатурную группу.

    Вроде бы по идеологии распрецеляемые цеховые затраты надо «прогонять» через 25 счет, «прикрепляя» к каждому цеху основного и вспомогательного производства «нахлобучку» из общецеховых затрат. Но что делать с цехами, чьими услугами пользуются абсолютно все? Вполне очевидно, что реальная ситуация диктует сбор общецеховых затрат вспомогательного производства именно на 23 счете, а на 25 счете держать подразделения наподобие того же отдела главного механика или службы КИПиА. То есть: Затраты, собранные на 25 счете должны распределяться НЕ на номенклатурные группы а на подразделения 20 и, возможно, 23 счета. Уточняю: общецеховым затратам основных и вспомогательных цехов не место на 25 счете. 25 счет — для общепроизводственных затрат всего предприятия.

    Ну и по поводу отчета производства за смену. Это яркое проявление ориентации фирмы 1С не на реальное производство, а на мелкокустарное предприятие. Сколько продукции выпускает за смену доменная печь? Правильно, нисколько. А бригада каменщиков? А конструкторское бюро? А упомянутый цех по заготовке сырья?

    В общем, ситуация с производственной себестоимостью в БП 8, мягко говоря, не улучшилась в сравнении с Бух 7.7.

    Reply
  29. Шёпот теней

    (28) … БУ — отражение хозяйственных операций …

    1С — не данность а среднестатистическая демонстрация … кто из бухов подгоняет ПланСчетов и аналитику под «отражение хозяйственных операций» … ?

    что отражаем то и получаем …

    … вотПОВТОРИЛСЯвот … к (23) …

    Reply
  30. Арчибальд

    (29) 1С-не среднестатистическая, а среднеторгашескокооперативная демонстрация.

    Страшно далеки они от производства 😮

    Reply
  31. Шёпот теней

    (30) … хм … какое общество такая и 1С … такое и «отражение хозяйственных операций» … чего ужжж … вот …

    Reply
  32. Ish_2

    (28) В (1) слово «ликбез» употреблено отнюдь не в уничижительном смысле.

    Для меня как неспециалиста такой «ликбез» был полезен для понимания расчета себестоимости в 1с.

    Reply
  33. vodyanoy

    Давно не хватало такого внятного описания внутренней кухни 1С БП.

    Однозначно ПЛЮС.

    В УПП, думается, происходит нечто схожее. Я в свое время так и не понял как там распределяются затраты.

    Так что… если автор напишет подобный опус по затратам в УПП многим жить станет легче.

    Еще раз повторюсь — очень достойное изложение материала. Респект и так держать.

    Reply
  34. ILM

    Мне понравилось, только тема себестоимости не раскрыта до конца)))

    Что делать типовой конфе с себестоимостью при незавершенным производством, а если техпроцесс растянут на 70 дней, то как считать себестоимость за месяц, как делать распределения? Как? А потом через 70 дней как перераспределять себестоимость? А если брак? И вот тут начинается самое интересное. А так нормально. Для НАЧАЛА нормально.

    Reply
  35. Valerich

    (34) в типовой конфе предусмотрен специальный документ для отражения остатков в незавершенном производстве. Правда заполнять его необходимо ручками и только суммовыми показателями. Но ведь типовая конфа и не предназначена для точного расчета точеченой себестоимости 🙁 , что очень наглядно показано в статье http://infostart.ru/public/69353/

    Reply
  36. Шёпот теней

    (34) … хм … надо чтить отцов и читать их опыт запечатлённый в книгах: изучать опыт Советский — и другого у нас нет и он лучший … такоеВОТучение …

    Методы калькулирования себестоимости:

    1. Простой

    2. ПоПередельный

    3. Позаказный метод

    4. Нормативный метод

    5. Сокращённой себестоимости

    … вас должно заинтересовать 3. Позаказный метод … для красоты его можно назвать — Партионным …

    Себестоимость — это приближение и чем точнее аналитические признаки тем выше её «точечность» … и тем она «дороже» во всех смыслых …

    … вот …

    Reply
  37. annak2980

    цитата:

    «»Счет 26 «Общехозяйственные расходы» — аккумулирует расходы подразделений, которые прямо или косвенно не связаны с производством. Как правило, это расходы аппарата управления и аналогичных подразделений.

    Стандартная аналитика 25 счета:

    Подразделения

    Статьи затрат «»

    Тут, наверно, нужна фраза:

    «Стандартная аналитика 26 счета….

    Статья отличная, у нас по производству в украинской БП 8.1 вообще нигде

    нормальных разъяснений нет. Вот читаем Ваши замечательные работы,

    применяем к своему плану счетов. Спасибо огромное.

    Reply
  38. leonidt84

    Отличная статья. Ещё неплохо было бы, хотя бы в виде примечания указать, что 26-ой счет закрывается по указанному алгоритму за исключением транспортных расходов, а транспортные расходы пропорционально остаткам МПЗ.

    Reply
  39. madamonika

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

    Reply
  40. altar

    Да уж 1С как славился жестким каркасом и пресечение «попыток к бегству» так и славится. Почему ббы не сделать более универсальное закрытие никто не знает. Вот и мучаются люди(

    Reply
  41. Valerich

    (40) дело не в жесткости, а в логике. В 8-ке хоть какая-то логика появилась. С ней можно согласиться или попытаться реализовать свою. Жаль только она нигде не описана.

    PS был на конференции по 1сы. приезжали бравые ребята аж из Москвы. Поинтересовался, почему в документации к программам такие вещи не описываются. Ведь без этого внедрение — это попытка найти черную кошку в темноте…

    Ответ — регламент по внедрению доступен только партнерам (да и то не всем).

    Вывод: надо кормить огромную армию «сертифицированных внедренцев». Так что в какой-то степени моя статья вредная, потому как позволяет в чем-то обойтись без них.

    Reply
  42. Nickon

    Полезная статья. Как раз щас с бухом работаем над распределением себестоимости. Спасибо!

    Reply
  43. vdi1950

    Года 1.5 назад купил толстую книжку «Секреты профессиональной работы в БП8: производственный учет». Хотел секреты узнать. В целом книжка хорошая, но секретов, мягко говоря, кот наплакал. Ваша статья без громкого слово «Секреты» раскрывает самую суть производственного учета в БП8.

    Побольше таких статей. Спасибо Вам.

    Reply
  44. redgoll

    Хорошая статья. Только после перехода на редакцию 2.0 произошли кое-какие изменения. Например, закрытие 26,44 счетов. Было бы здорово, если бы переписали под новые реалии и где-то, возможно, углубили. Не планируете написать что-то подобное про корректировку стоимости номенклатуры?

    Reply
  45. Триш

    хорошая статья.

    Reply
  46. Valerich

    (44) в чем заключаются эти изменения? Принципиальной разницы не нашел.

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

    Reply
  47. redgoll

    (46) Честно говоря, я не большой спец в этой области, но все-таки. В моем случае используется директ-костинг. В редакции 1.6 26-й счет распределялся пропорционально выручке, в 2.0 26-й счет вообще никак не распределяется, просто закрывается на 90.08. Также в 2.0 на 90.08 не учитываются номенклатурные группы. Для 44-го счета все аналогично. Возможно это и частности, но все же.

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

    Reply
  48. Valerich

    (47) да, Вы правы, субконто убрали, но вот способ распределения по видам деятельности кажется не поменялся.

    Разбирал я его по косточкам, и в 1Сы писал, чего у них где не так….

    от релиза к релизу они могут что-то менять, иногда существенно. Видно ищут свой путь… Боюсь такая статья будет мало кому интересна и переписывать ее придется регулярно. Увы, но времени на это нет. Эту то статью написал по настоятельной просьбе Шёпота теней.

    Reply
  49. vdi1950
    redgoll пишет:

    …, в 2.0 26-й счет вообще никак не распределяется, просто закрывается на 90.08.

    В релизе 2.0.28.3, если не указан директ-костинг, как и положено распределяется на счет 20 в соответствии заданной базой распределения.

    Reply
  50. redgoll
    vdi1950 пишет:

    В релизе 2.0.28.3, если не указан директ-костинг, как и положено распределяется на счет 20 в соответствии заданной базой распределения.

    Я писал, что в моем случае как раз используется директ-костинг.

    (48) Согласен, сейчас почти в каждом релизе регламентную операцию изменяют.

    Reply
  51. vkr

    (0) Отличная статья! Хорошо мозги прочистило… 😀

    Reply
  52. Арчибальд

    Перечитал. Попытался опять плюсик поставить. Не разешают 🙁

    Reply
  53. Valerich

    (52) 🙂

    Reply
  54. vdi1950
    Арчибальд пишет:

    …Затраты, собранные на 25 счете должны распределяться НЕ на номенклатурные группы а на подразделения 20 и, возможно, 23 счета. …

    Прошу извинить, но я не понял этого предложения. По-моему в 1С Бухгалтерия 8 так примерно и происходит. Более того, то, как производится списание со счета 25 в 1С, мне представляется вполне обоснованным. Попробую аргументировать свое мнение. Но прошу не воспринимать это, как попытку оспорить ваше мнение. Возможно, я чего-то не заметил в вашем топике. Это просто желание глубже разобраться в вопросе. И так.

    1) Структура организации может быть, какой угодно сложности. То есть иметь много разных подразделений.

    2) На счете 20 «Основное производство» учет ведется по подразделениям и номенклатурным группам. Это требование Инструкции. Но поскольку речь идет о производстве, то аналитика на этом счете имеет смысл только по производственным подразделениям.

    3) Согласно Инструкции учет затрат на счете 25 ведется в разрезе подразделений. Но обратите внимание, как называется этот счет – «Общепроизводственные расходы». Не общепроизводственное подразделение (о таком в Инструкции ни слова), а общепроизводственные расходы. Это расходы, которые однозначно относятся на производство. Но вот, в какую номенклатурную группу их отнести, неизвестно.

    4) Из этой логики следует, что общепроизводственные расходы могут возникать только в производственных подразделениях. Поэтому затраты ремонтного цеха, который ремонтирует станки в разных производственных подразделениях, вряд ли логично назвать общепроизводственными. Хотя бы потому, что он не ремонтирует одновременно все станки данного подразделения. Скорее всего, ремонтный цех это подразделение, оказывающее услуги собственным подразделениям. А такие расходы списываются документом «Отчет производства за смену».

    5) Как правило, в одном производственном подразделении выпускается продукция, включенная в разные номенклатурные группы. Например, в столярном цехе производятся изделия, включенные в номенклатурные группы НГ.Стулья, НГ.Столы, НГ.Полки и т.д.

    6) В 1С общепроизводственные расходы столярного цеха списываются на счет 20 в то же подразделение. Затем они в соответствии с выбранной базой распределения распределяются в этом же подразделении, но уже между номенклатурных группами НГ.Стулья, НГ.Столы, НГ.Полки. После этого отличить общепроизводственные расходы и прямые расходы на данную номенклатурную группу невозможно.

    7) На последнем этапе соответствующая часть общепроизводственных расходов и прямых расходов на данную номенклатурную группу распределяются среди выпущенных из этой номенклатурной группы изделий. База распределения плановая стоимость выпущенных изделий.

    Reply
  55. Фред

    Благодарю автора за достаточно доступное, но вместе с тем весьма квалифицированное объяснение, как работает этот «черный ящик» 1с. Вроде и так все знал, но всегда приятно что-то написанное посмотреть , если сомнения загрызут…)) Хотя квалификация бухов нынче весьма невысока. Мне кажется, что процентов 70 не смогут дочитать эту статью до конца. При найме я уже давно не задаю глупых вопросов про затраты и прочее…Но это тема отдельной статьи. Еще Фонвизин объяснил, что география не нужна, поскольку уже есть извозчики.

    Reply
  56. Keven85

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

    Reply
  57. Abadonna

    Толковым языком написано. Опять же приятно узнать, что не все еще грамотные на Руси перевелись;)

    Плюс.

    Reply
  58. vdi1950

    Обдумывая механизм закрытия 25 счета в БП8, снова перечитал эту статью. Возникло два соображения. Хотелось бы услышать мнения специалистов.

    Первое соображение. Неплохо было бы в БП8 иметь возможность указывать, какие подразделения являются производственными.

    Это позволило бы избежать ошибок при списании общепроизводственных расходов в непроизводственные подразделения.

    Второе соображение. В учетной политике на закладке НЗП есть две радио кнопки: «При отсутствии выпуска прямые расходы считать расходами НЗП» и «Инвентаризация НЗП». Как всегда в 1С вопрос о том, какой вариант и, в каких случаях целесообразно использовать остается открытым.

    Обсуждение в этой ветке вопроса, куда относить затраты по ремонтному цеху (не производственное подразделение), вынудили провести маленький опыт.

    Если активизирована радио кнопка «При отсутствии выпуска прямые расходы считать сходами НЗП», то при закрытии месяца счет 25 естественно не закрывается, но и предупредительных сообщений программа не выдает. Напротив, если активизирована радио кнопка «Инвентаризация НЗП», то при закрытии месяца счет 25 тоже не закрывается, но программа сообщает о причинах невозможности его закрытия.

    Причина, видимо, в том, что в БП8 никак не различаются производственные подразделения от непроизводственных. В результате отсутствие выпуска продукции можно объяснить двумя причинами. Это подразделение не является производственным. Или это производственное подразделение, но производственный цикл в нем длится более месяца.

    В этом случая целесообразно сразу все прямые расходы считать остатками НЗП. Соответственно и остатки на счете 25 по этому подразделению будут распределены в том месяце, в котором произойдет выпуск продукции.

    Прошу извинить за длинющее введение, а вот и соображение.

    Так может быть для радио кнопки «При отсутствии выпуска прямые расходы считать расходами НЗП» было бы более адекватным сути название типа «При отсутствии выпуска прямые расходы считать сходами НЗП (для подразделений с длительным циклом производства)».

    Reply
  59. Valerich

    (57) спасибо на добром слове, добрый человек. 😉

    (58) написано действительно много. И эксперимент суть кнопок правильно отразил. Но, поскольку в БП нет понятия «Производственное подразделение» или «Непроизводственное», то и переименовывать нечего.

    Опять же, добавлять слова «с длительным циклом производства» так же не считаю корректным. Бывает предприятие только начинает работу. Затраты уже идут, но выпуска еще нет, например пусконаладочные работы. Или какой-нибудь ремонт. Или отсутствие заказов на производство. Или простой по вине поставщика… А зарплаты есть, электричество и т.п. тратится…. Мало ли какая ситуация. Что делать с такими затратами? Цикл самого производства может быть и коротким, но условия сложились так, что он удлинился.

    Спорить не буду по поводу какие затраты каких подразделений на какие счета нужно относить, но предполагаю следующую логику:

    20, 23, 25 счета относятся к затратам производственных подразделений или обслуживающих таковые. Эти затраты участвуют в расчете фактической себестоимости прямо или косвенно.

    Все остальные затраты, не связанные с себестоимостью выпуска продукции или оказания услуг относятся либо на 26 счет, либо на 44.

    Еще раз хочу подчеркнуть. Я не говорю, что такой метод разнесения затрат и расчета себестоимости правильный. Можно долго спорить на эту тему. В этой конкретной конфигурации фирма 1с реализовала именно такой подход. На каком-то конкретном производстве такой подход не логичен. Других может вполне устроить. Ваше право пользоваться встроенной системой распределения затрат или писать свою.

    Просто, если Вы знаете как работает штатный механизм Вам проще принять решение — стоит ли пытаться им пользоваться или сразу начинать разработку своего.

    Reply
  60. vkr

    (58),(59) Уважаемые коллеги, может быть, Вам имеет смысл все те интересные идеи и находки,

    которые всплывают тут, в ветках комментариев, попробовать оформить в виде некоего «справочника»

    класса «Tips & Tricks» — чтобы все это не затерялось?.. 🙂

    Reply
  61. laeg

    Спасибо за статейку, было бы не плохо включить информацию по встречному выпуску и более развернуто распределение внутрипроизводственных затрат.

    Reply
  62. Lena444

    Спасибо за помощь, в интернете много информации на эту тему, но из всего прочитанного именно это статья мне помогла разобраться в столь сложном вопросе.

    Reply
  63. lux17

    количество комментариев говорит само за себя. спасибо за статью

    Reply
  64. Арчибальд

    А вот тут http://infostart.ru/public/98891/ себестоимость вообще без 20 счета. Как это можно делать, но 1С не умеет…

    Reply
  65. Valerich

    (64) ну почему же не умеет. 23 счет у вас там присутствует, так что все пучком. Как я уже писал в статье — 20 и 23 счета в программе работают абсолютно одинаково и имеют только семантические различия (называются по-разному).

    Единственно, что не делает штатная бухгалтерия, так это не закрывает 26 счет на 29. Все остальное легко. Но там и комментах предложили не заморачиваться со сложным распределением 26 счета, а отнести его напрямую на 90. Более того, с точки зрения налогового учета такие затраты считаются однозначно косвенными, а значит списываются на затраты в том периоде, в котором возникли. Если мне не изменяет память, для распределения таких затрат используется субсчет 90.08.

    Reply
  66. Арчибальд

    (65) А у меня как раз на 26 — прямые затраты. Куда ж я дену зарплату основных работников и амортизацию.

    Reply
  67. Valerich

    (66) на 26 счете прямые затраты ? Стесняюсь спросить чего? Если это общехозяйственные расходы. Ведь этот счет введен для накопления расходов, не связанных с производством, но которые тем не менее надо распределять на себестоимость (если не включить директ-костинг). Эти расходы относятся ко всему предприятию в целом.

    Reply
  68. Арчибальд

    (67) Производства нет. И 20 счета тоже нет. Согласно приказу 94н :)))

    Reply
  69. Valerich

    раз 20 и 23 нет, значит расходы не на 26, а на 44

    Reply
  70. Арчибальд

    (69) 23 есть. 29 есть. 44 нету.

    Reply
  71. Valerich

    (70) я кажется понял.

    стандартная бухгалтерия не работает с 29 счетом (я имею в виду, что в плане счетов такой счет есть и аналитика на нем есть «подразделения» и «Статьи затрат». Но в алгоритмах этот счет не используется. При распределении затрат 20 и 23 счет можно распределить и на 29, потому как там явно указывается аналитика распределения в отчетах производства за смену. 26 счет для распределения использует только счета 20 и 23 (там где присутствуют номенклатурные группы). 29 счет так же автоматически не закрывается программой — его надо закрывать вручную.

    Не могу однозначно сказать почему так сделано, но осмелюсь предположить варианты:

    1. 29 счет редко используется и его обработку не включают в «массовую» конфигурацию

    2. есть определенные тонкости в определении принимаемых к учету затрат обслуживающих производств и хозяйств — там много различных нормативов и не все затраты или не во всем объеме можно включать в расходы этих производств. Учитывая п.1 нецелесообразно (нерентабельно) писать алгоритмы для работы с этими счетами. Кому нужно, сами придумают и напишут.

    Как косвенное подтверждение п.1 могу сказать, что на 11 счете в стандартной поставке нет никакой аналитики и даже не включен количественный учет 🙁 .

    Reply
  72. Арчибальд

    (71) В семерочной бухгалтерии и на 23 счете аналитики по затратам нету. :))

    Касательно 29. Если на сторону продукция его не идет, то это типичное обслуживание. 23 счет. А если идет на сторону, то можно и 20-м его сделать.

    Reply
  73. Valerich

    (72) технически да. Но если есть ведомственный санаторий или общепит, думаю надо все таки посмотреть на законы и правила учета для обслуживающих производств и хозяйств, чтобы налоговая потом не нахлобучила. Часть расходов не примут и впаяют пересчет налога на прибыль с соответствующими санкциями.

    Reply
  74. Арчибальд

    (73) Это да…

    Reply
  75. popovalex

    эту статью здесь уже видел в прошлом году. Не публикуйте одно и тоже

    Reply
  76. Valerich

    (77) Если Вы снизойдете до того, чтобы посмотреть на дату публикации, то сможете увидеть, что она и была опубликована в апреле 2010 года.

    Reply
  77. bahcha8

    Очень полезная статья, все по полочкам и доступным языком, просто отдала бухгалтерам и больше вопросов — а почему на «43-м накая цифра вдруг» — почти не слышу

    Reply
  78. zhleonid8

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

    Reply
  79. zhleonid8

    тогда себестоимость будет нормальная

    Reply
  80. Arrtem

    Спасибо, именно , то что так долго искал!

    Reply
  81. eryomenko

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

    Reply
  82. ybeleckii

    За фразу —

    А далее лезем в учетную политику организации, если она уже есть, или включаем голову, если таковой (учетной политики, а не головы) нет. Если некому за Вас продумать учетную политику и все в ней скрупулезно расписать, то очень полезно бывает вникнуть в суть технологических процессов, происходящих на вашем предприятии.——— как из жизни вырвал. напиши как нибудь чтоб работало а как и спросит не у кого…

    Reply
  83. YuliaYVS

    Статья хорошая, спасибо!

    Если допустить следующую ситуацию, что подразделения на счете 20 (например, производственное) и счете 25 (например, АУП) разные, а с 25 счета необходимо распределить затраты в процентном отношении от выручки на 20 счет по подразделению и виду деятельности (например, 70% на подразделение «производственное», вид деятельности А и 30% на подразделение «производственное», вид деятельности Б). Возникают проблемы при закрытии. Приходится перебивать подразделение АУП на подразделение производственное…. Ужас. В данном случае, где собака зарыта???

    У кого-нибудь есть варианты? Всем заранее спасибо!

    Reply
  84. Valerich

    (85) отнести затраты на 26 счет АУП и выбрать базу распределения косвенных расходов (при отключенном директ-костинге) так, чтобы получилось требуемое распределение.

    Reply
  85. YuliaYVS

    Спасибо за вариант. Но надо, чтобы затраты группировались на 25 счете. Директ-костинг отключен., выручка есть, обороты есть, пустых субконто нет… Проблемка…

    Reply
  86. February

    Спасибо, с прямыми все получилось. Проблема была в периоде установки. Надо именно начало года ставить, прошлогодний период не прологируется.

    Новая проблемка:

    23 счет закрываем вручную, распределяя на другие счета: 16, 20, 26, 91. в НУ также вручную корректируем цифры. При закрытии месяца Кр(23)в НУ еще раз закрывается на 90.08. Можно как-нибудь обойти эту проводку (90.08 — 23)?

    Reply
  87. Valerich

    (103) надо бы покопаться в коде от 1с. Навскидку предположу следующее:

    Вы закрываете 23 без указания статей затрат. Штатный механизм же должен в НУ разделить затраты на прямые и косвенные. Это можно сделать только имея аналитику по статьям (вид расходов в НУ в проводке в явном виде не указан, а берется именно из статьи). Поэтому, как бы нам не хотелось, но в версии БП 2.0 закрываются не остатки по 23 счету в целом, а оборот (Дт — Кт) в разрезе статей затрат. остаток с предыдущих периодов (НЗП) считается остатком прямых затрат, потому как по НК РФ косвенные затраты списываются в расходы в том месяце, в котором возникли, а значит на остатках их быть не может. Закрытие по Кт происходит, конечно, без статей, но что куда закрывать рассчитывается именно в разрезе сттаей.

    Надеюсь понятно объяснил.

    Возникает закономерный вопрос — как это можно обойти? Ответ только один — закрывать в ручном режиме 23 счет постатейно. Т.е. кт оборот должен иметь правильную аналитику по статьям. Если Дт оборот будет равен Кт обороту в разрезе статей затрат, тогда больше никакие телодвижения производиться не должны.

    Непонятно, чем Вас не устраивают возможности встроенное способа распределения, когда с помощью документов Отчет производства за смену можно задать любые коэффициенты распределения для 23 счета?

    Reply
  88. February

    (104) простите за недопонимание, документ Отчет производства за смену формирует проводки 40 — 23. Подскажите как сделать, например, 91.02 — 23?

    Reply
  89. Valerich

    (105) вводите данные на закладке «Услуги» — там можно поставить любые счета Дт, с указанием точной аналитики. Суммы в этой табличной части являются коэффициентами распределения.

    Reply
  90. February

    (106) Да, распределение идет, только через 40 счет, в учетной политике заложено. Может можно обойти 40 счет для 23 (для закрытия 20 оставить)?

    Reply
  91. Valerich

    (107) в штатной поставке — нет. Только конфигурацию менять

    Reply
  92. SHAPTALA

    КАК РАСПРЕДЕЛИТЬ ЗАТРАТЫ 26 СЧЕТА НА 20(23) И 08 СЧЕТА

    Reply
  93. Шёпот теней

    (114) есть сумма её надо разделить по каким-то правилам … 1С делит по правилам установленным в правилах распределения или писать свою процедуру распределения (если не распределяет 1С — виновата аналитика) …

    сказать легко — сделать труднее …

    п.с. не совсем понятен вопрос …

    Reply
  94. Valerich

    (114)

    во-первых необходимо убедиться, что в учетной политике не установлен «Директ-костинг»

    во-вторых прописать «Методы распределения косвенных расходов организаций» в меню «Предприятие — Учетная политика — Методы распределения косвенных расходов организаций».

    Указываете 26 счет и формируете базу распределения. В статье об этом написано подробно в разделе для 25 счета. Для 26 все аналогично, только распределение идет на все подразделения, по которым есть база распределения.

    Reply
  95. OksDallas

    (104)

    Непонятно, чем Вас не устраивают возможности встроенное способа распределения, когда с помощью документов Отчет производства за смену можно задать любые коэффициенты распределения для 23 счета? 

    Не устраивает следующее:

    Например, счет 23, НГ Мехобработка, Подразделение Мехцех. Оказывает услуги другим цехам. Распределяется следующим образом.

    На 25 счет других подразделений суммы рассчитываются по плановым ценам * ЧелЧасы.

    На 23 счет других подразделений (ДО за минусом того, что ушло на 25 счет по плановым ценам) распределяется пропорционально ЧелЧасам.

    Сколько ни пробовала вариантов, при закрытии происходит корректировка сумм, которые ушли на 25 счет по плановой цене ЧелЧаса. А их корректировать не надо.

    Второй пример. Транспортный цех доставляет материалы. Определена плановая цена ТонноКм. При поступлении товара учитываются ТонноКм, выработанные автомобилем при доставке материала. Нужна проводка Дт 10 Кт 23, Транспортный цех, НГ Автоуслуги; Сумма проводки = Плановая_цена_ТонноКм * Количество_ТонноКм. При закрытии происходит корректировка сумм, которая нам не нужна, все должно оставаться в плановых ценах.

    Кто-нибудь сталкивался с подобными ситуациями? Можно ли их разрешить стандартными методами?

    Reply
  96. Valerich

    (130) Для себя я в документ «Отчет производства за смену» вводил доп флажок «Не пересчитывать себестоимость». Если он установлен, то движения по регистру «Выпуск продукции и услуг» не формируются. Таким образом можно добиться указанного Вами эффекта. Конечно при этом необходимо вносить изменения в конфигурацию, особенно в форму документа, а значит обновления становятся не так просты.

    Reply
  97. Valerich

    (130) Второй вариант — формировать бух операцией проводки по Кт 23 счета по операциям, где суммы должны остаться фиксированными. Остальное — документами отчет производства за смену, чтобы остаток распределился.

    Тогда конфигурация остается нетронутой

    Reply
  98. OksDallas

    (131)

    конф.БП 3.0.28.15

    1. Пробовала просто перейти в режим ручной корректировки проводок и убрала движение из регистра «Выпуск продукции и услуг в плановых ценах» — при закрытии сумма просто закрылась, т.е. в бух.проводках было 100 р, после закрытия появляется Корректировка стоимости списания -100.

    2. Через бух.операции вроде все получилось. Спасибо. Буду экспериментировать дальше.

    Reply
  99. OksDallas

    (131)

    В результате тоже сделала галочку в Отчете производства за смену(у меня она звучит «По плановым ценам») — ЗАРАБОТАЛО!!!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *