7.7 Формирование Отчета о нормативах расходов по коду

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем webresurs, 24 июл 2009.

  1. TopicStarter Overlay
    webresurs
    Offline

    webresurs

    Регистрация:
    22 июл 2009
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    В 1:С ПУБ надо сформирование Отчета о нормативах расходов по коду справочника норм расходов, те как по порядку занесено в справочник норм расходов в такой же последовательности должен быть и таблица в отчете

    кто может помогите

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Необходимо внести изменения в процедуры
    СформироватьПоПродукцииРазвернуто() и ВзятьСледующий()

    в СформироватьПоПродукцииРазвернуто() вначале ыыбирай НормыРасходов в ТаблицуЗначений, сортируй по коду, в ВзятьСледующий() вместо получения из справочника бери из отсортированой ТЗ.

    По другому только в конфигураторе Основное представление менять, но думаю бухам вряд ли это понравится
  3. TopicStarter Overlay
    webresurs
    Offline

    webresurs

    Регистрация:
    22 июл 2009
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    что то не соображу вроде тут - но что сделать не понимаю :(

    Код:
    Процедура СформироватьПоПродукцииРазвернуто(Продукция, РабочаяСпецификация, КоличествоПродукции, Уровень, Последние, Верхний = 0,	ВидЭлементаВладельца = 0 ,ИтогоПоВетке_ = 0)
    Перем ИтогоПоВетке;
    ИтогоПоВетке = 0;
    НормыЗатрат = СоздатьОбъект("Справочник.НормыРасходов");	
    НормыЗатрат.ИспользоватьВладельца(Продукция);	
    
    //Плановая сумма затрат в нормах расходов указывается в валюте плановой себестоимости владельца
    ПлановаяСебестоимостьТекПродукции = Продукция.ПлановаяСебестоимость;
    
    Если ПлановаяСебестоимостьТекПродукции.Выбран() = 1 Тогда
    ТекВал = ПлановаяСебестоимостьТекПродукции.Валюта;
    КурсТекВал = глКурсДляВалюты(ТекВал,ДатаКон);
    Иначе
    ТекВал = глРубли; КурсТекВал = 1;
    ЕстьОшибка = 1;
    Если ПлановаяСебестоимостьТекПродукции.Выбран() = 1 Тогда
    ТекВал = ПлановаяСебестоимостьТекПродукции.Валюта;
    КурсТекВал = глКурсДляВалюты(ТекВал,ДатаКон);
    Иначе
    ТекВал = глРубли; КурсТекВал = 1;
    ЕстьОшибка = 1;
    СтрокаСообщения = СокрЛП(Продукция.ТипНоменклатуры) + " " + СокрЛП(Продукция) + ": не указана плановая себестоимость";
    Если Найти(ТекстОшибки, СтрокаСообщения) = 0 Тогда
    ТекстОшибки = ТекстОшибки +?(ПустаяСтрока(ТекстОшибки) = 0,РазделительСтрок,"") + СтрокаСообщения;
    КонецЕсли;
    КонецЕсли;
    НормыЗатрат.ВыбратьЭлементы();	
    ВладелецЭлемента = ?(Верхний <> 0, Верхний, ПолучитьПустоеЗначение("Справочник.НормыРасходов"));	
    ЕстьСледующий = ВзятьСледующий(НормыЗатрат);	
    Если ЕстьСледующий = 0 Тогда
    Возврат;
    КонецЕсли;
    
    
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Код:
    НормыЗатрат.ВыбратьЭлементы();		
    ВладелецЭлемента = ?(Верхний <> 0, Верхний, ПолучитьПустоеЗначение"Справочник.НормыРасходов"));		
    ЕстьСледующий = ВзятьСледующий(НормыЗатрат);	
    
    
    вот здесь у тебя уже всместо НормыЗатрат должна быть отсортированная ТЗ (ТЗ общая для всего модуля, т.к используется в ВзятьСледующий)
  5. TopicStarter Overlay
    webresurs
    Offline

    webresurs

    Регистрация:
    22 июл 2009
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    надо было сразу написать про меня что я "чайник" и на пальцах описать это в теме, если Вас не затруднит "Бухгалтерский угодник" - покажите в этом примере что я должен туда вписать - плиз...
  6. TopicStarter Overlay
    webresurs
    Offline

    webresurs

    Регистрация:
    22 июл 2009
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Все равно не понимаю зачем создавать еще ТЗ если она уже создается

    Код:
     
    НормыЗатрат = СоздатьОбъект("Справочник.НормыРасходов");  
    НормыЗатрат.ИспользоватьВладельца(Продукция);    
    
    
    и не подставить сортировку после этого кода

    Код:
    НормыЗатрат.Сортировать("+НормыЗатрат.Код");    
    
    
    только вот что написать в кавычках вот в чем вопрос??
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вообще-то ТЗ это объет типа ТаблицаЗначений,т.е.
    Код:
    ТЗ=СоздатьОбъект("ТаблицаЗначений")
    
    
    В твоем же случае это СПРАВОЧНИК
    Код:
    НормыЗатрат = СоздатьОбъект("Справочник.НормыРасходов");  
    
    
    Имхо метод Сортировать можно приментить только к обектам ТаблицаЗначений или СписокЗначений.

    И не в обиду - судя по ТАКИМ вопросам когда не понимаешь даже какой объект ты имеешь ввиду этот отчет тебе придется преобразовывать еще очень долго.... Обучайся на чем нибудь более простом. А отчет - обратиться к специалисту за денежку.....
  8. TopicStarter Overlay
    webresurs
    Offline

    webresurs

    Регистрация:
    22 июл 2009
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    "Бухгалтерский угодник" - Ты просто супер!!! спасибо за помощь в отчете на его основе у меня еще 5 отчетов - и на работе я просто в шоколаде!!
    Спасибо!

    :luxhello: - ура :yahoo:

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