7.7 Перенос строк в другой документ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Edves, 18 мар 2014.

  1. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Подскажите можно ли реализовать такое действие в 7.7:
    к примеру, берем документ Товар, открываем , если там есть строки где Цена = 0
    нажимаем кнопку - "перенос" ( тоже к примеру) и в этот момент эти строки переносятся в новый документ Товар?

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В 1С можно сделать ВСЕ.
    1) Какая конфигурация
    2) Если я правильно понял: из одного документа нужно перенести строки в другой документ по критерию отбора цена=0. Уточните
  3. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Конфигурация бухгалтерия
    все правильно, нужна такая процедура которая будет искать нулевые значения в цене
    и при нахождении таковых создавать новый документ и переносить эти строки туда
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Проще всего - через внешнюю обработку. Чтобы не вносить изменения в конфигурацию.
    Сами писать намерены?
  5. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Если честно не знаю с чего начинать пока, вообщем нужно чтоб так было:
    дело в том что с этим документом работают несколько человек
    каждый заносит свои строки
    затем типа админ заходит документ проверяет и если все нормально нажимает кнопку " перенос строк" к примеру
    при этом создается новый документ и строки с нулями переносятся в него
    старый записывается и закрывается, вот как то так
    если не трудно можете хотя бы вкратце описать алгоритм
  6. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну так ответ вам уже дали, нужно писать обработку.
  7. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Да я это и так поняла, про другое вопрос был
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) В цикле выбираются строки документа
    2) С ценой<>0 выгружаются в одну Таблицу Значений, с ценой =0 в другую.
    3) Загружаем ТЗ1 в документ-донор, а ТЗ2 в документ - наследник.

    Может вам сам цикл расписать?
  9. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Ну если Вам не трудно , я была бы очень благодарна
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    //создать структуру таблицы значений
    ТЗ1=СоздатьОбъект("ТаблицаЗначений");
    Док.ВыгрузитьТабличнуюЧасть(ТЗ1);
    ТЗ1.УдалитьСтроки();
    ТЗ2=СоздатьОбъект("ТаблицаЗначений");
    Док.ВыгрузитьТабличнуюЧасть(ТЗ2);
    ТЗ2.УдалитьСтроки();
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку()=1 Цикл
    Если Док.Цена=0 Тогда
    ТЗ1.НоваСтрока();
    ТЗ1.Цена=Док.Цена;
    ....
    //тут заполняем ТЗ из ТЧ документа. Реквизиты можно прописать или использовать метаданные
    Иначе
    ТЗ2.НоваСтрока();
    //аналогично
    КонецЕсли;
    КонецЦикла;
    //вернем в документ ТЧ без цен=0
    Док.ЗагрузитьТабличнуюЧасть(ТЗ1);
    Док.Записать();
    //вернем в документ ТЧ строки с цена=0. Док2 должен создаваться программно или быть уже как ссылка
    Док1.ЗагрузитьТабличнуюЧасть(ТЗ2);
    Док1.Записать();
    //в шапке документа м.б. реквизиты, зависящие от ТЧ. Пример: СуммаВзаиморасчетов в ТиС. Помните об этом
    
  11. TopicStarter Overlay
    Edves
    Offline

    Edves

    Регистрация:
    18 мар 2014
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Огромное Вам спасибо
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    не за что. обращайтесь

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