8.х Загрузить Колонку

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Z-bob, 29 ноя 2013.

  1. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, есть первая табличная часть, там несколько строк,есть кнопка "Заполнить значение" , и есть вторая ТЧ идентичная первой, как в коде написать так чтобы при нажатий кнопки все данные которые есть в первой ТЧ скопировались во вторую ТЧ?
    просто в программировании мало разбираюсь...

    Вот табличный части формы

    через массив надо?

    Вложения:

  2. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    примерно:
    Код:
    Для Каждого ТекСтрока Из ТаблЗначений Цикл
    СтрТЧ = Объект.ТаблЧасть.Добавить();
    СтрТЧ.Субконто = СтрВремя.Субконто;
    СтрТЧ.Колво = СтрВремя.Колво;
    КонецЦикла;
  3. rifat
    Offline

    rifat Опытный в 1С

    Регистрация:
    13 июн 2013
    Сообщения:
    99
    Симпатии:
    2
    Баллы:
    29
    Если идентичные то можно и проще:

    Код:
    ТЗ =<ДанныТЧ1>.Выгрузить();
    <ДанныТЧ2>.Загрузить(ТЗ);
  4. saha25
    Offline

    saha25 Опытный в 1С

    Регистрация:
    30 окт 2007
    Сообщения:
    95
    Симпатии:
    3
    Баллы:
    29
    лучше так:
    Код:
    Для Каждого ТекСтрока Из ТаблЗначений Цикл
    СтрТЧ = Объект.ТаблЧасть.Добавить();
    ЗаполнитьЗначенияСвойств(СтрТЧ,ТекСтрока);
    КонецЦикла;
  5. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    первая ТЧ типовая, вторая Аудиторская, надо добавить в Аудиторскую.
    есть так напишу то проканает:
    Код:
    Для Каждого ТекСтрока Из ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение Цикл
    СтрТЧ = ЭлементыФормы.ТабличноеПолеДвиженияАудит1.Значение.Добавить();
    СтрТЧ.Активность = ТекСтрока.Активность;
    СтрТЧ.ВалютаДт   = ТекСтрока.ВалютаДт;
    СтрТЧ.ВалютаКт   = ТекСтрока.ВалютаКт;
    СтрТЧ.ВалютнаяСуммаДт   = ТекСтрока.ВалютнаяСуммаДт;
    СтрТЧ.ВалютнаяСуммаКт   = ТекСтрока.ВалютнаяСуммаКт
    // и так до конца
    КонецЦикла; 
  6. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если поля идентичные, то сделайте через Выгрузить() и Загрузить()
  7. saha25
    Offline

    saha25 Опытный в 1С

    Регистрация:
    30 окт 2007
    Сообщения:
    95
    Симпатии:
    3
    Баллы:
    29
    ЗаполнитьЗначенияСвойств(СтрТЧ,ТекСтрока);

    Заменяет собой все строки присвоения
  8. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    а как сделать через через Выгрузить() и Загрузить()?
  9. saha25
    Offline

    saha25 Опытный в 1С

    Регистрация:
    30 окт 2007
    Сообщения:
    95
    Симпатии:
    3
    Баллы:
    29
    ТаблицаПриемник.Загрузить(ТаблицаИсточник.Выгрузить());
  10. rifat
    Offline

    rifat Опытный в 1С

    Регистрация:
    13 июн 2013
    Сообщения:
    99
    Симпатии:
    2
    Баллы:
    29
    Писал же выше

    Код:
    ТЗ =<ДанныТЧ1>.Выгрузить();
    <ДанныТЧ2>.Загрузить(ТЗ);
    
    вместо ДанныйеТЧ1 и ДанныйеТЧ2 ставьте то что стоит у вас в конфигураторе в поле данные в свойствах ТЧ.

    Ну или как постом выше.
  11. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    делаю так:
    Код:
    Для Каждого ТекСтрока Из ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение Цикл
    СтрТЧ = ЭлементыФормы.ТабличноеПолеДвиженияАудит1.Значение.Добавить();
    ЗаполнитьЗначенияСвойств(СтрТЧ,ТекСтрока);
    КонецЦикла;
    добавляется пустая строка.
    а если так:
    Код:
    Для Каждого ТекСтрока Из ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение Цикл
    СтрТЧ = ЭлементыФормы.ТабличноеПолеДвиженияАудит1.Значение;
    ЗаполнитьЗначенияСвойств(СтрТЧ,ТекСтрока);
    КонецЦикла;
    то одна строка но абсолютно пустое

    (10) сейчас попробую...

    Код:
    ТЗ =ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение.Выгрузить();
    ЭлементыФормы.ТабличноеПолеДвиженияАудит1.Значение.Загрузить(ТЗ);

    Спасибо Вам большое, получилось :yahoo:
  12. saha25
    Offline

    saha25 Опытный в 1С

    Регистрация:
    30 окт 2007
    Сообщения:
    95
    Симпатии:
    3
    Баллы:
    29
    Код:
    Для Каждого ТекСтрока Из Объект.<ИмяТаблицыИсточника> Цикл
    СтрТЧ = Объект.<ИмяТаблицыПриемника>.Добавить();
    ЗаполнитьЗначенияСвойств(СтрТЧ,ТекСтрока);
    КонецЦикла;
  13. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    а Вы что пытаетесь заполнить? Не регистр случаем??
  14. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    да регистр) надо было добавить Аудиторский
  15. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    и получилось?
  16. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    теперь другой вопрос: надо создать обработку, которая выбирает документы по значению "дата" и делает все выше сказанное.
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    выбрать1 = документы.ОперацияБух.Выбрать(Дата1, КонецДня(Дата2));
    Пока выбрать1.Следующий() Цикл
    документ1 = выбрать1.ПолучитьОбъект();
    Выгруз =  документ1... // и я не знаю что тут написать
    
    документ1.Записать();  
    КонецЦикла;
    
    КонецПроцедуры  
    (15) да получилось

    Код:
    Выгруз =  документ1.Движения.Типовой.Выгрузить();
    документ1.Движения.Аудиторский.Загрузить(Выгруз);
    делаю так но он что то долго думает и ничего не делает... ничего не меняет

    Вложения:

  17. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    помогите
  18. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    что-то не то делаете!! Посмотрите как у Вас записывается регистр по НУ и БУ, по аналогии допишите Ваш новый, если структура позволит...
    Таблицы здесь не причем...
  19. TopicStarter Overlay
    Z-bob
    Offline

    Z-bob Опытный в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    нет в том то и дело мне надо чтобы в ОперацБух в каждом документе сделало ТЧ одинковыми
  20. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Не знаю что у Вас за конфа и какой документ изменяете. То, что у Вас на скрине - это какой-то регистр с отбором... Посмотрите ОбработкуПроведения,в ней идет запись регистров БУ и НУ

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