8.х проблема в создании документа из ТЗ

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Lesha, 29 апр 2010.

  1. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Есть документ в табл части(деталь,отклонения по детали, отклонения по материалу, отклонения по труду)

    есть два ТЗ
    ТЗ(деталь,план,стоим матер,стоим труда)
    ТЗ1(деталь,факт,стоим матер,стоим труда)

    Нужно в документе рассчитать отклонения из этих двух тз
    нужно из одного тз вычесть соответствующие строки другого тз и чтобы это записалось в документ
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну так в чем проблема. Делаете обход по одно й ТЗ и методом найти или НайтиСроки ищиете в другом. Находите разницу сразу добавляете строчку в ТЧ документа.

    Но насколько я понимаю ТЗ и ТЗ 1 вы получаете выгрузив из запроса? почему бы одним запросом не найти разнизу а потом закгрузить это все в ТЧ
  3. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    ТЗ и ТЗ1 это выгрузка из документов.
    я понимаю что делать обход по ТЗ, но как, я работаю всего 1 месяц в 1с.

    напиши пожалуйста код
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Код:
    Для каждого стр из ТЗ Цикл
    
    ///тутт все остальное Про методы Найти() и НайтиСроки можно почитать в синтаксис помошнике там и примеры есть. 
    .....
    
    КонецЦикла;
    
    На самом деле это тогда пишется все в один запрос и все, который делает выборку из ТЧ документов и получает разницу
  5. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    а если сделать так.
    документ1 в тч(деталь, план,стоим матер,стоим труда)
    документ2 в тч(деталь, факт,стоим матер,стоим труда)
    а в документе3 подсчитать отклонения

    то тогда как перебрать документы и вычесть соответствующие данные??
  6. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Вам же сказали - одним запросом получаем данные, все остальные решения - извращения.
  7. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Если не сложно код напиши
  8. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Рассказывайте изначально задачу, тут вроде как дополнительно вырисовывается регистр накопления.
  9. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    регистра точно не будет.

    есть 2 документа.
    1.Ведомость затрат Тч(деталь,плановое кол-во деталей,стоим матер, стоим труда)
    2.Ведомость затрат1 Тч1(деталь,фактическое кол-во деталей,стоим матер, стоим труда)

    Нужно сделать документ отклонения(Деталь, отклонение по детали, отклонение по материалу, отклон по труду)
    В докум Отклонения нужно просто вычесть Ведомость затрат из ведомости затрат1. чтобы получить разницу межу планом и фактом.
  10. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Зачем три документа? Можно все в один запихать в этом случае )

    см. документ "инвентаризация товаров" в типовой УТ. ТАм есть количество и факт. И отклонение выводится )
  11. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    не надо мне в один, мне надо три документа
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    А документы никаких движений не делают?
  13. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    нет, здесь тупо надо вычесть соответствуюшие стобцы и все, это задача для начинающих.
  14. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Задаа для начинающих правильно строить систему, Если документ не делает движений то возникает вопрос почему это не справочник или Регистр сведений? За это сразу 2 на экзамене и пошел. тем более в вашей ситуации это само собой напрашивается. Теперь почему не рекомендуется работать с ТЧ.
    1 Это вопрос блокировок.
    2. если есть движения то предтавьте что пользователь зашел в проведенный документ просто поменял значение в ТЧ и записал и все... данные то не те уже...

    Если хотите то вам никто не мешает делать. Вам же сказали как. Делаете обход одно ТЗ и в нем ищети сроки в другой. Вместо ТЗ может спокойно выступать и ТЧ документа.

    Код:
    Для каждого стр из ДокСсылка.Материалы цикл
    
    КонецЦикла;
    
  15. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    это и так понятно, внутри чего писать
  16. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    как работают функции Таблицы значаений Найти() или НайтиПоСтроке() в синтаксис помошнике смотрели? вы начните писать а мы поможем
  17. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    я начал писать вот пока что
    Процедура Кнопка1Нажатие(Элемент)

    для каждого ТС из Отклон цикл

    выборканормы=Справочники.Детали.Выбрать(,ТС.Деталь);

    ДокВыборка = Документы.ВедомостьЗатрат1.Выбрать(НачалоГода(ТекущаяДата()),КонецГода(ТекущаяДата()));
    Пока ДокВыборка.Следующий() Цикл
    Для Каждого Стр Из ДокВыборка.Выпуск1 Цикл

    //тс.отклдет=стр.Факт;
    //тс.отклмат=стр.СМ;
    //тс.отклтруд=стр.СТ;
    конеццикла;
    конеццикла;
    конеццикла;

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