Закрытие счета 44.1.1

Тема в разделе "Общие вопросы по бухгалтерии", создана пользователем Goldy, 14 апр 2009.

  1. TopicStarter Overlay
    Goldy
    Offline

    Goldy Опытный в 1С

    Регистрация:
    14 апр 2009
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Помогите разобраться с проблемой, пожалуйста. Наша фирма занимается оптовой торговлей, база распределения расходов - выручка. Но так получилось, что в январе мы оказывали услуги, товар отгружен не был. При закрытии 44.1.1. система пишет сообщение, что счет закрыть невозможно, т.к. база распределения(сч90 за минусом налогов) равна нулю, хотя по сч 90 остаток есть, но он по услугам естесственно. Как мне поступить в этой ситуации?
  2. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Проверь наличие субконто в операциях по 90 сч.
  3. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    Насколько я помню система пишет что АВТОМАТИЧЕСКИ закрыть невозможно, а в таком случае закрывать только ручками...
  4. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Автоматически она не может закрыть, если по 44.1.1 обороты есть, а по 90.1 нет, тогда да - руками или реализацию какую-нибудь на 1 копейку сделать. А если по 90.1 обороты есть, то, скорее всего, в операциях пустые субконто.
  5. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    на всякий пожарный автору текст собирающий базу распределения в документе закрытие месяца

    Код:
    Функция БазаРаспределенияСчет44_1_1()
    
    Сч90     = СчетПоКоду("90");
    Сч90_1_1 = СчетПоКоду("90.1.1");
    Сч90_2_1 = СчетПоКоду("90.2.1");
    Сч90_3   = СчетПоКоду("90.3");
    Сч90_4   = СчетПоКоду("90.4");
    Сч90_5   = СчетПоКоду("90.5");
    Сч90_6   = СчетПоКоду("90.6");
    
    ТаблицаБазыРаспределения = СоздатьОбъект("ТаблицаЗначений");
    ТаблицаБазыРаспределения.НоваяКолонка("ВидНоменклатуры");
    ТаблицаБазыРаспределения.НоваяКолонка("БазаРаспределения");
    
    БухИт90 = СоздатьОбъект("БухгалтерскиеИтоги");
    БухИт90.ИспользоватьСубконто(ВидыСубконто.ВидыНоменклатуры,,,);
    БухИт90.ВключатьСубсчета(-1,);
    БухИт90.ВыполнитьЗапрос(ДатаНач, ДатаКон, Сч90,,,,,);
    // Бывают не запонены субконто
    БухИт90.ВыбратьСубконто(ВидыСубконто.ВидыНоменклатуры);
    Пока БухИт90.ПолучитьСубконто(ВидыСубконто.ВидыНоменклатуры) = 1 Цикл
    //Или срабатывает условие по видам номенклатуры
    Если (БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры).ТипНоменклатуры <> Перечисление.ТипыНоменклатуры.Товар)
    и (БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры).ТипНоменклатуры <> Перечисление.ТипыНоменклатуры.ПосредническаяУслуга) Тогда
    Продолжить;
    КонецЕсли;
    
    Выручка = 0;
    
    БухИт90.ВыбратьСчета();
    Пока БухИт90.ПолучитьСчет() = 1 Цикл
    Если БухИт90.Счет = Сч90_1_1 Тогда
    Выручка = Выручка + БухИт90.КО();
    
    ИначеЕсли БухИт90.Счет = Сч90_2_1 Тогда
    
    // Если установлен режим распределения расходов по видам деятельности
    // пропорционально доле дохода за вычетом покупной стоимости товаров, то
    // необходимо из выручки вычесть покупную стоимость товаров.
    Если Константа.УчитыватьПокупнуюСтоимостьТоваров.Получить(ДатаКон) <> Нет Тогда
    Если БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры).ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар Тогда
    Выручка = Выручка - БухИт90.ДО();
    КонецЕсли;
    КонецЕсли;
    
    ИначеЕсли (БухИт90.Счет = Сч90_3) или (БухИт90.Счет = Сч90_4)
    или (БухИт90.Счет = Сч90_5) или (БухИт90.Счет = Сч90_6) Тогда
    Выручка = Выручка - БухИт90.ДО();
    КонецЕсли;
    КонецЦикла;
    
    // соответственно не срабатывает условие и не создается запись базы распределения
    Если Выручка > 0 Тогда
    ТаблицаБазыРаспределения.НоваяСтрока();
    ТаблицаБазыРаспределения.ВидНоменклатуры = БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры);
    ТаблицаБазыРаспределения.БазаРаспределения = Выручка;
    КонецЕсли;
    КонецЦикла;
    
    Возврат ТаблицаБазыРаспределения;
    
    КонецФункции // БазаРаспределенияСчет44_1_1()
    
    
    
    
    комментариями выделено то, что обычно и не дает автоматом закрывать
  6. TopicStarter Overlay
    Goldy
    Offline

    Goldy Опытный в 1С

    Регистрация:
    14 апр 2009
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Выручка по 90му счету есть, субконто "Услуга", а автоматом 44 закрывать не хочет. Что тогда? :unsure:
  7. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    вот специально выложил код... даже указал откуда... сложно оттрассировать чтоли?
  8. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Это хорошо, что выложил - далеко ходить не надо.:)
    Услуга не прокатит:
    Код:
        Пока БухИт90.ПолучитьСубконто(ВидыСубконто.ВидыНоменклатуры) = 1 Цикл 
    //Или срабатывает условие по видам номенклатуры 
    Если (БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры).ТипНоменклатуры.Перечисление.ТипыНоменклатуры.Товар)
    и (БухИт90.Субконто(ВидыСубконто.ВидыНоменклатуры).ТипНоменклатуры.Перечисление.ТипыНоменклатуры.ПосредническаяУслуга) Тогда
    Продолжить;
    КонецЕсли;
    
    
    
    
    
    Так что закрывай ручной операцией или продай какой-кибудь ТОВАР на 0,01 руб. хотя бы.
  9. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    нееее... есть посредническая услуга, а есть просто услуга :) так что надо смотреть...

    Товар тоже низя, по условию :)
    Можно (из Перечисление.ТипыНоменклатуры):
    Продукция
    Полуфабрикат
    Услуга
    Работа
    Услуга ЕНВД
    Какой-то свой тип заданный в конфигураторе
    Пустое поле

    Самое верное - закрыть вручную. У мну в феврале бухи так и делали, хотя и пытались сопротивляться...
  10. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Я неправильно скопировал тобою же приведенный модуль. Как раз ТОВАР и ПОСРЕДНИЧЕСКАЯ УСЛУГА проходят
  11. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    а почему если не секрет? Ведь тогда получается что не создадутся записи в таблицу распределения (прерывание цикла по условию) и потом в модуле закрытия месяца в процедуре ЗакрытиеСчета44_1_1() при проверке

    Код:
    // Получим базу распределения расходов (за исключением транспортных)
    ТаблицаБазыРаспределения = БазаРаспределенияСчет44_1_1();
    
    Если ТаблицаБазыРаспределения.Итог("БазаРаспределения") > 0 Тогда // если нет базы распределения, то автоматически закрыть счет невозможно
    РаспределениеИздержекОбращения(Сч44_1_1, Сч90_7_1, ТаблицаБазыРаспределения);
    
    Иначе
    ТекстСообщения = "Счет 44.1.1 автоматически распределить невозможно, т.к. база распределения расходов равна нулю.
    |База распределения - выручка по товарам, отраженная по кредиту счета 90.1.1 за минусом налогов";
    глНеПроводить(Контекст, ТекстСообщения);
    КонецЕсли;
    
    получим что ТаблицаБазыРаспределения.Итог("БазаРаспределения") = 0 и соответственно невозможность автоматического закрытия...

    или я чето непонимаю??

Поделиться этой страницей