8.х Проводки бу ,хозрасчетный

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем RuslanKhanow, 24 авг 2015.

  1. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    День добрый.
    есть документ "Требование накладная" В нем есть ТЧ Материалы ,мне надо в печатную форму вывести табличную часть, не моуг вытащить сумму которая находится в проводках БУ
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну так в чем проблема написать запрос с обором по регистратору
  3. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    я просто не особо представляю как это в итоге должно будет выглядеть
    например
    Вывод ТЧ
    Код:
        Для Каждого ЭлементТЧ из СсылкаНаОбъект.Материалы Цикл 
           
            ОбластьСрока.Параметры.пНоменклатура            =  ЭлементТЧ.Номенклатура;
            ОбластьСрока.Параметры.пНоменклатурныйНомер     =  ЭлементТЧ.Номенклатура.Код;
            ОбластьСрока.Параметры.пЕдиница                 =  ЭлементТЧ.ЕдиницаИзмерения;
            //ОбластьСрока.Параметры.пНормаРасхода            =  ЭлементТЧ.
            ОбластьСрока.Параметры.пКоличество              =  ЭлементТЧ.Количество;
            //ОбластьСрока.Параметры.пЦена                    =  ЭлементТЧ.
            //ОбластьСрока.Параметры.пСумма                   =  ЭлементТЧ.
            ОбластьСрока.Параметры.пПричинаСписания         =  ЭлементТЧ.Работа;
            ОбластьСрока.Параметры.пСчетДебета              =  ЭлементТЧ.СчетЗатрат;  
            ОбластьСрока.Параметры.пСчетКредита             =  ЭлементТЧ.Счет;  
           
            ТабДок.Вывести(ОбластьСрока);            
        КонецЦикла; 
    [\CODE]
    а с запросом как
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Взять запросом ТЧ, текущего регистратора - левым соединением подтянуть Проводки с отбором по регисратору через номенклатуру и все . что сложного или что не получается
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    ТС, 100500 раз прочитайте пост № 2
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    /offtopic mode on/
    ох блин, ну как не поймут люди, что программист 1С - это такая же профессия на которую люди учатся годами.....что нельзя вот так проснуться с утра, придти на работу менеджером по продажам и успешно поправить алгоритм проведения документа в 1С, потому что штатный 1С-ник бухает/уволился/в отпуске, а ты вроде как хорошо общаешься с компьютером.....
    /offtopic mode off/
    alexburn нравится это.
  7. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    :Dзачем тратить время на такую ерунду, когда есть форум :)
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Угу, есть......сидишь, корпишь над решением поставленной задачи....бывает неделями вынашиваешь решение.....
    "Толстым" программерам же знания приходят из других измерений, спрошу как я у них - кто-нить да ответит по доброте душевной......
  9. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    зачем изобретать велосипед,если есть уже знающие люди у которых можно научиться,которые ,возможно,уже сталкивались с подобным.
    я же не просто тупо узнаю у вас что -то,что бы потом забыть
    в сети так много мусора,так много воды
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Сейчас чувствую понесется.
    Давайте по теме лучше
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    То, что вы спрашиваете - это АЗЫ, об этом в любом учебнике по программированию 1С написано.....
    но, конечно же, после этого nomad_irk превратится в злого участника форума, а Draco, если напишет пример кода - в хорошего :)
    Последнее редактирование: 24 авг 2015
  12. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Уже понеслось :D, чел ленивый, читать про это не нужно, так что все смело помогаем:rolleyes:
  13. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    Код:
        Запрос = Новый  Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        |    ХозрасчетныйДвиженияССубконто.Регистратор,
        |    ХозрасчетныйДвиженияССубконто.Сумма
        |ИЗ
        |    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , , , ) КАК ХозрасчетныйДвиженияССубконто
        |ГДЕ
        |    ХозрасчетныйДвиженияССубконто.Регистратор = &Регистратор";
        Запрос.УстановитьПараметр("Регистратор",СсылкаНаОбъект);
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл 
            а = Выборка.Сумма;
        КонецЦикла; 
    [CODE]
    
    Запрос правильно построил?
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Разве нельзя задать условие в параметрах виртуальной таблицы ? Т.е. так:
    Код:
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(ХозрасчетныйДвиженияССубконто.Регистратор = &Регистратор, , , , ) КАК ХозрасчетныйДвиженияССубконто
    Непомню, но мне кажется можно.
  15. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Не, так точно нельзя. Совсем никак :)
  16. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    вроде конструктор так позволяет:
    Код:
    /РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &Регистратор, , ) КАК ХозрасчетныйДвиженияССубконто
    ЗЫ: там же есть печатная форма М-11, с суммами, не подходит? {см. Функция ПечатьМ11() в модуле объекта}
    Последнее редактирование: 25 авг 2015
  17. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Да ему даже не надо никаких вирт таблиц там допустим в требовании 2 товара с разными сериями будут. ему отбор Хозрасчету по регистратору и по номеру строки можно соеденить
  18. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    Все равно не работает
    Код:
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                      |    ТребованиеНакладная.Материалы.(
                      |        НомерСтроки
                      |    ),
                      |    ХозрасчетныйДвиженияССубконто.Регистратор,
                      |    ХозрасчетныйДвиженияССубконто.Сумма
                      |ИЗ
                      |    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
                      |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТребованиеНакладная КАК ТребованиеНакладная
                      |        ПО ХозрасчетныйДвиженияССубконто.Регистратор = ТребованиеНакладная.Ссылка
                      |ГДЕ
                      |    ХозрасчетныйДвиженияССубконто.Регистратор = &Регистратор
                      |    И ХозрасчетныйДвиженияССубконто.НомерСтроки = &НомерСтроки";
        Запрос.УстановитьПараметр("Регистратор",СсылкаНаОбъект.Ссылка);
        Запрос.УстановитьПараметр("НомерСтроки","1");
        Выборка  = Запрос.Выполнить().Выбрать();
    
  19. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    в первом приближении может так

    Код:
    ВЫБРАТЬ
        ТребованиеНакладнаяМатериалы.НомерСтроки,
        ТребованиеНакладнаяМатериалы.Номенклатура,
        ТребованиеНакладнаяМатериалы.Количество
    ПОМЕСТИТЬ МатериалыДокумента
    ИЗ
        Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    ГДЕ
        ТребованиеНакладнаяМатериалы.Ссылка = &Ссылка
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        Хозрасчетный.НомерСтроки,
        Хозрасчетный.Сумма
    ПОМЕСТИТЬ ПроводкиДокумента
    ИЗ
        РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
    ГДЕ
        Хозрасчетный.Регистратор = &Ссылка
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        МатериалыДокумента.НомерСтроки,
        МатериалыДокумента.Номенклатура,
        МатериалыДокумента.Количество,
        ПроводкиДокумента.Сумма
    ИЗ
        МатериалыДокумента КАК МатериалыДокумента
            ЛЕВОЕ СОЕДИНЕНИЕ ПроводкиДокумента КАК ПроводкиДокумента
            ПО МатериалыДокумента.НомерСтроки = ПроводкиДокумента.НомерСтроки
  20. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

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

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