Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объединение двух одинаковых макетов 1с
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
DooMeR56
Есть два абсолютно одинаковых по формату макета, нужно объединить значения в ячейках макетов и вывести на экран. Может есть универсальная обработка?
Vofka
Что объединить и зачем?
DooMeR56
Цитата(Vofka @ 11.05.14, 11:00) необходимо зарегистрироваться для просмотра ссылки
Что объединить и зачем?

данные в столбцах макета (числа), сложить их. Зачем? Две различные базы данных в удаленных друг от друга местах, отчет одинаковый для обеих. Подают данные в другое место. Там их объединяют и подают в третье место. Как-то так...
Vofka
Читаете макет в табличный документ, потом программно обходите этот табличный документ и при обходе делаете что надо.
DooMeR56
Цитата(Vofka @ 11.05.14, 11:15) необходимо зарегистрироваться для просмотра ссылки
Читаете макет в табличный документ, потом программно обходите этот табличный документ и при обходе делаете что надо.

Тут небольшая проблема. Табличный документ очень большой... около 600 строк и 20 колонок... Существует универсальный метод типа: сохранить макеты в mxl, xml или xls или на худой конец даже в txt и затем объединить их легким взмахом руки в 1с или какой-нибудь другой программе...
Vofka
600 строк и 20 столбцов - это очень большой smile.gif ? В плане размеров - это совсем не большой. Лёгким размахом руки ничего не делая для этого - врядли получится. Хотя, если вы владеете в достаточной мере Microsoft Excel там это можно сделать, я думаю. Но т.к. вы создали тему в разделе для программистов, то я предложил вам написать обработку для 1С, которая прочитает сохраненные в mxl (хотя по сути можно не только из mxl читать) отчеты и консолидирует их. Если у вас есть какие-то конкретные проблемы или вопросы с этим связанные - задавайте. Если же вы программировать не умеете, то бесплатный и относительно простой выход для вас скорее всего только Excel.
DooMeR56
Цитата(Vofka @ 11.05.14, 11:41) необходимо зарегистрироваться для просмотра ссылки
600 строк и 20 столбцов - это очень большой smile.gif ? В плане размеров - это совсем не большой. Лёгким размахом руки ничего не делая для этого - врядли получится. Хотя, если вы владеете в достаточной мере Microsoft Excel там это можно сделать, я думаю. Но т.к. вы создали тему в разделе для программистов, то я предложил вам написать обработку для 1С, которая прочитает сохраненные в mxl (хотя по сути можно не только из mxl читать) отчеты и консолидирует их. Если у вас есть какие-то конкретные проблемы или вопросы с этим связанные - задавайте. Если же вы программировать не умеете, то бесплатный и относительно простой выход для вас скорее всего только Excel.

Я так понимаю в обработке будут циклы, в которых будем читать область из одного макета, затем из другого суммировать, а после создавать новый макет (идентичный исходным) и помещать в него полученное значение? И так пока не обойдем все строки и столбцы... Верно?
Или же можно воспользоваться методом ТабДок.Присоединить()?

Забыл упомянуть - макет разношерстый получился (в нем много объединенных ячеек, и несколько таблиц с разными заголовками, количеством колонок и тд и тп)
Vofka
Цитата(DooMeR56 @ 11.05.14, 11:59) необходимо зарегистрироваться для просмотра ссылки
Я так понимаю в обработке будут циклы, в которых будем читать область из одного макета, затем из другого суммировать, а после создавать новый макет (идентичный исходным) и помещать в него полученное значение? И так пока не обойдем все строки и столбцы... Верно?

Да, как-то так. Например, читаем каждый макет в одну и ту же таблицу значений (циклами обходим и записываем). Потом в таблице значений делаем Свернуть() и получаем что надо. В обработке так же создать изначально макет (как тот, который вы читаете) и после того как все данные в ТЗ есть - обходим её в цикле и выводим с помощью макета в табличный документ.

Цитата(DooMeR56 @ 11.05.14, 11:59) необходимо зарегистрироваться для просмотра ссылки
Или же можно воспользоваться методом ТабДок.Присоединить()?

Присоединить() используется когда нужно "дорисовать что-то сбоку". Этот метод в суммировании не поможет.

Цитата(DooMeR56 @ 11.05.14, 11:59) необходимо зарегистрироваться для просмотра ссылки
Забыл упомянуть - макет разношерстый получился (в нем много объединенных ячеек, и несколько таблиц с разными заголовками, количеством колонок и тд и тп)

Что значит получился?
DooMeR56
Спасибо за наводку, буду работать...
Цитата(Vofka @ 11.05.14, 12:46) необходимо зарегистрироваться для просмотра ссылки
Что значит получился?

Я про макет который нужно объединить (сам его стряпал)...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.