Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:19

Перенос данных между табличными частями разных форм внешней обработки

Автор drago404, 19 мар 2018, 10:12

0 Пользователей и 1 гость просматривают эту тему.

drago404

Здравствуйте!

Во внешней обработке простой формы извлекаю данные по продажам из регистра за определенный период в табличную часть на форме. В эти данные потом вношу некоторые изменения.

Рядом в другой форме этой же обработки есть другая табличная форма, куда надо внести измененные данные из первой ТЧ.

Вопрос: как это сделать?
Как именно обратиться к первой ТЧ и считать из нее уже измененные данные?

Желателен именно код, даже самый банальный, так как пробую по-разному, но никак не получается.:dfbsdfbsdf:
Буду очень благодарен за подсказку.

Спасибо.

wise

(0) покажите КАК Вы (пробую по-разному, но никак не получается)
тогда станет ВИДНО что Вы делаете НЕ так...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

KOI8-R

А заодно и если не секрет, поделитесь целью сего действия, потому как судя по описанию вы пытаетесь изобрести механизм документа "Корректировка записей регистра"

drago404

Цитата: wise от 19 мар 2018, 12:39
(0) покажите КАК Вы (пробую по-разному, но никак не получается)
тогда станет ВИДНО что Вы делаете НЕ так...

Хорошо, смотрите:

Беру данные из регистров и тащу их в табличную часть ДанныеПродаж:


Зап2 = Новый Запрос;
Зап2.Текст =

"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.КоличествоОборот,
| ПродажиОбороты.ДокументПродажи,
| ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков,
|   ТовОстатки.Номенклатура,
|   ТовОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.Продажи.Обороты(&ПродажиС, &ПродажиПо, ,
//|   Номенклатура = &Номенклатура
| ) КАК ПродажиОбороты
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ПродажиПо,
//|   Номенклатура = &Номенклатура
|   ) КАК ТовОстатки
|ПО
|  ПродажиОбороты.Номенклатура =  ТовОстатки.Номенклатура";
   
    Зап2.УстановитьПараметр("ПродажиС",  ПродажиС);
Зап2.УстановитьПараметр("ПродажиПо", ПродажиПо);
       
//Зап2.УстановитьПараметр("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура1.Наименование));

РезультатЗапроса2 = Зап2.Выполнить();
ВыборкаЗапроса2 = РезультатЗапроса2.Выбрать();
 
ДанныеПродаж.Очистить();

Пока ВыборкаЗапроса2.Следующий() Цикл

    НоваяСтрока = ДанныеПродаж.Добавить();

    НоваяСтрока.ТЧ_Номенклатура = ВыборкаЗапроса2.Номенклатура;
НоваяСтрока.ТЧ_Остаток = ВыборкаЗапроса2.КоличествоОстаток;
НоваяСтрока.ТЧ_Оборот  = ВыборкаЗапроса2.КоличествоОборот;
НоваяСтрока.ТЧ_Единица  = ВыборкаЗапроса2.Номенклатура.ЕдиницаХраненияОстатков;

КонецЦикла;




Потом я их прямо в этой табличной части (допустим) поправил. Мне надо вытащить их из табличной части ДанныеПродаж и перенести в табличную часть ОбъемЗакупок.

Мои тщетные попытки:
номер 1:


З=Новый Запрос(
"ВЫБРАТЬ
| ТЧ.Номенклатура
| ИЗ
| &ТЧ КАК ТЧ");

З.УстановитьПараметр("ТЧ",ДанныеПродаж.Выгрузить();

Выборка = З.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    НоваяСтрока = ОбъемЗакупок.Добавить();
    НоваяСтрока.Номенклатура = Выборка2.Номенклатура;
КонецЦикла;



Добавлено: 19 мар 2018, 19:19


Цитата: KOI8-R от 19 мар 2018, 13:01
А заодно и если не секрет, поделитесь целью сего действия, потому как судя по описанию вы пытаетесь изобрести механизм документа "Корректировка записей регистра"

Вообще, пытаюсь сделать обработку планирования объема закупок. Но пока локальная проблема именно в работе с табличными частями обработки :(
Добавлено: 19 мар 2018, 19:41


Вот моя попытка №2:
Выгрузка = ДанныеПродаж.Выгрузить();
     
Для Каждого Товары из Выгрузка Цикл
            Для Каждого Товар из Товары Цикл
                  Сообщить(Товар.Номенклатура);
                  Сообщить("!");
            КонецЦикла;
КонецЦикла;


alexandr_ll

Можно добавить в обработку реквизит типа Таблица значений и обмен делать через него.

drago404

Цитата: alexandr_ll от 20 мар 2018, 07:40
Можно добавить в обработку реквизит типа Таблица значений и обмен делать через него.

Хотелось бы немного кода, для примера. Вот есть у нас табличная часть. Я щелкаю по строке, считываю эту строку. Открывается новая форма, и именно туда нужно перекинуть считанную строку.


         ТекСтрока  =  ЭлементыФормы.ДанныеЗакупок.ТекущаяСтрока;
Сообщить(ТекСтрока.ТЧ_Номенклатура);

ФормаДок = ПолучитьФорму("ВнешняяОбработка.ВнешняяОбработка1.Форма.ДокументыПродажи");
ФормаДок.ОткрытьМодально();

подскажите, пожалуйста как в формадок перекинуть текстроку?


Я могу вернуть значение с модальной формы, но вот отправить туда не выходит - парадокс)

AIFrame

Через модуль объекта с экспортной переменной еще не предлагали? С одной формы ТЧ туда скопировать, в другой форме загрузить.
Если надо без людей и кнопочек - обработка оповещения в помощь.
А то как толкание двери с табличкой "На себя".

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск