Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 13:22

Ошибка при закрытии месяца.

Автор Качеррикота, 28 июн 2012, 15:26

0 Пользователей и 1 гость просматривают эту тему.

Качеррикота

После обновления при закрытии 20 счета программа выдает ошибку Документ.РегламентнаяОперация.МодульОбъекта(72)}: Метод объекта не обнаружен (ПредопределенныеСчетаЗатрат)
Что стоит предпринять?
Текущая версия 2.0.37.8
Заранее спасибо.

Dethmontt

Типовая бухгалтерия или есть изменения?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Качеррикота

Цитата: Dethmontt от 28 июн 2012, 22:12
Типовая бухгалтерия или есть изменения?

Типовая,без изменений.

oltie

попробуйте обновить до 37.10. а еще проверьте предопределенные счета (план счетов). в 37.8 были изменения как раз по регистру хозрасчетный.

Качеррикота

Цитата: oltie от 29 июн 2012, 11:40
попробуйте обновить до 37.10. а еще проверьте предопределенные счета (план счетов). в 37.8 были изменения как раз по регистру хозрасчетный.
Обновила сегодня с утра,в плане счетов все в порядке.

oltie

проверила - в типовом решении все работает. у вас точно нет изменений?
вообще та функция, на которую у вас ругается, находится в общем модуле "УправлениеПроизводством" и представляет из себя следующее:

Функция ПредопределенныеСчетаЗатрат() Экспорт   
   СчетаЗатрат = Новый Массив();
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство_);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);   
   Возврат СчетаЗатрат;
КонецФункции

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

Качеррикота

Цитата: oltie от 29 июн 2012, 12:55
проверила - в типовом решении все работает. у вас точно нет изменений?
вообще та функция, на которую у вас ругается, находится в общем модуле "УправлениеПроизводством" и представляет из себя следующее:

Функция ПредопределенныеСчетаЗатрат() Экспорт   
   СчетаЗатрат = Новый Массив();
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОсновноеПроизводство_);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ВспомогательныеПроизводства);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщепроизводственныеРасходы);
   СчетаЗатрат.Добавить(ПланыСчетов.Хозрасчетный.ОбщехозяйственныеРасходы);   
   Возврат СчетаЗатрат;
КонецФункции

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

Вот что у меня в модуле УправлениеПроизводством:
// Процедура устанавливает видимость ячеек для ввода аналитики в зависимости от указанной статьи затрат.
//
Процедура НастроитьВидимостьЯчеекАналитикиЗатрат(СчетЗатрат = НЕОПРЕДЕЛЕНО, СчетЗатратНУ = НЕОПРЕДЕЛЕНО, ОформлениеСтроки, ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете) Экспорт

   Если НЕ ОформлениеСтроки.Ячейки.Найти("Аналитика") = НЕОПРЕДЕЛЕНО Тогда
      ОформлениеСтроки.Ячейки.Аналитика.Видимость    = Ложь;
   КонецЕсли;

   Если НЕ ОформлениеСтроки.Ячейки.Найти("ВидАналитики") = НЕОПРЕДЕЛЕНО Тогда
      ОформлениеСтроки.Ячейки.ВидАналитики.Видимость = Ложь;
   КонецЕсли;

   Если НЕ ОформлениеСтроки.Ячейки.Найти("ВидСубконто3") = НЕОПРЕДЕЛЕНО Тогда

      Если ЗначениеЗаполнено(СчетЗатрат) Тогда

         КоличествоСубконто = СчетЗатрат.ВидыСубконто.Количество();

         Если КоличествоСубконто > 0 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконто1.УстановитьТекст(СчетЗатрат.ВидыСубконто.Получить(0).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконто1.УстановитьТекст("");
         КонецЕсли;

         Если КоличествоСубконто > 1 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконто2.УстановитьТекст(СчетЗатрат.ВидыСубконто.Получить(1).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконто2.УстановитьТекст("");
         КонецЕсли;

         Если КоличествоСубконто > 2 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконто3.УстановитьТекст(СчетЗатрат.ВидыСубконто.Получить(2).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконто3.УстановитьТекст("");
         КонецЕсли;

      Иначе
         ОформлениеСтроки.Ячейки.ВидСубконто1.УстановитьТекст("");
         ОформлениеСтроки.Ячейки.ВидСубконто2.УстановитьТекст("");
         ОформлениеСтроки.Ячейки.ВидСубконто3.УстановитьТекст("");
      КонецЕсли;

   КонецЕсли;

   Если НЕ ОформлениеСтроки.Ячейки.Найти("ВидСубконтоНУ3") = НЕОПРЕДЕЛЕНО Тогда

      ОформлениеСтроки.Ячейки.ВидСубконтоНУ1.Видимость = ОтражатьВНалоговомУчете;
      ОформлениеСтроки.Ячейки.ВидСубконтоНУ2.Видимость = ОтражатьВНалоговомУчете;
      ОформлениеСтроки.Ячейки.ВидСубконтоНУ3.Видимость = ОтражатьВНалоговомУчете;

      Если ЗначениеЗаполнено(СчетЗатратНУ) Тогда

         КоличествоСубконто = СчетЗатратНУ.ВидыСубконто.Количество();

         Если КоличествоСубконто > 0 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ1.УстановитьТекст( СчетЗатратНУ.ВидыСубконто.Получить(0).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ1.УстановитьТекст("");
         КонецЕсли;

         Если КоличествоСубконто > 1 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ2.УстановитьТекст(СчетЗатратНУ.ВидыСубконто.Получить(1).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ2.УстановитьТекст("");
         КонецЕсли;

         Если КоличествоСубконто > 2 Тогда
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ3.УстановитьТекст(СчетЗатратНУ.ВидыСубконто.Получить(2).ВидСубконто);
         Иначе
            ОформлениеСтроки.Ячейки.ВидСубконтоНУ3.УстановитьТекст("");
         КонецЕсли;

      Иначе
         ОформлениеСтроки.Ячейки.ВидСубконтоНУ1.УстановитьТекст("");
         ОформлениеСтроки.Ячейки.ВидСубконтоНУ2.УстановитьТекст("");
         ОформлениеСтроки.Ячейки.ВидСубконтоНУ3.УстановитьТекст("");
      КонецЕсли;

   КонецЕсли;

   Если НЕ ОформлениеСтроки.Ячейки.Найти("Субконто1") = НЕОПРЕДЕЛЕНО Тогда

      ОформлениеСтроки.Ячейки.Субконто1.ТолькоПросмотр = ОформлениеСтроки.Ячейки.Субконто1.ТолькоПросмотр;
      ОформлениеСтроки.Ячейки.Субконто2.ТолькоПросмотр = ОформлениеСтроки.Ячейки.Субконто2.ТолькоПросмотр;
      ОформлениеСтроки.Ячейки.Субконто3.ТолькоПросмотр = ОформлениеСтроки.Ячейки.Субконто3.ТолькоПросмотр;

      Если НЕ ОформлениеСтроки.Ячейки.Найти("СубконтоНУ1") = НЕОПРЕДЕЛЕНО Тогда
         ОформлениеСтроки.Ячейки.СубконтоНУ1.Видимость = ОтражатьВНалоговомУчете;
         ОформлениеСтроки.Ячейки.СубконтоНУ2.Видимость = ОтражатьВНалоговомУчете;
         ОформлениеСтроки.Ячейки.СубконтоНУ3.Видимость = ОтражатьВНалоговомУчете;

         ОформлениеСтроки.Ячейки.СубконтоНУ1.ТолькоПросмотр = ОформлениеСтроки.Ячейки.СубконтоНУ1.ТолькоПросмотр ИЛИ НЕ ОтражатьВНалоговомУчете;
         ОформлениеСтроки.Ячейки.СубконтоНУ2.ТолькоПросмотр = ОформлениеСтроки.Ячейки.СубконтоНУ2.ТолькоПросмотр ИЛИ НЕ ОтражатьВНалоговомУчете;
         ОформлениеСтроки.Ячейки.СубконтоНУ3.ТолькоПросмотр = ОформлениеСтроки.Ячейки.СубконтоНУ3.ТолькоПросмотр ИЛИ НЕ ОтражатьВНалоговомУчете;
      КонецЕсли;
   КонецЕсли;
   
КонецПроцедуры // НастроитьВидимостьЯчеекАналитикиЗатрат()

// Процедура удаляет из строки имен реквизитов, проверяемых на заполненность
// реквизиты, которые зависят от типа учета документа
//
// Параметры:
//      ДокОбъект - проверяемый документ
//      СтрокаРекв   - Строка с именами реквизитов, которые надо проверять на заполненность
//      УпрРеквизиты - строка, с именами реквизитов имеющих смысл
//                   только в случае если документ отражается в упр.учете
//      БухРеквизиты - строка, с именами реквизитов имеющих смысл
//                   только в случае если документ отражается в регл.(бух.) учете
//      НалРеквизиты - строка, с именами реквизитов имеющих смысл
//                   только в случае если документ отражается в регл.(нал.) учете
//      ИмяТабЧасти  - имя проверяемой табл. части документа
//
Процедура НепроверятьРеквизитыПоТипуУчета(ДокОбъект, СтрокаРекв, Знач УпрРеквизиты, Знач БухРеквизиты, Знач НалРеквизиты, ИмяТабЧасти = "", СтруктураШапкиДокумента = Неопределено) Экспорт

   Стр = СтрЗаменить(СтрокаРекв, " ", "");
   СтруктРекв = Новый Структура(Стр);
   СтрокаРекв = "";

   БухРекв = СтрЗаменить(БухРеквизиты, " ", "");
   БухРекв = СтрЗаменить(БухРекв, Символы.ПС,  "");
   БухРекв = "," + СтрЗаменить(БухРекв, Символы.Таб, "") + ",";

   НалРекв = СтрЗаменить(НалРеквизиты, " ", "");
   НалРекв = СтрЗаменить(НалРекв, Символы.ПС,  "");
   НалРекв = "," + СтрЗаменить(НалРекв, Символы.Таб, "") + ",";

   Если СтруктураШапкиДокумента = Неопределено Тогда
      БухУчет = ИСТИНА;
      НалУчет = ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ОтражатьВНалоговомУчете",      ДокОбъект.Метаданные()),ДокОбъект.ОтражатьВНалоговомУчете,Ложь);
   Иначе
      БухУчет = ИСТИНА;
      НалУчет = СтруктураШапкиДокумента.ОтражатьВНалоговомУчете;
   КонецЕсли;

   // Исключим из списка проверяемых реквизитов, те которые относятся к конкретному
   // виду учета и этот вид учета выключен
   Для Каждого Рекв Из СтруктРекв Цикл

      ИмяРекв = ?(ПустаяСтрока(ИмяТабЧасти), "", ИмяТабЧасти + ".") + Рекв.Ключ;

      Если Не БухУчет И Найти(БухРекв, "," + ИмяРекв + ",") > 0 Тогда
         Продолжить;
      КонецЕсли;

      Если Не НалУчет И Найти(НалРекв, "," + ИмяРекв + ",") > 0 Тогда
         Продолжить;
      КонецЕсли;

      СтрокаРекв = ?(ПустаяСтрока(СтрокаРекв), "", СтрокаРекв + ", ") + Рекв.Ключ;

   КонецЦикла;

КонецПроцедуры // НепроверятьРеквизитыПоТипуУчета()

// Функция определяет основную спецификацию для заданной
// номенклатуры на определенный момент.
//
Функция ОпределитьСпецификациюПоУмолчанию(Номенклатура, Момент) Экспорт
   
   Если НЕ ЗначениеЗаполнено(Момент) Тогда // используем текущую дату
      Момент = ТекущаяДата();
   КонецЕсли;
   
   СпецификацияТекущая = Номенклатура.ОсновнаяСпецификацияНоменклатуры;
   
   Возврат СпецификацияТекущая;

КонецФункции // ОпределитьСпецификациюПоУмолчанию()

// Функция производит расчет сырья, необходимый для производства готовой
// продукции, указанной в документе - основание
Функция РассчитатьРасходСырьяПоСпецификации(ОснованиеСсылка, ИмяТабЧасти = "Продукция") Экспорт
   
   МетаданныеОснования   = ОснованиеСсылка.Метаданные();
   ИмяДокументаОснования = МетаданныеОснования.Имя;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура КАК Номенклатура,
   |   ДокументОснование.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
   |   ДокументОснование.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
   |   СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ВЫБОР
   |      КОГДА СпецификацииНоменклатуры.Количество = 0
   |         ТОГДА 0
   |      ИНАЧЕ ДокументОснование.КоличествоПродукции * СпецификацииНоменклатурыИсходныеКомплектующие.Количество / СпецификацииНоменклатуры.Количество
   |   КОНЕЦ КАК Количество
   |ИЗ
   |   (ВЫБРАТЬ
   |      ДокументОснованиеТаблица.Спецификация КАК Спецификация,
   |      ДокументОснованиеТаблица.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
   |      ДокументОснованиеШапка.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
   |      ДокументОснованиеТаблица.Количество КАК КоличествоПродукции
   |   ИЗ
   |      Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ДокументОснованиеТаблица
   |         ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену КАК ДокументОснованиеШапка
   |         ПО ДокументОснованиеТаблица.Ссылка = ДокументОснованиеШапка.Ссылка
   |   ГДЕ
   |      ДокументОснованиеТаблица.Ссылка = &Ссылка
   |      И ДокументОснованиеТаблица.Спецификация <> &Спецификация) КАК ДокументОснование
   |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры
   |         ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
   |         ПО СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка = СпецификацииНоменклатуры.Ссылка
   |      ПО ДокументОснование.Спецификация = СпецификацииНоменклатуры.Ссылка";
   
   Запрос.УстановитьПараметр("Ссылка", ОснованиеСсылка);
   Запрос.УстановитьПараметр("Спецификация", Справочники.СпецификацииНоменклатуры.ПустаяСсылка());
   Запрос.Текст = СтрЗаменить(Запрос.Текст, "ОтчетПроизводстваЗаСмену", ИмяДокументаОснования);
   Если ИмяДокументаОснования = "РеализацияУслугПоПереработке" Тогда
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснованиеТаблица.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,", "");
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснование.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,", "");
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснование.ПодразделениеОрганизации КАК ПодразделениеОрганизации,", "");
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснованиеШапка.ПодразделениеОрганизации КАК ПодразделениеОрганизации,", "");
      ИмяТабЧасти = "Услуги";
   КонецЕсли;   
   Если ИмяДокументаОснования = "АктОбОказанииПроизводственныхУслуг" Тогда
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснованиеТаблица.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,", "ДокументОснованиеШапка.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,");
      ИмяТабЧасти = "Услуги";
   КонецЕсли;
   Запрос.Текст = СтрЗаменить(Запрос.Текст, "Продукция", ИмяТабЧасти);
   Если НЕ ОбщегоНазначения.ЕстьРеквизитДокумента("ПодразделениеОрганизации", МетаданныеОснования) Тогда
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснование.ПодразделениеОрганизации КАК ПодразделениеОрганизации,", "");
      Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументОснованиеШапка.ПодразделениеОрганизации КАК ПодразделениеОрганизации,", "");
   КонецЕсли;
   
   Возврат Запрос.Выполнить();
   
КонецФункции

   
Функция ВыводНаименованияВыпуска(Наименование, ВыводитьЕдиницыИзмерения = Истина, ЭтоВыпуск = Ложь) Экспорт
   
   Если ТипЗнч(Наименование) = Тип("СправочникСсылка.Номенклатура") Тогда
      Возврат Наименование.НаименованиеПолное + ?(ВыводитьЕдиницыИзмерения, " (" + Наименование.БазоваяЕдиницаИзмерения + ")", "");
   ИначеЕсли ТипЗнч(Наименование) = Тип("СправочникСсылка.НоменклатурныеГруппы") Тогда
      Возврат "Услуги производственного характера";
   ИначеЕсли ТипЗнч(Наименование) = Тип("СправочникСсылка.ПодразделенияОрганизаций") Тогда
      Возврат "Услуги" + ?(ЭтоВыпуск, ", оказанные подразделению ", " подразделения ") + Наименование.Наименование;
    Иначе
      Возврат Наименование;
      
   КонецЕсли;
      
КонецФункции
Отладчиком прошла.

oltie

поэтому и ругается.. в типовой модуле еще функция и две процедуры:
Функция ПредопределенныеСчетаЗатрат() Экспорт
Процедура СоздатьВременныеТаблицыСчетаГдеОбязательнаАналитика(МенеджерВременныхТаблиц) ЭкспортПроцедура ЗаполнитьПереченьАналитикиВСообщенииОбОшибке(ТекстСообщения, НеЗаполненаАналитика, СловаДляСклонения = Неопределено) Экспорт

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

Качеррикота

 
Цитата: oltie от 29 июн 2012, 14:26
поэтому и ругается.. в типовой модуле еще функция и две процедуры:
Функция ПредопределенныеСчетаЗатрат() Экспорт
Процедура СоздатьВременныеТаблицыСчетаГдеОбязательнаАналитика(МенеджерВременныхТаблиц) ЭкспортПроцедура ЗаполнитьПереченьАналитикиВСообщенииОбОшибке(ТекстСообщения, НеЗаполненаАналитика, СловаДляСклонения = Неопределено) Экспорт

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

oltie

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск