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

Как объединить несколько журналов документов в один?

Автор keramik, 29 дек 2014, 16:37

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

keramik

Хочу объединить несколько журналов документов в одной форме. Необходимо, чтобы переход между журналами совершался, используя закладки. Например, в первой закладке отображаются документы первого журнала, во второй - второго и т.д.
По-отдельности понимаю, как создать журналы, но вот объединить их в одну форму пока не нашёл как.
На изображении схематичный пример.

keramik

Дополнение:
Даже не сами журналы документов интересуют, а возможность объединить в одной форме несколько различных подформ. В первой, например, отображается информация о покупателе, во второй - его заказы, в третей - способы оплаты.
Чтобы не надо было открывать несколько справочников или документов для добавления информации, а можно было бы работать с одной формой.

Herby

в стандартной 1с не получится. подключайте 1сpp, formex и копайте в сторону "ТабличноеПоле".

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

Цитата: keramik от 29 дек 2014, 16:41Чтобы не надо было открывать несколько справочников или документов для добавления информации, а можно было бы работать с одной формой.

а если в документах добавлять кнопки, которые будут выводить вам нужную информацию, так не устроит?


keramik

Хмм... кнопки... А кнопками вызывать нужные формы. Информация из которых будет загружаться в основную форму. Это идея. Попробую, спасибо.
Добавлено: 30 дек 2014, 09:09


Так, а если говорить про FormEx.dll, то где скачать эту компоненту? оф.сайт dormex.ru ведёт на туристическую страницу с турами по Алтаю...

Добавлено: 30 дек 2014, 10:12


Дополнение:
Скачал FormEx.dll, но не понимаю, как её загрузить. Где в глобальном модуле запускать код:

Загрузчик = СоздатьОбъект("ЗагрузчикВК");
Результат = Загрузчик.ЗагрузитьВК("formex.dll", "AddIn.FormEx=5142b2ce-c533-473f-8bb4-4385c47732c5");

?
Добавлено: 30 дек 2014, 10:16


Дополнение:
Я создал процедуру в Глобальном модуле: ПриНачалеРаботыСистемы()
В ней прописал
Загрузчик = СоздатьОбъект("ЗагрузчикВК");
Результат = Загрузчик.ЗагрузитьВК("formex.dll", "AddIn.FormEx=5142b2ce-c533-473f-8bb4-4385c47732c5");

Но получаю сообщение Загрузчик = СоздатьОбъект("ЗагрузчикВК"); Неудачная попытка создания объекта (ЗагрузчикВК)
Добавлено: 30 дек 2014, 10:23


Дополнено:
Так, закопировал компоненты в директорию с базой данных, использую код:
Процедура ПриНачалеРаботыСистемы()
    ЗагрузитьВнешнююКомпоненту("vkloader.dll");
ЗагрузитьВнешнююКомпоненту("vkloader.dll");
звк = СоздатьОбъект("ЗагрузчикВК");
Рез = звк.КодЗагрузки("1cpp.dll");
Если Рез.КодОшибки = 0 Тогда
    Сообщить(Рез.Результат);
Иначе
    Сообщить("Ошибка " + Рез.КодОшибки + РазделительСтрок + Рез.Результат);
КонецЕсли;
КонецПроцедуры


Но появляется сообщение, что не удалось получить ProgID.

А если запустить код:

Процедура ПриНачалеРаботыСистемы()
    ЗагрузитьВнешнююКомпоненту("vkloader.dll");
Загрузчик = СоздатьОбъект("ЗагрузчикВК");
Результат = Загрузчик.ЗагрузитьВК("formex.dll", "AddIn.FormEx=5142b2ce-c533-473f-8bb4-4385c47732c5");
КонецПроцедуры

то программа зависает и вылетает без каких-либо ошибок. А при повторном запуске требует провести переиндексацию таблиц.
Добавлено: 30 дек 2014, 10:41


Дополнено решение:

Скопировал компоненту в директорию базы 1С, и в глобальный модуль этой базы вписал выдранный кусок кода из другой конфигурации (функцию и процедуру), в которой FormEx.dll успешно работал:

Функция ПолучитьЦвет(Красный = 0,Зеленый = 0,Синий = 0) Экспорт
//функция для формирования значения цвета из составляющих (RGB)
    Возврат Макс(0,Синий)*65536+Макс(0,Зеленый)*256+Макс(0,Красный);
КонецФункции
Процедура ПриНачалеРаботыСистемы() Экспорт
Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 0 Тогда
    Предупреждение("Неудачная попытка загрузить FormEx.dll");
    СтатусВозврата(0);
    Возврат;
КонецЕсли;
Сервис = СоздатьОбъект("Сервис");
//разрешаем использование раскраски таблиц
Сервис.ВключитьРаскраскуТаблиц();
//добавляем индикатор клавиатуры и часы в статус бар
Сервис.ПоказыватьИндикаторКлавиатуры(1);

prosoft1


alexandr_ll


Теги:

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

Рейтинг@Mail.ru

Поиск