Имя: Пароль:
1C
1С v8
БГУ ОС модернизация и капремонт.
0 Плот
 
02.10.12
09:13
Привет Всем! Ни укого нет такой ерунды. Не встают видыЗатрат на 106. Нашел вот такой вот код:
До обновления
       Для Каждого ТекСтрока Из ТабПровРег Цикл
           КоличествоИтого = КоличествоИтого + ТекСтрока.Количество;
           КоличествоОстаток=ТекСтрока.Количество;
           Для Каждого ТекЗатрата Из ТабРезультат Цикл
               НоваяСтрока                   = ТабПрофБух.Добавить();
               НоваяСтрока.ОС                = ТекСтрока.ОС;
               НоваяСтрока.ЦМО               = ТекСтрока.ЦМО;
               НоваяСтрока.ИнвНомер          = ТекСтрока.ИнвНомер;
               НоваяСтрока.ВидЗатрат         = ТекЗатрата.ВидЗатрат;

и на 12.03
       Для Каждого ТекСтрока Из ТабПровРег Цикл
           КоличествоИтого = КоличествоИтого + ТекСтрока.Количество;
           КоличествоОстаток=ТекСтрока.Количество;
           Для Каждого ТекЗатрата Из ТабРезультат Цикл
               НоваяСтрока                   = ТабПрофБух.Добавить();
               НоваяСтрока.ОС                = ТекСтрока.ОС;
               НоваяСтрока.ЦМО               = ТекСтрока.ЦМО;
               НоваяСтрока.ИнвНомер          = ТекСтрока.ИнвНомер;
               НоваяСтрока.ВидЗатрат         = ТекЗатрата.ВидЗатрат;

Это ошибка? Насколько могу понять ВидыЗатрат должны все равно закрыться на 106
1 Sayshal
 
02.10.12
09:16
Эм, а изменения есть? Я что-то не увидел
2 Плот
 
02.10.12
09:27
(1) Мда, чет глюканул. Ушел искать дальше
3 Плот
 
02.10.12
09:39
Вот ДО:
       ВсеЗатраты = Справочники.ВидыЗатрат.ПустаяСсылка();
       ВсеЗатратыКОСГУ = Справочники.КОСГУ.ПустаяСсылка();
       Если  ВидЗатратОборотный Тогда
           ВсеЗатратыКОСГУ = ПолучитьЛокальнуюПеременную("КОСГУ000");
           Если  ВсеЗатратыКОСГУ <> Справочники.КОСГУ.ПустаяСсылка() Тогда
               ВсеЗатраты = Справочники.ВидыЗатрат.НайтиПоРеквизиту("КОСГУ",ВсеЗатратыКОСГУ);
           КонецЕсли;
           Если ВсеЗатраты = Справочники.ВидыЗатрат.ПустаяСсылка() Тогда
               СправочникОбъект = Справочники.ВидыЗатрат.СоздатьЭлемент();
               СправочникОбъект.КОСГУ = ВсеЗатратыКОСГУ;
               СправочникОбъект.Наименование = "Все затраты";
               СправочникОбъект.ВидДеятельностиДляНалоговогоУчетаЗатрат = Перечисления.ВидыДеятельностиДляНалоговогоУчетаЗатрат.ОсновнаяСистемаНалогообложения;
               СправочникОбъект.ВидРасходовНУ    = Перечисления.ВидыРасходовНУ.ПрочиеРасходы;
               СправочникОбъект.Записать();
               ВсеЗатраты  = СправочникОбъект.Ссылка;
           КонецЕсли;
       КонецЕсли;
       
и после:
   Если  ВидЗатратОборотный Тогда
           ВсеЗатратыКОСГУ = ПолучитьЛокальнуюПеременную("КОСГУ000");
           Если  ЗначениеЗаполнено(ВсеЗатратыКОСГУ) Тогда
               ВсеЗатраты = Справочники.ВидыЗатрат.НайтиПоРеквизиту("КОСГУ",ВсеЗатратыКОСГУ);
               УстановитьПривилегированныйРежим(Истина);
               Если ВсеЗатраты = Справочники.ВидыЗатрат.ПустаяСсылка() Тогда
                   СправочникОбъект = Справочники.ВидыЗатрат.СоздатьЭлемент();
                   СправочникОбъект.КОСГУ        = ВсеЗатратыКОСГУ;
                   СправочникОбъект.Наименование = "Все затраты";
                   СправочникОбъект.ВидДеятельностиДляНалоговогоУчетаЗатрат = Перечисления.ВидыДеятельностиДляНалоговогоУчетаЗатрат.ОсновнаяСистемаНалогообложения;
                   СправочникОбъект.ВидРасходовНУ    = Перечисления.ВидыРасходовНУ.ПрочиеРасходы;
                   СправочникОбъект.Записать();
                   ВсеЗатраты  = СправочникОбъект.Ссылка;
               КонецЕсли;
               УстановитьПривилегированныйРежим(Ложь);
           КонецЕсли;
       КонецЕсли;
4 Плот
 
02.10.12
10:32
во втором случае получается, что если не нашли ВсеЗатратыКОСГУ = ПолучитьЛокальнуюПеременную("КОСГУ000"); то зайти в условие и создать не получится?
5 Плот
 
02.10.12
11:51
Ребята вот в этой функции
Функция ПолучитьЛокальнуюПеременную(ИмяПеременной) Экспорт
   Результат = "";
   Если НЕ ДополнительныеСвойства.Свойство(ИмяПеременной,Результат) Тогда
       Если ИмяПеременной = "МассивКВД" Тогда
           Результат = Новый Массив;
           Результат.Добавить(Перечисления.КВД.Бюджет);
           Результат.Добавить(Перечисления.КВД.Внебюджет);
           Результат.Добавить(Перечисления.КВД.СубсидииНаГосзадание);
           Результат.Добавить(Перечисления.КВД.СубсидииНаИныеЦели);
           Результат.Добавить(Перечисления.КВД.БюджетныеИнвестиции);
           Результат.Добавить(Перечисления.КВД.СредстваОМС);
       ИначеЕсли ИмяПеременной = "КапитальныйРемонт" Тогда
           Результат = Справочники.ВидыОпераций.ОС_Капремонт;
       КонецЕсли;
       ДополнительныеСвойства.Вставить(ИмяПеременной,Результат);
       ИначеЕсли ИмяПеременной = "СтруктураРПС" Тогда
           Результат = ПолучениеНСИ.ПолучитьСтруктуруРПС(Дата, Учреждение, Баланс, КВД);
       ИначеЕсли ИмяПеременной = "ПроизвольнаяКлассификация" Тогда
           Результат = Перечисления.ТипыАналитическихПризнаков.ПроизвольнаяКлассификация;
       ИначеЕсли ИмяПеременной = "КОСГУ000" Тогда
           Результат = ПолучениеНСИПовтИсп.ПолучитьКОСГУПоКоду("000");
   КонецЕсли;
   
   Возврат Результат;
КонецФункции

когда передается
ПолучитьЛокальнуюПеременную("КОСГУ000");
начинаются приколы.
Когда впервые открыл форму и проводишь то в ДополнительныеСвойства пишет КОСГУ000. При повторном проведении управление уже уходит на другое условие. Ни укого нет таких траблов?