Имя: Пароль:
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. При повторном проведении управление уже уходит на другое условие. Ни укого нет таких траблов?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn