[РЕШЕНО] Взаимодействие нескольких ТЧ в одном документе

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

  1. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток!
    Подскажите, пожалуйста!
    У меня есть док - "Технологическая операция", в нем четыре ТЧ. Меня интересуют первые две - "Готовая продукция" и "Сырье".
    Во-первых, как сделать, чтоб номенклатура в ТЧ "Сырье" заполнялась автоматически в соответствии со справочником "ТехнологическиеКарты" при вводе номенклатуры в ТЧ "Готовая продукция"?
    Во-вторых, при изменении количества в ТЧ "Готовая продукция" автоматически пересчитывалось количество номенклатуры в ТЧ "Сырье".?
    За ранее Вам благодарен!
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Нужно использовать обработчики событий, прописывать в них определенный код.
    Если сами раньше не кодили, лучше обратитесь к спецам, там по сути не сложно :)
  3. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    День добрый!
    Не, ранее сам не кодил((((
    Книг куча, но, если честно, не особо есть время читать, да и не особо мне там все понятно((((.
    Нанимать спеца, к сожалению, у меня не получиться, так как у нас Комплексная автоматизация лецинзионка, работает в принципе норма, но мне не хватает очень много доков, которые используются только внутри организации, а именно на складе. Так сказать, делаю новую конфу для себя лично. Для всего предприятия это очень удобно, хорошо, но вот платить лишние деньги специалисту за это у шефа нет желания((((. У нас программист 1с на базовом тарифе и лишний раз к нему не обратишься, да и в принципе он дистанционно работает, его тут ни кто и в глаза не видел))))
    --- Объединение сообщений, 24 авг 2015 ---
    на выходных поломал голову методом "втыка", сделал кнопку с командой пересчитать в ТЧ. Пересчитывает, но только почему-то одну позицию из таблицы, а ни сразу все(((. Но это уже проще)))
  4. wwwlir
    Offline

    wwwlir Новичок в 1С

    Регистрация:
    24 авг 2015
    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    4
    Для каждого Продукция Из Объект.ГотоваяПродукция Цикл
    РасчетСырья();
    КонецЦикла;

    Где Объект.ГотоваяПродукция табличная часть, делаешь?
  5. flax
    Offline

    flax Новичок в 1С

    Регистрация:
    21 авг 2015
    Сообщения:
    9
    Симпатии:
    2
    Баллы:
    4
    В форме Док. ТабЧасть Готовая продукция, Событие ПриИзменении Номенклатуры, сделать запрос к Спр. "Технологические карты". Выбрать нужное сырье с количеством, Условие на Текущую Номенклатуру, далее Стр = Объект.Сырье.Добавить(); и т.д. Подобную процедуру вызвать на КоличествоПриИзменении.
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Ну что тут сказать, халявщиков не очень. По-этому скажу проще, курите книги
  7. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    будь
    Будь добр, подскажи куда этот цикл вставить?
    --- Объединение сообщений, 24 авг 2015 ---
    РасчетСырья, я так понимаю это функция, которую мне надо прописать в общем модуле?
    --- Объединение сообщений, 24 авг 2015 ---
    В каком месте вы тут увидели халяву?)))
    Форум с данной темой, я так понимаю, создавался как раз для передачи опыта хорошими спецами начинающим программистам и таким любителям как я...
    Или все-же я ошибаюсь, и задачи данного форума как-раз и заключаются, чтобы вы всех отправляли курить?)))).
    Последнее редактирование: 24 авг 2015
  8. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    То же самое, касаемо книг - мне удобнее самообразовываться в общении на форуме а не посредством книг... Если все изучать по книгам, смысл этого форума? Так, для общения спецов?
    --- Объединение сообщений, 24 авг 2015 ---
    спс, сейчас попробую это осуществит))
  9. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Общение на этом форуме подразумевает, что программист владеет навыками программирования 1С хотя бы на среднем уровне и предназначен для обсуждения задач более сложных, чем "как добавить кнопку на форму".

    Для приобретения навыков среднего уровня как минимум нужно почитать книги, если самообучаетесь, либо сходить на курсы.
  10. wwwlir
    Offline

    wwwlir Новичок в 1С

    Регистрация:
    24 авг 2015
    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    4
    Как вариант:
    В модуле формы по событию табличной части ПриИзменении() получить сырье запросом
    Код:
    ВЫБРАТЬ
        ТехнологическиеКартыСырье.Номенклатура,
        СУММА(ТехнологическиеКартыСырье.Количество) КАК Количество
    ИЗ
        Справочник.ТехнологическиеКарты.Сырье КАК ТехнологическиеКартыСырье
    ГДЕ
        ТехнологическиеКартыСырье.Ссылка.Номенклатура В
                (ВЫБРАТЬ
                    ТехнологическаяОперацияГотоваяПродукция.Номенклатура
                ИЗ
                    Документ.ТехнологическаяОперация.ГотоваяПродукция КАК ТехнологическаяОперацияГотоваяПродукция
                ГДЕ
                    ТехнологическаяОперацияГотоваяПродукция.Ссылка = &Ссылка
                СГРУППИРОВАТЬ ПО
                            ТехнологическаяОперацияГотоваяПродукция.Номенклатура)
    
    СГРУППИРОВАТЬ ПО
        ТехнологическиеКартыСырье.Номенклатура
    Где Ссылка - Текущий документ.
    Результат выгрузить в таблицу значений и ее загрузить в табличную часть Сырье
    Код:
    Запрос.Параметры.Вставить("Ссылка", Объект.Ссылка);
    Результат = Запрос.Выполнить();
        Объект.Сырье.Загрузить(Результат.Выгрузить());
    Последнее редактирование: 24 авг 2015
  11. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1

    Спасибо огромное!
    Пока работой загружен. Вечером освобожусь и попробую сделать. Завтра отпишусь как получилось и получилось ли у меня вообще))).
  12. wwwlir
    Offline

    wwwlir Новичок в 1С

    Регистрация:
    24 авг 2015
    Сообщения:
    5
    Симпатии:
    1
    Баллы:
    4
    Если будешь делать таким способом, количество номенклатуры нужно перемножать с сырьем. У меня получился такой запрос:
    Код:
    ВЫБРАТЬ
        ТехнологическаяОперацияГотоваяПродукция.Номенклатура,
        СУММА(ТехнологическаяОперацияГотоваяПродукция.Количество) КАК Количество
    ПОМЕСТИТЬ Продукция
    ИЗ
        Документ.ТехнологическаяОперация.ГотоваяПродукция КАК ТехнологическаяОперацияГотоваяПродукция
    ГДЕ
        ТехнологическаяОперацияГотоваяПродукция.Ссылка = &Ссылка
    
    СГРУППИРОВАТЬ ПО
        ТехнологическаяОперацияГотоваяПродукция.Номенклатура
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ТехнологическиеКартыСырье.Номенклатура,
        СУММА(ТехнологическиеКартыСырье.Количество * Продукция.Количество) КАК Количество
    ИЗ
        Справочник.ТехнологическиеКарты.Сырье КАК ТехнологическиеКартыСырье
            ЛЕВОЕ СОЕДИНЕНИЕ Продукция КАК Продукция
            ПО ТехнологическиеКартыСырье.Ссылка.Номенклатура = Продукция.Номенклатура
    
    СГРУППИРОВАТЬ ПО
        ТехнологическиеКартыСырье.Номенклатура
    Или можно в коде попробовать обойти результат и количество перемножить.
    Я сам новичек, так-что лучше перепроверь и сам подумай. Запрос у меня работает. Если есть кто шарит, просьба поправить, самому интересно как проще это сделать
  13. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Я не уточнил - количество мне не надо подставлять. Оно высчитывается у меня с учетом процентного соотношения, которое в смеси меняется в зависимости от требований клиента. Данный коэффициент я подставляю из регистра.

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