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

Перенос данных с формы на форму и в документ

Автор gamograff, 27 авг 2015, 16:18

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

gamograff

Добрый день. Задача состоит в следующем: нужна внешняя обработка, которая состоит из двух форм. На первой заполняются различные поля: организация, контрагент, номенклатура, дата, НДС и сумма, и рассчитывается итоговая сумма. При нажатии на кнопку "Сформировать", должно открываться модальное окно (вторая форма) с датой, итоговой суммой и сформированным номером. При закрытии этого окна должна появляться запись в списке документа "СчетНаОплатуПокупателю" (Бухгалтерия), в которую подставляются данные с формы. Первая форма прописана и всё работает нормально. Но сложность возникла с тем, что не могу понять, как заполнить поля модальной формы и как заполнить список счета на оплату. Было опробовано: просто описать "дата = объект.дата", в процедуре команды кнопки описать
ЭлементыОтбора = Новый Структура("Дата", Объект.Дата);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
ОткрытьФормуМодально("Обработка.ПомощникФормированияСчетов.Форма.ФормаДиалога", ПараметрыФормы);

Всё это не помогло. Скорее всего делаю всё не так, но не могу понять, как правильно. Что делать с заполнением списка документа вообще не знаю. Заранее спасибо за помощь.

Дмитрий@

ЦитироватьПри нажатии на кнопку "Сформировать", должно открываться модальное окно (вторая форма) с датой, итоговой суммой и сформированным номером
Что за модальное окно независимое, или форма какого то объекта.

gamograff

Цитата: Дмитрий@ от 27 авг 2015, 17:14
Что за модальное окно независимое, или форма какого то объекта.

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

Дмитрий@

Пример кода
НовыйДок = Документы.ПеремещениеТоваров.СоздатьДокумент();
НовыйДок.Дата = ПолеВводаДаты;
НовыйДок.УстановитьВремя();
НовыйДок.УстановитьНовыйНомер();
// Формирование табличной части
Для Н=1 По N Цикл
    НоваяСтрока = НовыйДок.Товары.Добавить();
    НоваяСтрока.Номенклатура = СтрокаДанных.Номенклатура;
    // формируются другие реквизиты табличной части
    ...
    //
КонецЦикла;
НовыйДок.Записать();
СписокДокументов.Добавить(НовыйДок.Ссылка);

gamograff

Цитата: Дмитрий@ от 27 авг 2015, 17:21
Пример кода
НовыйДок = Документы.ПеремещениеТоваров.СоздатьДокумент();
НовыйДок.Дата = ПолеВводаДаты;
НовыйДок.УстановитьВремя();
НовыйДок.УстановитьНовыйНомер();
// Формирование табличной части
Для Н=1 По N Цикл
    НоваяСтрока = НовыйДок.Товары.Добавить();
    НоваяСтрока.Номенклатура = СтрокаДанных.Номенклатура;
    // формируются другие реквизиты табличной части
    ...
    //
КонецЦикла;
НовыйДок.Записать();
СписокДокументов.Добавить(НовыйДок.Ссылка);


Спасибо, в голову не пришло, что можно так сделать. Но вот номенклатура никак не проставляется. Заполняются все поля ТЧ, кроме неё. Почему такое может быть? Может ли это быть из-за того, что номенклатура берётся из разных справочников? То есть в счетах на оплату номенклатура берётся из типового справочника "Номенклатура", а для обработки был создан новый справочник, данные берутся из него. В нём номенклатура заполняется также из этого типового справочника.

Дмитрий@

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

gamograff

Цитата: Дмитрий@ от 31 авг 2015, 16:07
Если разные типы то заполнятся конечно не будет. Находите элемент нужного справочника по наименованию. Но лучше сделать какой-то реквизит для однозначного сопоставления элемента одного справочника с элементом в другом справочнике.

Спасибо! Сделано через "НайтиПоРеквизиту" и "НайтиПоНаименованию". Все данные подставляются, куда надо и как надо.

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

Рейтинг@Mail.ru

Поиск