Здрасте.
Имею вопрос (хотя скорее это он меня имеет).
Полностю обясню ситуацию:
Есть "заказчик" (нет). У него конфигурация - Розница (типовая пока что). Но ему категорически не нравится механизм поступления товаров (визуально не нравятся документы). Для решения этой проблемы нужно создать внешнюю обработку (чтобы не снимать с поддержки документ и не менять типовые решения), которая будет исполнять те же функции что и документ поступление товаров, а так же автоматически, без участия пользователя создавать документ Установка цен номенклатуры, всё с небольшими изменениями.
И вот проблема. Документ установка цен номенклатуры я могу вполне нормально заполнить, вот только как вызвать типовые функции по расчету цен, если они все не в общих модулях а в ФОРМЕ документа.
НУЖНО: вызвать функции формы, без её открытия из не созданного документа установки цен (нет ссылки).
Для чего это нужно: Пример - есть связанные цены опт и крупный опт, при этом Кр.Опт расчитывается по какойто формуле в зависимости от цены опт. и вот нужно, чтобы документ установки цен подтянул этот самый крупный опт. и заполнил по формуле, если в документе прихода была цена опт.
Vofka @ Сегодня, 13:02
,
Таки да. Уже занят этим. Пожалуй ничего лучше я уже и не придумаю.
Vofka @ Сегодня, 13:02
,
Хотя можно ещё попробовать записать документ (без проведения дабы получить ссылку), открыть его форму, выполнить функцию "НачатьПересчетЦенЦеновыхГруп" и сразу же за этим записать установку цен и закрыть форму. Но даже в лучшем случае у пользователя на екране моргнёт форма установки цен, что вызовет у него ненужные вопросы.
ZenBi @ 12.08.22, 14:08
,
Так можна ж і не відкривати форму.
Наведу приклад як я заповнював форму з викликом методів форми. Завдання було - заповнити і відкрити форму нового документа без збереження в базі. Думаю щось з того можна буде використати і вам:
ПарамФормы = Новый Структура;
Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаОбщая", ПарамФормы);
ДанныеФормы = Форма.Объект;
массивТоваров = Новый Массив(); // масив структур, для заповнення ТЧ
ДанныеФормы.Организация = Объект.Организация;
ДанныеФормы.Контрагент = Контрагент;
ДанныеФормы.Товары.Очистить();
ЗаполнитьРННаСервере(ДанныеФормы, массивТоваров);
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копіюємо дані форми в об'єкт форми і далі відкриваємо її
Форма.ПриИзмененииЦеныИВалюты(ДанныеФормы.ВалютаДокумента, ДанныеФормы.КурсВзаиморасчетов, ДанныеФормы.КратностьВзаиморасчетов); // Щоб викликалось "УправлениеФормой" і перерахувались підсумки
Форма.Открыть();
&НаКлиенте
// Для можливості оновленя (перезаповнення) табличної частини при завантажені табеля з файлу
Процедура ОбновитьДанные() Экспорт
ОбновитьДанныеНаСервере();
КонецПроцедуры //ОбновитьДанные()
&НаСервере
Процедура ОбновитьДанныеНаСервере()
УчетРабочегоВремениФормы.ТабельПослеЗаписиНаСервере(ЭтаФорма, Неопределено, Неопределено);
КонецПроцедуры //ОбновитьДанныеНаСервере()
Gorus @ Сегодня, 11:33
,
О! Нехай це і не пряма відповідь проте наштовхує на роздуми.
Дякую!
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua