|
v8: ЗУП: Закрытие счета 20 | ☑ | ||
|---|---|---|---|---|
|
0
rodzin
21.06.12
✎
10:18
|
Добрый день. При закрытии июня выдает ощибку:
Значение не является значением обьектного типа (Склад). Предыдущие месяцы закрыл. Помогите программист в отпуске :). Вот модуль Документа: Перем мУдалятьДвижения Экспорт; Перем мУчетнаяПолитика; // Хранит параметры учетной политики на момент проведения документа // Наборы движений по регистрам Перем мДвиженияПартии; // По регистру партии товаров на складе Перем мДвиженияПродажиСебестоимость; // По регитсру "Продажи себестоимость" упр. Перем мДвиженияБазаРаспределенияЗатрат; // По регистру сведений "База распределения затрат" (по всем видам учета) Перем мОперация; // По регистру бухгалтерии "Хозрасчетный" Перем мСуффиксИмениРегистра; // Суффикс имени регистра. для бух. учета = "БухгалтерскийУчет" // для упр. учета = "", для налог. учете = "НалоговыйУчет" Перем мСуффиксСчета; // Суффикс счета. для бух. учета = "СчетУчетаБУ" // для нал. учета = "СчетУчетаНУ" // Процедура проверяет правильность заполнения реквизитов документа // Процедура ПроверкаРеквизитов(Отказ, Заголовок, СтруктураШапкиДокумента) Экспорт РеквизитыШапки = "Организация"; ЗаполнениеДокументов.ПроверитьЗаполнениеШапкиДокумента(ЭтотОбъект, Новый Структура(РеквизитыШапки), Отказ, Заголовок); КонецПроцедуры // ПроверкаРеквизитов() // Функция получения признака использования расширенной аналитики учета. // // Параметры: // ПолучитьНовоеЗначение - Булево - признак необходимости получения нового значения параметра // // Возвращаемое значение: // Булево - признак использования расширенной аналитики учета // Функция ПолучитьИспользованиеРасширеннойАналитики( ПолучитьНовоеЗначение = Ложь ) Экспорт Перем ИспользоватьРасширеннуюАналитику; Если ПолучитьНовоеЗначение ИЛИ Не ДополнительныеСвойства.Свойство("ИспользоватьРасширеннуюАналитику", ИспользоватьРасширеннуюАналитику) Тогда ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= Дата); ДополнительныеСвойства.Вставить("ИспользоватьРасширеннуюАналитику", ИспользоватьРасширеннуюАналитику); КонецЕсли; Возврат ИспользоватьРасширеннуюАналитику; КонецФункции // ПолучитьИспользованиеРасширеннойАналитики() // Функция получения режима использования расширенной аналитики учета. // // Параметры: // ПолучитьНовоеЗначение - Булево - признак необходимости получения нового значения параметра // // Возвращаемое значение: // Булево - признак использования расширенной аналитики учета // Функция ПолучитьРежимИспользованияРасширеннойАналитики( ПолучитьНовоеЗначение = Ложь ) Экспорт Перем РежимИспользованияРасширеннойАналитики; Если ПолучитьНовоеЗначение ИЛИ Не ДополнительныеСвойства.Свойство("РежимИспользованияРасширеннойАналитики", РежимИспользованияРасширеннойАналитики) Тогда РежимИспользованияРасширеннойАналитики = глЗначениеПеременной("РежимИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат"); ДополнительныеСвойства.Вставить("РежимИспользованияРасширеннойАналитики", РежимИспользованияРасширеннойАналитики); КонецЕсли; Возврат РежимИспользованияРасширеннойАналитики; КонецФункции // ПолучитьРежимИспользованияРасширеннойАналитики() /////////////////////////////////////////////////////////////////////////////// // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ ПРОВЕДЕНИЯ ДОКУМЕНТА // Процедура формирует структуру шапки документа и дополнительных полей. // // Параметры // СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости" // Отказ - Булево - Признак отказа от проведения документа // Заголовок - Строка - Текст представления документа // // Процедура ПодготовитьСтруктуруШапкиДокумента( СтруктураШапкиДокумента, Отказ, Заголовок ) // Период построения запросов мНачГраница = Новый Граница( НачалоМесяца(Дата), ВидГраницы.Включая); мКонГраница = Новый Граница( КонецМесяца(Дата), ВидГраницы.Включая); мНачДата = НачалоМесяца(Дата); мКонДата = КонецМесяца(Дата); мРасчетПоПеределамОсновноеПроизводство = Ложь; мРасчетПоПеределамВспомогательноеПроизводство = Ложь; ДетализацияКосвенныхЗатратВСебестоимости = мУчетнаяПолитика.ДетализацияКосвенныхЗатратВСебестоимости; ДетализацияПоФиксированнойСтатьеЗатрат = (ДетализацияКосвенныхЗатратВСебестоимости = Перечисления.ДетализацияКосвенныхЗатратВСебестоимости.ПоФиксированнойСтатьеЗатрат); СтатьяБракВПроизводстве = мУчетнаяПолитика.СтатьяБракВПроизводстве; СтатьяОбщепроизводственныеРасходы = мУчетнаяПолитика.СтатьяОбщепроизводственныеРасходы; СтатьяОбщехозяйственныеРасходы = мУчетнаяПолитика.СтатьяОбщехозяйственныеРасходы; ВариантУчетаВыпускаГотовойПродукции = мУчетнаяПолитика.ВариантУчетаВыпускаГотовойПродукции; Если ДетализацияПоФиксированнойСтатьеЗатрат Тогда Если НЕ ЗначениеЗаполнено(СтатьяБракВПроизводстве) Тогда ОбщегоНазначения.СообщитьОбОшибке("Не указан параметр ""Статья брак в производстве"" учетной политики!", Отказ, Заголовок); ИначеЕсли НЕ ЗначениеЗаполнено(СтатьяОбщепроизводственныеРасходы) Тогда ОбщегоНазначения.СообщитьОбОшибке("Не указан параметр ""Статья общепроизводственных расходов"" учетной политики!", Отказ, Заголовок); ИначеЕсли НЕ ЗначениеЗаполнено(СтатьяОбщехозяйственныеРасходы) Тогда ОбщегоНазначения.СообщитьОбОшибке("Не указан параметр ""Статья общехозяйственных расходов"" учетной политики!", Отказ, Заголовок); КонецЕсли; КонецЕсли; Если Отказ Тогда Возврат; // Прервать расчет КонецЕсли; ПоддержкаПБУ18 = мУчетнаяПолитика.ПоддержкаПБУ18; мВидыПодразделенийДляРасчетаПоПеределам = Новый Массив; мВидыПодразделенийДляРасчетаПоПодразделениям = Новый Массив; Если мРасчетПоПеределамВспомогательноеПроизводство Тогда мВидыПодразделенийДляРасчетаПоПеределам.Добавить(Перечисления.ВидыПодразделений.ВспомогательноеПроизводство); Иначе мВидыПодразделенийДляРасчетаПоПодразделениям.Добавить(Перечисления.ВидыПодразделений.ВспомогательноеПроизводство); КонецЕсли; Если мРасчетПоПеределамОсновноеПроизводство Тогда мВидыПодразделенийДляРасчетаПоПеределам.Добавить(Перечисления.ВидыПодразделений.ОсновноеПроизводство); Иначе мВидыПодразделенийДляРасчетаПоПодразделениям.Добавить(Перечисления.ВидыПодразделений.ОсновноеПроизводство); КонецЕсли; УчетПоСредней = (мУчетнаяПолитика.СпособОценкиМПЗ = Перечисления.СпособыОценки.ПоСредней); СтруктураШапкиДокумента.Вставить("УчетПоСредней", УчетПоСредней); СтруктураШапкиДокумента.Вставить("Дата", КонецМесяца(Дата)); СтруктураШапкиДокумента.Вставить("Период", КонецМесяца(Дата)); СтруктураШапкиДокумента.Вставить("УчетнаяПолитика", мУчетнаяПолитика); СтруктураШапкиДокумента.Вставить("ТабПеределовОбщая", Неопределено); СтруктураШапкиДокумента.Вставить("СуффиксИмениРегистра", мСуффиксИмениРегистра); СтруктураШапкиДокумента.Вставить("ОтражатьВУправленческомУчете", Ложь); СтруктураШапкиДокумента.Вставить("ОтражатьВБухгалтерскомУчете", Истина); СтруктураШапкиДокумента.Вставить("ОтражатьВНалоговомУчете", Ложь); СтруктураШапкиДокумента.Вставить("ОтражатьВМеждународномУчете", Ложь); СтруктураШапкиДокумента.Вставить("РасчетПоПеределамОсновноеПроизводство", мРасчетПоПеределамОсновноеПроизводство); СтруктураШапкиДокумента.Вставить("РасчетПоПеределамВспомогательноеПроизводство", мРасчетПоПеределамВспомогательноеПроизводство); СтруктураШапкиДокумента.Вставить("ВариантУчетаВыпускаГотовойПродукции", ВариантУчетаВыпускаГотовойПродукции); СтруктураШапкиДокумента.Вставить("ВидыПодразделенийДляРасчетаПоПеределам", мВидыПодразделенийДляРасчетаПоПеределам); СтруктураШапкиДокумента.Вставить("ВидыПодразделенийДляРасчетаПоПодразделениям", мВидыПодразделенийДляРасчетаПоПодразделениям); СтруктураШапкиДокумента.Вставить("мВидыПодразделенийДляРасчетаПоПеределам", мВидыПодразделенийДляРасчетаПоПеределам); СтруктураШапкиДокумента.Вставить("мВидыПодразделенийДляРасчетаПоПодразделениям", мВидыПодразделенийДляРасчетаПоПодразделениям); СтруктураШапкиДокумента.Вставить("ДетализацияПоФиксированнойСтатьеЗатрат", ДетализацияПоФиксированнойСтатьеЗатрат); Если ДетализацияПоФиксированнойСтатьеЗатрат Тогда СтруктураШапкиДокумента.Вставить("СтатьяОбщепроизводственныеРасходы", СтатьяОбщепроизводственныеРасходы); СтруктураШапкиДокумента.Вставить("СтатьяОбщехозяйственныеРасходы", СтатьяОбщехозяйственныеРасходы); СтруктураШапкиДокумента.Вставить("СтатьяБракВПроизводстве", СтатьяБракВПроизводстве); Иначе СтруктураШапкиДокумента.Вставить("СтатьяОбщепроизводственныеРасходы"); СтруктураШапкиДокумента.Вставить("СтатьяОбщехозяйственныеРасходы"); СтруктураШапкиДокумента.Вставить("СтатьяБракВПроизводстве"); КонецЕсли; СтруктураШапкиДокумента.Вставить("ИтерационныйРасчетЗатратВстречногоВыпуска", Ложь); СтруктураШапкиДокумента.Вставить("БезСтатейЗатрат", Истина); СтруктураШапкиДокумента.Вставить("мСуффиксИмениРегистра", мСуффиксИмениРегистра); СтруктураШапкиДокумента.Вставить("мНачГраница", мНачГраница); СтруктураШапкиДокумента.Вставить("мКонГраница", мКонГраница); СтруктураШапкиДокумента.Вставить("мНачДата", мНачДата); СтруктураШапкиДокумента.Вставить("мКонДата", мКонДата); СтруктураШапкиДокумента.Вставить("ПоддержкаПБУ18", ПоддержкаПБУ18); СтруктураШапкиДокумента.Вставить("ДиректКостинг", мУчетнаяПолитика.ДиректКостинг); СтруктураШапкиДокумента.Вставить("ВедениеУчетаПоПроектам", УправлениеПроектами.ВедениеУчетаПоПроектам()); СтруктураШапкиДокумента.Вставить("ВедениеУчетаЗатратПоПроектам", УправлениеПроектами.ВедениеУчетаЗатратПоПроектам()); СпособыВеденияПартионногоУчетаПоОрганизациям = УправлениеЗапасамиПартионныйУчет.ПодготовитьСоответствиеСпособыВеденияПартионногоУчетаПоОрганизациям(СтруктураШапкиДокумента); СтруктураШапкиДокумента.Вставить("СпособыВеденияПартионногоУчетаПоОрганизациям", СпособыВеденияПартионногоУчетаПоОрганизациям); ВидОтраженияВУчете = ПроцедурыРасчетаСебестоимостиВыпуска.ПолучитьВидОтраженияВУчете(СтруктураШапкиДокумента); СтруктураШапкиДокумента.Вставить("ВидОтраженияВУчете", ВидОтраженияВУчете); ИспользоватьРасширеннуюАналитику = ПолучитьИспользованиеРасширеннойАналитики(); СтруктураШапкиДокумента.Вставить("ИспользоватьРасширеннуюАналитику", ИспользоватьРасширеннуюАналитику); СтруктураШапкиДокумента.Вставить("ОтражатьВНалоговомУчете", Ложь); РежимИспользованияРасширеннойАналитики = ПолучитьРежимИспользованияРасширеннойАналитики(); СтруктураШапкиДокумента.Вставить("ОтражатьЗатратыВУпрУчете", (РежимИспользованияРасширеннойАналитики = Перечисления.РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет)); СтруктураШапкиДокумента.Вставить("ОтноситьТЗРНаОтдельныйСчет", мУчетнаяПолитика.ВидУчетаТЗР = Перечисления.ВариантыУчетаТЗР.ОтнесениеНаОтдельныйСчет); СтруктураШапкиДокумента.Вставить("ПростоеРаспределение", УчетЗатрат.ИспользоватьПростоеРаспределение(НастройкаЗакрытияМесяца)); // По умолчанию "отладочный режим" выключен. // // Для его включения необходимо в режиме отладки выполнить функцию // РасширеннаяАналитикаУчета.ВключитьОтладочныйРежим(). // // Включение "отладочного режима" позволит просматривать данные временных таблиц - // см. РасширеннаяАналитика.ПоказатьВременнуюТаблицу() РасширеннаяАналитикаУчета.ВключитьОтладочныйРежим(СтруктураШапкиДокумента, Истина); КонецПроцедуры // ПодготовитьСтруктуруШапкиДокумента() // Функция формирует структуру таблиц движений регистров. // // Параметры // СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости" // // Возвращаемое значение: // Структура – Структура таблиц движений регистров // Функция ПолучитьСтруктуруТаблицДвиженийРегистров( СтруктураШапкиДокумента ) // Наборы движений по регистрам Если СтруктураШапкиДокумента.ОтражатьВУправленческомУчете Тогда мСуффиксИмениРегистра = ""; мДвиженияПартии = Движения.ПартииТоваровНаСкладах; мДвиженияПродажиСебестоимость = Движения.ПродажиСебестоимость; мДвиженияБазаРаспределенияЗатрат = Движения.БазаРаспределенияЗатрат; ИначеЕсли СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете Тогда мСуффиксИмениРегистра = "БухгалтерскийУчет"; мДвиженияПартии = Движения.ПартииТоваровНаСкладахБухгалтерскийУчет; мДвиженияБазаРаспределенияЗатрат = Движения.БазаРаспределенияЗатратБухгалтерскийУчет; мОперация = Движения.Хозрасчетный; мСуффиксСчета = "СчетУчетаБУ"; ИначеЕсли СтруктураШапкиДокумента.ОтражатьВНалоговомУчете Тогда мСуффиксИмениРегистра = "НалоговыйУчет"; мДвиженияПартии = Движения.ПартииТоваровНаСкладахНалоговыйУчет; мДвиженияБазаРаспределенияЗатрат = Движения.БазаРаспределенияЗатратНалоговыйУчет; мОперация = Движения.Налоговый; мСуффиксСчета = "СчетУчетаНУ"; КонецЕсли; мТаблицаДвиженийПартии = мДвиженияПартии.Выгрузить(); //мТаблицаДвиженийПродажиСебестоимость = мДвиженияПродажиСебестоимость.Выгрузить(); СтруктураТаблицДвижений = Новый Структура; СтруктураТаблицДвижений.Вставить("ТаблицаДвиженийПартии", мТаблицаДвиженийПартии); //СтруктураТаблицДвижений.Вставить("ТаблицаДвиженийПродажиСебестоимость", мТаблицаДвиженийПродажиСебестоимость); Возврат СтруктураТаблицДвижений; КонецФункции // ПолучитьСтруктуруТаблицДвиженийРегистров() Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект); КонецПроцедуры Процедура ПриКопировании(ОбъектКопирования) ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект,,ОбъектКопирования.Ссылка); Организация = ""; КонецПроцедуры Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если мУдалятьДвижения Тогда ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ); КонецЕсли; ИспользоватьРасширеннуюАналитику = ПолучитьИспользованиеРасширеннойАналитики(); Если НЕ ИспользоватьРасширеннуюАналитику Тогда ОбщегоНазначения.СообщитьОбОшибке("Документ можно проводить только если используется расширенная аналитика учета затрат",Отказ); Возврат; КонецЕсли; // Сформируем структуру реквизитов шапки документа СтруктураШапкиДокумента = ОбщегоНазначения.СформироватьСтруктуруШапкиДокумента(ЭтотОбъект); Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка); ПроверкаРеквизитов(Отказ, Заголовок, СтруктураШапкиДокумента); мУчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(КонецМесяца(Дата), Организация,истина); Если НЕ ЗначениеЗаполнено(мУчетнаяПолитика) Тогда Отказ = Истина; КонецЕсли; Если Отказ Тогда Возврат; КонецЕсли; // Добавим дополнительные поля в структуру шапки документа. ПодготовитьСтруктуруШапкиДокумента( СтруктураШапкиДокумента, Отказ, Заголовок ); СтруктураТаблицДвижений = ПолучитьСтруктуруТаблицДвиженийРегистров(СтруктураШапкиДокумента); Если Отказ Тогда Возврат; КонецЕсли; ОбщегоНазначения.Сообщение( Заголовок, Перечисления.ВидыСообщений.Раздел, //Перечисления.ВидыСообщений.ВажнаяИнформация, , // Заголовок Ссылка ); ТаблицаОшибок = УправлениеЗатратами.СформироватьТаблицуОшибок(); Если Отказ Тогда Возврат; КонецЕсли; // Выполнение заданных в документе действий (на сервере) ПроцедурыРасчетаСебестоимостиРасширеннаяАналитика.ВыполнитьДействияДокумента2( СтруктураШапкиДокумента, ТаблицаОшибок); УправлениеЗатратами.ВывестиСообщенияОбОшибках( СтруктураШапкиДокумента, ТаблицаОшибок, "" // Заголовок ); Если НЕ Отказ Тогда ОбщегоНазначения.Сообщение("Расчет себестоимости завершен.", Перечисления.ВидыСообщений.Раздел); КонецЕсли; КонецПроцедуры Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) мУдалятьДвижения = НЕ ЭтоНовый(); КонецПроцедуры |
|||
|
1
1C-band
21.06.12
✎
10:19
|
жесть
|
|||
|
2
Господин ПЖ
21.06.12
✎
10:19
|
бугага
|
|||
|
3
Cube
21.06.12
✎
10:19
|
В ЗУПе, да? Точно-точно?))
|
|||
|
4
1C-band
21.06.12
✎
10:20
|
(0) Пишите на 1c-band@mail.ru , от 1000 руб. за час.
|
|||
|
5
rodzin
21.06.12
✎
10:20
|
Комплексная автоматизация 1.1.21.1. А в чем жесть?
|
|||
|
6
Cube
21.06.12
✎
10:20
|
"программист в отпуске"
Походу, после того, как его попросили закрытие месяца в ЗУПе написать, он свалил подальше от того места)))))) |
|||
|
7
rodzin
21.06.12
✎
10:22
|
Я админ на фирме человек (программист) никуда не свалил, просто не хочется дергать вот и все на 7 я программировал лет 5 назад, в восьмерке я ноль. Думал может подскажите что исправить чтоб бухгалтерия отстала :).
|
|||
|
8
чувак
21.06.12
✎
10:24
|
(7) Ты узнай в ошибке номер строки ошибки и в каком модуле это происходить.
|
|||
|
9
rodzin
21.06.12
✎
10:25
|
Это все что она выдает, внизу не указывается номер строки, хотя сейчас подойду к бухгалтерам посмотрю точнее.
|
|||
|
10
rodzin
21.06.12
✎
10:27
|
Нашел :).
Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {ОбщийМодуль.ПроцедурыРасчетаСебестоимостиРасширеннаяАналитика.Модуль(1968)}: Значение не является значением объектного типа (Склад) |
|||
|
11
Cube
21.06.12
✎
10:28
|
(10) Звони программисту... :)
|
|||
|
12
чувак
21.06.12
✎
10:30
|
(10) Теперь заходи в конфу, найди эту строку, установи туда точку остановки, запусти предприятие в режие отладки, потом на этой точке отладка остановиться и дальше можешь анализировать этот реквизит
|
|||
|
13
Пеппи
21.06.12
✎
10:31
|
да где то склад не заполнен вот и ругается
|
|||
|
14
rodzin
21.06.12
✎
10:31
|
Да фиг с ними с бухгалтерами, сам знаю как прекрасно когда в отпуске кто то начинает звонить и кричать что упал сервер и т.д..... и ты матерясь по удалёнке из отеля пытаешся что то сделать :) вместо пива, пляжа и т.д. Подождут..
|
|||
|
15
rodzin
21.06.12
✎
10:31
|
чувак
Спасибо попробую. |
|||
|
16
rodzin
21.06.12
✎
11:07
|
НаборПроводок.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады] = НайденнаяСтрока.Склад;
Вот на эту строку ругается в Процедуре: Процедура КорректировкаУчетнойСтоимостиВыпускаПродукции2( СтруктураШапкиДокумента, МенеджерВременныхТаблиц, СтруктураНаборыЗаписей ) ЗапросСчет20 = Новый Запрос(); ЗапросСчет43 = Новый Запрос(); АналитикаРасчетов20 = новый Массив(); АналитикаРасчетов20.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Подразделения); АналитикаРасчетов20.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы); ЗапросСчет20.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА (ХозрасчетныйОборотыДтКт.СубконтоДт1) ЕСТЬ NULL ТОГДА | ХозрасчетныйОборотыДтКт2.СубконтоКт1 | ИНАЧЕ | ХозрасчетныйОборотыДтКт.СубконтоДт1 | КОНЕЦ КАК Подразделение, | ВЫБОР | КОГДА (ХозрасчетныйОборотыДтКт.СубконтоДт2) ЕСТЬ NULL ТОГДА | ХозрасчетныйОборотыДтКт2.СубконтоКт2 | ИНАЧЕ | ХозрасчетныйОборотыДтКт.СубконтоДт2 | КОНЕЦ КАК НоменклатурнаяГруппа, | ВЫБОР | КОГДА (ХозрасчетныйОборотыДтКт.СуммаОборот) ЕСТЬ NULL ТОГДА | 0 | ИНАЧЕ | ХозрасчетныйОборотыДтКт.СуммаОборот | КОНЕЦ КАК СуммаДт, | ВЫБОР | КОГДА (ХозрасчетныйОборотыДтКт2.СуммаОборот) ЕСТЬ NULL ТОГДА | 0 | ИНАЧЕ | ХозрасчетныйОборотыДтКт2.СуммаОборот | КОНЕЦ КАК СуммаКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2, Месяц, СчетДт В (&ВыбСчетДт), &АналитикаРасчетов, , , Организация = &ВыбОрганизация) КАК ХозрасчетныйОборотыДтКт | | ПОЛНОЕ СОЕДИНЕНИЕ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2, Месяц, , , СчетКт В (&ВыбСчетДт), &АналитикаРасчетов, Организация = &ВыбОрганизация) КАК ХозрасчетныйОборотыДтКт2 | ПО ХозрасчетныйОборотыДтКт.СубконтоДт1 = ХозрасчетныйОборотыДтКт2.СубконтоКт1 И ХозрасчетныйОборотыДтКт.СубконтоДт2 = ХозрасчетныйОборотыДтКт2.СубконтоКт2"; ЗапросСчет20.УстановитьПараметр("Дата1", СтруктураШапкиДокумента.мНачДата); ЗапросСчет20.УстановитьПараметр("Дата2", СтруктураШапкиДокумента.мКонДата); ЗапросСчет20.УстановитьПараметр("ВыбСчетДт", ПланыСчетов.Хозрасчетный.ОсновноеПроизводствоНеОблагаемоеЕНВД); ЗапросСчет20.УстановитьПараметр("АналитикаРасчетов", АналитикаРасчетов20); ЗапросСчет20.УстановитьПараметр("ВыбОрганизация", СтруктураШапкиДокумента.Организация); ЗапросСчет43.Текст = "ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Номенклатура, | ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК Склад, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2, Месяц, СчетДт В (&ВыбСчетДт), &АналитикаРасчетов, , , Организация = &ВыбОрганизация) КАК ХозрасчетныйОборотыДтКт"; АналитикаРасчетов43 = новый Массив(); АналитикаРасчетов43.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); АналитикаРасчетов43.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады); ЗапросСчет43.УстановитьПараметр("Дата1", СтруктураШапкиДокумента.мНачДата); ЗапросСчет43.УстановитьПараметр("Дата2", СтруктураШапкиДокумента.мКонДата); ЗапросСчет43.УстановитьПараметр("ВыбСчетДт", ПланыСчетов.Хозрасчетный.ГотоваяПродукция); ЗапросСчет43.УстановитьПараметр("АналитикаРасчетов", АналитикаРасчетов43); ЗапросСчет43.УстановитьПараметр("ВыбОрганизация", СтруктураШапкиДокумента.Организация); РезультатЗапроса20 = ЗапросСчет20.Выполнить(); РезультатЗапроса43 = ЗапросСчет43.Выполнить().Выгрузить(); Если РезультатЗапроса20.Пустой() Тогда Возврат; КонецЕсли; ЗапросАналитикаВидаУчета = Новый Запрос(); ЗапросАналитикаВидаУчета.Текст = "ВЫБРАТЬ | АналитикаВидаУчета.Ссылка, | АналитикаВидаУчета.Организация, | АналитикаВидаУчета.РазделУчета, | АналитикаВидаУчета.Подразделение, | АналитикаВидаУчета.ПодразделениеОрганизации, | АналитикаВидаУчета.Склад |ИЗ | РегистрСведений.АналитикаВидаУчета КАК АналитикаВидаУчета |ГДЕ | АналитикаВидаУчета.Склад = &ВыбСклад | И АналитикаВидаУчета.Организация = &ВыбОрганизация | И АналитикаВидаУчета.РазделУчета = &ВыбРаздел | И АналитикаВидаУчета.СчетУчета = &ВыбСчетУчета | И АналитикаВидаУчета.СчетУчетаНУ = &ВыбСчетУчетаНУ"; ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбРаздел", Перечисления.РазделыУчета.МПЗ); ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбСчетУчета", ПланыСчетов.Хозрасчетный.ГотоваяПродукция); ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбСчетУчетаНУ", ПланыСчетов.Налоговый.ГотоваяПродукция); ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбОрганизация", СтруктураШапкиДокумента.Организация); ЗапросАналитикаРаспределенияЗатрат = Новый Запрос(); ЗапросАналитикаРаспределенияЗатрат.Текст = "ВЫБРАТЬ | АналитикаУчетаЗатрат.Затрата, | АналитикаУчетаЗатрат.Ссылка |ИЗ | РегистрСведений.АналитикаУчетаЗатрат КАК АналитикаУчетаЗатрат |ГДЕ | АналитикаУчетаЗатрат.Затрата = &ВыбЗатрата"; ЗапросНоменклатура = Новый Запрос(); ЗапросНоменклатура.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.НоменклатурнаяГруппа = &ВыбНоменклатурнаяГруппа"; АналитикаРаспределенияЗатрат = Неопределено; АналитикаУчетаПартий = Неопределено; ВыборкаАналитика = РегистрыСведений.АналитикаУчетаПартий.Выбрать(); Пока ВыборкаАналитика.Следующий() Цикл Если ВыборкаАналитика.Ссылка = Справочники.КлючиАналитикиУчетаПартий.НайтиПоНаименованию("") Тогда АналитикаУчетаПартий = ВыборкаАналитика.Ссылка; Прервать; КонецЕсли; КонецЦикла; ВыборкаАналитика = РегистрыСведений.АналитикаРаспределенияЗатрат.Выбрать(); Пока ВыборкаАналитика.Следующий() Цикл Если ВыборкаАналитика.Ссылка = Справочники.КлючиАналитикиРаспределенияЗатрат.НайтиПоНаименованию("") Тогда АналитикаРаспределенияЗатрат = ВыборкаАналитика.Ссылка; Прервать; КонецЕсли; КонецЦикла; Выборка = РезультатЗапроса20.Выбрать(); Пока Выборка.Следующий() Цикл ЗапросНоменклатура.УстановитьПараметр("ВыбНоменклатурнаяГруппа", Выборка.НоменклатурнаяГруппа); ВыбНоменклатура = ЗапросНоменклатура.Выполнить().Выбрать(); Если ВыбНоменклатура.Количество() > 1 Тогда Пока ВыбНоменклатура.Следующий() Цикл ЗапросАналитикаРаспределенияЗатрат.УстановитьПараметр("ВыбЗатрата", ВыбНоменклатура.Ссылка); РезультатАналитики = ЗапросАналитикаРаспределенияЗатрат.Выполнить().Выбрать(); Если РезультатАналитики.Следующий() Тогда АналитикаУчетаЗатрат = РезультатАналитики.Ссылка; Иначе АналитикаУчетаЗатрат = Неопределено; КонецЕсли; НайденнаяСтрока = РезультатЗапроса43.Найти(ВыбНоменклатура.Ссылка, "Номенклатура"); Если НайденнаяСтрока <> Неопределено Тогда ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбСклад", НайденнаяСтрока.Склад); РезультатАналитики = ЗапросАналитикаВидаУчета.Выполнить().Выбрать(); Если РезультатАналитики.Следующий() Тогда АналитикаВидаУчета = РезультатАналитики.Ссылка; Иначе АналитикаВидаУчета = Неопределено; КонецЕсли; Прервать; Иначе АналитикаВидаУчета = Неопределено; КонецЕсли; КонецЦикла; Иначе Если ВыбНоменклатура.Следующий() Тогда ЗапросАналитикаРаспределенияЗатрат.УстановитьПараметр("ВыбЗатрата", ВыбНоменклатура.Ссылка); РезультатАналитики = ЗапросАналитикаРаспределенияЗатрат.Выполнить().Выбрать(); Если РезультатАналитики.Следующий() Тогда АналитикаУчетаЗатрат = РезультатАналитики.Ссылка; Иначе АналитикаУчетаЗатрат = Неопределено; КонецЕсли; Иначе АналитикаУчетаЗатрат = Неопределено; КонецЕсли; НайденнаяСтрока = РезультатЗапроса43.Найти(ВыбНоменклатура.Ссылка, "Номенклатура"); Если НайденнаяСтрока <> Неопределено Тогда ЗапросАналитикаВидаУчета.УстановитьПараметр("ВыбСклад", НайденнаяСтрока.Склад); РезультатАналитики = ЗапросАналитикаВидаУчета.Выполнить().Выбрать(); Если РезультатАналитики.Следующий() Тогда АналитикаВидаУчета = РезультатАналитики.Ссылка; Иначе АналитикаВидаУчета = Неопределено; КонецЕсли; Иначе АналитикаВидаУчета = Неопределено; КонецЕсли; КонецЕсли; // Движения "Приход" по аналитике выпуска. РасширеннаяАналитикаУчета.СформироватьДвиженияПоРегиструУчетЗатрат( СтруктураШапкиДокумента, АналитикаВидаУчета, АналитикаУчетаЗатрат, АналитикаУчетаПартий, АналитикаРаспределенияЗатрат, Неопределено, // Выборка.АналитикаВидаУчета, Неопределено, // Выборка.АналитикаУчетаЗатрат, Неопределено, // Выборка.АналитикаУчетаПартий, Неопределено, // Выборка.АналитикаРаспределенияЗатрат, ВидДвиженияНакопления.Приход, Неопределено, // КодОперации 0, // Количество (Выборка.СуммаДт - Выборка.СуммаКт), 0, // КоличествоНУ (Выборка.СуммаДт - Выборка.СуммаКт), 0, // ПостояннаяРазница, СтруктураНаборыЗаписей.УчетЗатрат ); НаборПроводок = СтруктураНаборыЗаписей.Хозрасчетный.Добавить(); //НаборПроводок = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей().Добавить(); НаборПроводок.Активность = Истина; НаборПроводок.Организация = СтруктураШапкиДокумента.Организация; НаборПроводок.СчетДт = ПланыСчетов.Хозрасчетный.ГотоваяПродукция; НаборПроводок.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ВыбНоменклатура.Ссылка; НаборПроводок.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады] = НайденнаяСтрока.Склад; НаборПроводок.СчетКт = ПланыСчетов.Хозрасчетный.ОсновноеПроизводствоНеОблагаемоеЕНВД; НаборПроводок.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Подразделения] = Выборка.Подразделение; НаборПроводок.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = Выборка.НоменклатурнаяГруппа; НаборПроводок.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиЗатрат] = Справочники.СтатьиЗатрат.НайтиПоНаименованию(ВыбНоменклатура.Ссылка); НаборПроводок.Период = СтруктураШапкиДокумента.мКонДата; НаборПроводок.Сумма = (Выборка.СуммаДт - Выборка.СуммаКт); КонецЦикла; КонецПроцедуры |
|||
|
17
rodzin
21.06.12
✎
15:09
|
А можно удалить тему, нашли выход, спасибо за подсказки дело было не в модуле а в как обычно в оформлении и создании документов :).
|
| Форум | Правила | Описание | Секции | Поиск |