powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / [Navision]
18 сообщений из 118, страница 5 из 5
[Navision]
    #33038524
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...одинаковые таблицы для бухгалтерии и отдела сбыта. Они сказали я сделал
Порочная практика. Кто они ? Бухгалтеры ? ? ?
Они у Вас по совместительству и ПроджектМенеджеры и DB-Achitectы ? Круто ! :)
Вы их спросите, что такое RDBMS , или хоть одну нормальную форму назвать... :)
Избыточность данных допустима, но.... она должна быть чем-то оправдана (производительностью, удобством обмена, постр.отчётов).
Это должны проектировать люди, которые хорошо себе представляют все необходимые БП и умеют оптимально создавать БД-структуру.
Грамотная структура - 60% успеха БД-проекта.

всё ИМХО
...
Рейтинг: 0 / 0
[Navision]
    #33038551
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV ...одинаковые таблицы для бухгалтерии и отдела сбыта. Они сказали я сделал
Порочная практика. Кто они ? Бухгалтеры ? ? ?
Они у Вас по совместительству и ПроджектМенеджеры и DB-Achitectы ? Круто ! :)
Вы их спросите, что такое RDBMS , или хоть одну нормальную форму назвать... :)
Избыточность данных допустима, но.... она должна быть чем-то оправдана (производительностью, удобством обмена, постр.отчётов).
Это должны проектировать люди, которые хорошо себе представляют все необходимые БП и умеют оптимально создавать БД-структуру.
Грамотная структура - 60% успеха БД-проекта.

всё ИМХО

Добавьте еще, что можно обойтись и без индексов и ключей (в зависимости от использованных технологий и продуманности уникальности) и я с Вами дружу.
...
Рейтинг: 0 / 0
[Navision]
    #33038558
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл уточнить:
"...но с набором необходимых атрибутов" следует понимать как данные во внешних таблицах, а не поля в обсуждаемых двух таблицах. Этих внешних таблиц немного и они ориентированы на хранение разнородной информации поэтому при появлении нового атрибута не нужно добавлять поля. Достаточно создать новую запись атрибута и описать в ней типы данных и реляции с ключевыми таблицами. Это простой и практически универсальный механизм хранения любой вспомогательной информации для любых данных.
Конечно полностью избежать программирования для сложных случаев не удастся. Но это в любой системе не избежать.
...
Рейтинг: 0 / 0
[Navision]
    #33038989
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVНа самом деле там есть множество других таблиц, которые выполняют похожие ф-ции. Так что избыточность не в 2 раза, а иногда гораздо больше.
Да, именно так.

LSVВсе вышесказанные пункты запросто делаются (не в Navision) в двух таблицах шапка/строки, но с набором необходимых атрибутов, где можно учесть и права и скидки и даты и выдачу товара и многое другое, в т.ч. и то, чего никогда не было и не будет в стандартном Navision.
Короче....куча таблиц в данном случае - не оправдание. Эра DBF давно прошла. Дискуссию про единый справочник поставщиков/клиентов/партнёров/кредиторов мы тут не будем продолжать. Она уже была.
Я жду ваше решение.
Делайте. В чем проблемы?

LSVзабыл уточнить:
:) Начинается...

LSV...следует понимать ... Достаточно создать новую...
В общем, LSV. Делайте.
Посмотрим и ваше решение.

Вот например у Сахавата Юсифова есть что посмотреть.
В Навижине есть что посмотреть.
И понять достоинства и недостатки.

LSV, делайте. Сделаете хотя бы десяток документов - готов посмотреть ваше решение. Повторите хотя бы 1С:Бухгалтерию. Заполните базу данными. Начните профилировать...
...
Рейтинг: 0 / 0
[Navision]
    #33039000
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовДобавьте еще, что можно обойтись и без индексов и ключей (в зависимости от использованных технологий и продуманности уникальности) и я с Вами дружу.
Добавьте еще, что решение будет развиваться.
В нем рано или поздно появятся унаследованные решения и поддержка совместимости...

Обойтись можно вообще одной таблицей с одним полем. Впрочем, это текстовый файл.

См. также обсуждение
Контрагенты - дебиторы,кредиторы,деловые отношения. Один справочник или несколько?
:)
...
Рейтинг: 0 / 0
[Navision]
    #33043861
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV ...одинаковые таблицы для бухгалтерии и отдела сбыта. Они сказали я сделал
Порочная практика. Кто они ? Бухгалтеры ? ? ?
Они у Вас по совместительству и ПроджектМенеджеры и DB-Achitectы ? Круто ! :)
Вы их спросите, что такое RDBMS , или хоть одну нормальную форму назвать... :)
Избыточность данных допустима, но.... она должна быть чем-то оправдана (производительностью, удобством обмена, постр.отчётов).
Это должны проектировать люди, которые хорошо себе представляют все необходимые БП и умеют оптимально создавать БД-структуру.
Грамотная структура - 60% успеха БД-проекта.

всё ИМХО
Ест-но они сказали не то чтобы одинаковые таблицы а приход заносили отдельно бухгалтерия и тот же самый сбыт. Таблицы это я уже сделал, спроектировал и тп. Вы отвлекаетесь от темы.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
[Navision]
    #34468158
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антиресно... С апреля 5-го года ни одного сообщения. Я что опоздал? Поздо столкнулся с навижином, когда он уже сдох окончательно? Блин, аж мороз по коже...
...
Рейтинг: 0 / 0
[Navision]
    #34468485
Фотография George Nordic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь он называется Dynamics NAV

С Уважением,
Георгий
...
Рейтинг: 0 / 0
[Navision]
    #34487501
ablievn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не дождетесь, не сдохнет. Хотя с 5-ой версией нас однозначно развели
...
Рейтинг: 0 / 0
[Navision]
    #34488986
Sync000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одна из самых серьезных, как по мне, проблем во внедрении Navision -- это полная (и зачастую ужасающая) некомпетентность дистрибьюторов продуктов от MS, в технической части этих самых продуктов

Совсем недавно я на личном опыте прошел эпопею с попыткой внедрения у нас Navision. Откровенно говоря, ничего продуктивного из этого не вышло. Столкнулись с рядом неприятных нюансов.

- В первую очередь тормознутость (и это на современной профессиональной двухпроцессорной платформе... Хотя должен оговорить, что с нашими объемами -- БД угрожала разростись просто таки в геометрической прогрессии... Около 60 филиалов ведь...).

- Второй существенный момент -- в "заточке" Navision под наши специфические нужды. Стандартный вариант нам не подходил (а варианты рассматривались полжалуй всех внедренцев, которые присутствуют на нашем рынке). Когда же наконец основные бизнес-процессы были описаны и приблизительно вырисовался объем того, что предстояло дорабатывать имеено "под нас", стоимость внедрения была заявлена такая, что продукт уже себя не оправдывал (скажем так -- сумма выросла почти в два раза выше заявленной приблизительно в начале переговоров).

После долгих колебаний от внедрения Navision пришлось отказаться. И решающим моментом была далеко не цена. а скорее крайнее неудобство и неуниверсальность в самостоятельной доработке.
В итоге, целесообразнее оказалось потратить больше времени, но разработать своими силами информационную среду (.NET(C#) + MySQL 5).
...
Рейтинг: 0 / 0
[Navision]
    #34489487
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sync000Одна из самых серьезных, как по мне, проблем во внедрении Navision -- это полная (и зачастую ужасающая) некомпетентность дистрибьюторов продуктов от MS, в технической части этих самых продуктов
Есть такое. Выбирать надо тщательнее.

Sync000 - В первую очередь тормознутость (и это на современной профессиональной двухпроцессорной платформе... Хотя должен оговорить, что с нашими объемами -- БД угрожала разростись просто таки в геометрической прогрессии... Около 60 филиалов ведь...).
Что-что, а с жалобой на тормознутость встречаюсь впервые.
Можно попросить вас привести характеристики базы?
Даже не для разбора ситуации, а чтобы остальные знали границы, где люди встретились с "тормознутостью"?

Sync000 - Второй существенный момент -- в "заточке" Navision под наши специфические нужды. Стандартный вариант нам не подходил (а варианты рассматривались полжалуй всех внедренцев, которые присутствуют на нашем рынке).
Опять же.
Можете в двух словах рассказать про ваши нужды?

Sync000 Когда же наконец основные бизнес-процессы были описаны и приблизительно вырисовался объем того, что предстояло дорабатывать имеено "под нас", стоимость внедрения была заявлена такая, что продукт уже себя не оправдывал (скажем так -- сумма выросла почти в два раза выше заявленной приблизительно в начале переговоров).
Можно уточнить?
Объем вырисовался ПОСЛЕ того, как вы закупили Навижин, начали его использовать и столкнулись с тормознутостью?
У меня не очень в голове укладывается такая последовательность...
Можно подробнее?

Sync000После долгих колебаний от внедрения Navision пришлось отказаться.
Радикально.

Sync000И решающим моментом была далеко не цена. а скорее крайнее неудобство и неуниверсальность в самостоятельной доработке.
В итоге, целесообразнее оказалось потратить больше времени, но разработать своими силами информационную среду (.NET(C#) + MySQL 5).
Интересно....
Я правильно понял, что причиной отказа была не "тормознутость" и не отсутствие нужной вам функциональности?
Я правильно понял, что причиной отказа была неразвитость средств разработки?
...
Рейтинг: 0 / 0
[Navision]
    #34489934
satrbs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему реплика от Sync000 это провокация...
...
Рейтинг: 0 / 0
[Navision]
    #34490011
Sync000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, по возможности, подробнее.

Не желая покупать "кота в мешке" высшее руководство (владельцы компании) потребовали посмотреть на систему, хотя бы в тестовой работе. С этой целью из инета (в каких-то биллинговых сетях) была вытащен Navision и лицензия к нему. Использовать "неофицильный" вариант никто не собирался (плюс там и было ограничение на число одновременных подключений), мы прекрасно понимали, что нам нужны будут консультации и техподдержка во внедрении. Но нужно было что-то показать. Помощь при запуске опять-таки носила неофициальный характер (из числа партнеров).

1) Насчет БД, в детали не вникал, но у меня на руках были отчеты людей. Могу сказать, что вышеупомянутая тормознутость наблюдалась при базе около 30 Гб. Львиная доля тектовые значения. Сервер: 2-x CPU Xeon, DualCore.

2) О "нуждах в двух словах": сфера деятельности компании -- грузовые и пассажирские перевозки. В корпоративную информационную систему решили "запихнуть" абсолютно все.

Нужно было и вести полный цикл перевозки каждого отдельно взятого груза (пример: прием+учет при отправке+погрузка+следование+транзитная перепогрузка+следование+получение+учет при получении, тут же и информирование клиента о статусе груза и пр...), и диспетчерское сопровождение (тут тоже масса нюансов, взять хотя бы необходимость в фиксации показателей 4-х GPRS-датчиков установленных на дверях каждой из грузовых машин), и управление удаленными филиалами (свыше 60-ти)... Ну и вообще все отделы, какие есть. Финансы, бух., кадры, склад, реклама, статистика, IT...

Причем "тормоза" начались когда был запущен только учет грузооборотов. Всего остального естественно не было.

3) Объем вырисовался тогда, когда потестив Navision в таком виде, было решено внедрять, начаты переговоры с различными дистрибьюторами и вышеуказанные процессы были описаны.

4) Я допускаю, что причиной отказа возможно была и не "тормознутость" (потому как, опять же допускаю наличие проблемы в человеческом факторе :) ), но вот отсутствие того, что именно нам бы подходило (цена доработки была не решающей, но свою очень негативную роль она сыграла) и действительно неразвитость средств разработки -- да.

satrbsПо моему реплика от Sync000 это провокация...

Простите, где здесь провокация???
...
Рейтинг: 0 / 0
[Navision]
    #34490038
Sync000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно просто наша ошибка была именно в желании объединить АБСОЛЮТНО ВСЕ в единую среду, посредством Navision.
...
Рейтинг: 0 / 0
[Navision]
    #34490140
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sync000Не желая покупать "кота в мешке" высшее руководство (владельцы компании) потребовали посмотреть на систему, хотя бы в тестовой работе.
Правильное желание.

Sync000С этой целью из инета (в каких-то биллинговых сетях) была вытащен Navision и лицензия к нему.
Странный подход.
А взять демоверсию с официального сайта http://demo.navision.ru/ не судьба?
Какую хоть версию вытащили?

Sync000Использовать "неофицильный" вариант никто не собирался...
Пожалуйста, перестаньте "лечить".
Пожалуйста, расскажите по делу.

Sync0001) Насчет БД, в детали не вникал, но у меня на руках были отчеты людей. Могу сказать, что вышеупомянутая тормознутость наблюдалась при базе около 30 Гб.
Каких людей? Какие отчеты?
Что значит не вникал в "детали", если вы жалуетесь на "тормознутость"?
Вы можете рассказать внятно?

Какой тип базы - native или sql?
если SQL, то какой? Параметры сервера, кроме процессора? Количество документов в день? Количество конкуретных пользователей?

Или вы знаете только слово "тормознутость", а остальное считаете "деталями", в которые не надо вникать?

Sync000Львиная доля тектовые значения.
?! Что это значит?

Sync0002) О "нуждах в двух словах": сфера деятельности компании -- грузовые и пассажирские перевозки. В корпоративную информационную систему решили "запихнуть" абсолютно все.
Сколько этапов запланировали и в какой последовательности вы собирались получить промежуточные результаты?

Sync000Нужно было и вести полный цикл перевозки каждого отдельно взятого груза (пример: прием+учет при отправке+погрузка+следование+транзитная перепогрузка+следование+получение+учет при получении, тут же и информирование клиента о статусе груза и пр...), и диспетчерское сопровождение (тут тоже масса нюансов, взять хотя бы необходимость в фиксации показателей 4-х GPRS-датчиков установленных на дверях каждой из грузовых машин), и управление удаленными филиалами (свыше 60-ти)... Ну и вообще все отделы, какие есть. Финансы, бух., кадры, склад, реклама, статистика, IT...
Перечисленное и есть "абсолютно все" или еще что то осталось в многоточии?

А можно спросить? С какой периодичностью фиксируются показатели GPRS-датчиков?
А почему и эту информацию вы собрались хранить в Навижине?

Sync000Причем "тормоза" начались когда был запущен только учет грузооборотов. Всего остального естественно не было.
Ок. Предположим.
Но чтобы и другие получили пользу от вашего предостережения,
можете рассказать что вы подразумеваете под "только учет грузооборотов"?
Какой стандартный/нестандартный функционал вы использовали и сколько документов ввели?

Sync0003) Объем вырисовался тогда, когда потестив Navision в таком виде, было решено внедрять, начаты переговоры с различными дистрибьюторами и вышеуказанные процессы были описаны.
С дистрибьюторами других систем вы ваши требования показывали?
Что они говорят?

Sync0004) Я допускаю, что причиной отказа возможно была и не "тормознутость" (потому как, опять же допускаю наличие проблемы в человеческом факторе :) ),
Не понимаю.

Я что хочу сказать.
есть два стиля сообщений: просто потрепаться или рассказать по делу, чтобы и другим была польза.
Я почему-то решил, что вы начали говорить во втором стиле.
Можете сказать так, чтобы и другим было понятно - вот в таких случаях Навижин лучше не использовать?

Sync000но вот отсутствие того, что именно нам бы подходило (цена доработки была не решающей, но свою очень негативную роль она сыграла) и действительно неразвитость средств разработки -- да.
Как скажете...
...
Рейтинг: 0 / 0
[Navision]
    #34495527
Guest12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь еще раз, только очень медлено и подробно, как все эти проблемы не были решены на mssql или oracle, а великий и могучий MySQL5, да еще в связке с С#, решил эти проблемы?
...
Рейтинг: 0 / 0
[Navision]
    #34802557
Navi+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смешно))) Демка навижена, настроенная соответствующим образом под конкретную задачу без лицензии, разросшаяся до 30 гиг. база... Тормозила...)))
...
Рейтинг: 0 / 0
[Navision]
    #34804072
Glazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YashurКто-нибудь знает успешные примеры компаний. которые ведут 1 бухгалтерию
2 зарплату и кдры в Навижн?
Много ли пришлось этим компаниям доработать в системе?

У нас в компании РАСКО(филиал - Воронеж и головной филиал во Владимирской области,) внедрен Навижен, все указаное выше работает.
Но от стандартной поставки там остался один запах, особенно что касается зарплаты и кадров.
Внедренец Звезда-Софт.
Могу сказать, что стоимость внедрения очень высокая (разглашать конкретную цифирь не имею права), результат зависит от того насколько грамотны внедренцы и сколько они помахали напильником. Наши помахали напильником изрядно (причем собирали запорожец из запчастей по ходу движения), потом махали и мы :)

До этого работали:
Запрлата+Кадры=1С 7.7
Бухгалтерия Досовская программа Звезда(тоже Звезда Софт)

В принципе переход на навижен в большей степени был обусловлен заботой о "имидже компании"
как компании с иностранными акционерами. Лучше покупают то что знакомо, эт как я понимаю для будущих акционеров важно. Амеры любят когда стоят знакомые им программы(наивные гы).

Проблемы с экспортом в Эксель я решил просто, так как знаком с принципом создания отчетов в 1С 7.7

Дарю идею народу:

В Экселе создаешь шаблон с тремя листами я называл их "Документ","Шаблон" и "Данные".

На листе "Шаблон" создаеш шаблон как в 1С, отличия только в том что пользуюсь именоваными областями а не верт и гор. секциями в отличии 1С.
Например названия секций "Заголовок_Документа", "Тело_Документа","Строка_Таблицы_Документа", "Подвал_Документа".

Лист "Данные" - два столбца, имя переменной и её значение.

Секции из шаблона связываю с данными на листе "Данные".

Далее созадаешь макрос который принимает в качестве аргумента имя сеции шаблона и при этом на лист Документ копирует вызваную секцию, и отвязавает результирующие данные от формул.
Еще и атозамену реализуешь чтобы в ячейке можно соcтавные данные использовать по именам переменных, типа:
<ТипДокумента> выданный <МестоВыдачи>



Дальше все просто
Из навижена кидаешь данные на лист Данные, и вызываешь макрос передавая ему имя именованой области, когда нужно вывести нужную область в документ.

Вот куски вывода табеля, введеного табельщиком, в Эксель из навижена:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
 ...
IF(NOT FLAG_DEBAG) THEN BEGIN
 // в поле KadrPrikaz.txt  храниться путь к шаблонам
 KP_L.RESET;
 KP_L.SETRANGE(KP_L.NPrik,'NNNN');
 KP_L.FIND('-');
 DIAL.UPDATE( 1 ,KP_L.Txt+'БухШаблоны\tabel_rab_vremeni.XLT');
 xls.Workbooks._Open (KP_L.Txt+'БухШаблоны\tabel_rab_vremeni.XLT');
END;

xlsSheet := xls.ActiveWorkbook.Worksheets.Item( 3 );
xls.Run('InitDocument');

DIAL.UPDATE( 1 ,'Вывод заголовочных данных ..');
 
I:= 1 ;
xlsSheet.Range('A'+FORMAT(I)).Value:='Пользователь';
xlsSheet.Range('B'+FORMAT(I)).Value:=USERID;

REC_PERIOD.GET(CU_MAIN.getPeriodID);
I+= 1 ;
xlsSheet.Range('A'+FORMAT(I)).Value:='НачалоПериода';
xlsSheet.Range('B'+FORMAT(I)).Value:=REC_PERIOD.DATA_N;

I+= 1 ;
xlsSheet.Range('A'+FORMAT(I)).Value:='КонецПериода';
xlsSheet.Range('B'+FORMAT(I)).Value:=REC_PERIOD.DATA_O;

I+= 1 ;
xlsSheet.Range('A'+FORMAT(I)).Value:='ИмяФирмы';
xlsSheet.Range('B'+FORMAT(I)).Value:='ВСЗ филиал ООО РАСКО';

...

// выводим секцию шаблона
xls.Run('InsertSection','СЕК_ЗАГОЛОВОК');
...


  // *** Выводим результаты явок по дням *******************************************

тут цикл  опускаю код...


      I+= 1 ;
      xlsSheet.Range('A'+FORMAT(I)).Value:='Я'+FORMAT(I2);
      IF((REC_YAVKI_L.R_CH= 0 )OR(REC_YAVKI_L.RASHIFROVKA='К')) THEN BEGIN
       IF(REC_YAVKI_L.RASHIFROVKA='В') THEN
         xlsSheet.Range('B'+FORMAT(I)).Value:=''
       ELSE BEGIN
        xlsSheet.Range('B'+FORMAT(I)).Value:=REC_YAVKI_L.RASHIFROVKA;
       END

      END ELSE
       xlsSheet.Range('B'+FORMAT(I)).Value:=FORMAT(REC_YAVKI_L.R_CH);
      //вечерние
      I+= 1 ;
      xlsSheet.Range('A'+FORMAT(I)).Value:='В'+FORMAT(I2);
      IF(REC_YAVKI_L.V_CH= 0 ) THEN
       xlsSheet.Range('B'+FORMAT(I)).Value:=''
      ELSE
       xlsSheet.Range('B'+FORMAT(I)).Value:=REC_YAVKI_L.V_CH;
...

  I+= 1 ;
  xlsSheet.Range('A'+FORMAT(I)).Value:='ГрафикРаботыНаНачалоПериода';
  xlsSheet.Range('B'+FORMAT(I)).Value:=REC_TAB_L.GRAFIK;

...
  
  xls.Run('InsertSection','СЕК_ТАБЕЛЬ');

  POR_NOMER+= 1 ;

 UNTIL REC_TAB_L.NEXT= 0 ;

 xls.Run('InsertSection','СЕК_ПОДВАЛ');

 IF(NOT FLAG_DEBAG) THEN BEGIN
  xls.Run('ShowDocument');
 END ELSE BEGIN
  xls.Run('ShowDocumentForDebag');
 END;

DIAL.CLOSE;




Как видите только кидаем данные и вызываем вставку в нужный момент времени
областей-секций, причем секцию можно втавлять как ниже предыдущей всталенной секции так и справа, это дает возможность выводить данные с неизвестным заранее количеством столбцов.

Все как в 1С :) Правда Эксель должен быть не ниже 2003 го.
Да еще при выводе документа пользователю лист данные и лист шаблона удаляются.

Самое главное, что внешний вид шаблона настраивается независимо от навижена, я например раскашиваю отчеты в стандартные цвета 1С :)
И никакого мусорного кода по соданию рамок установке шрифта и прочей мути как делают многие внедрецы. У внедренцов своя политика - чем сложней написано тем выше и них работы при сопровождении и выше расценки :)



макрос такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
Rem Application.Run( 'Macros Name' ) или k% = Application.Run("DocSubProc2", d)
Dim GlobalPreviosRowSize
Dim GlobalFirstSection

Rem Инициализация документа
Sub InitDocument()
 Rem Скрываем книгу
 Application.Visible = False
 
 Rem снимаем защиту
  Rem Очистка листа документа
 Worksheets("Документ").Activate
 ActiveSheet.Unprotect ("123")
 Cells.Select
 Selection.Delete Shift:=xlUp
 
 Cells.Select
 Selection.Delete Shift:=xlUp
  
 GlobalPreviosRowSize =  1 
 GlobalFirstSection = True
 Rem Настройки Листа
 Sheets("Документ").Select
 Cells( 1 ,  1 ).Select
Rem Application.ActiveSheet.PageSetup.Orientation = XlPageOrientation.xlLandscape
End Sub

Rem Приаттачивание секции к предыдущей секции
Sub AttachSection(SecName)
 InsertSection_ SecName, "ATTACH"
End Sub

Rem Вставка новой секции
Sub InsertSection(SecName)
 InsertSection_ SecName, "ADD"
End Sub

Rem Вывод секции
Sub InsertSection_(AreaName, AddOrAttach)
    Rem Запоминаем позицию курсора
    Worksheets("Документ").Activate
    CurrentRow = ActiveCell.Row
    CurrentCol = ActiveCell.Column
     
    Rem Если идет присоеденение секции позицию не смещаем
    Rem Когда вставляем первую секцию нельзя смещать позицию!
    If (AddOrAttach = "ADD") And (Not GlobalFirstSection) Then
      Cells(CurrentRow + GlobalPreviosRowSize,  1 ).Activate
      CurrentRow = ActiveCell.Row
      CurrentCol = ActiveCell.Column
    End If
    GlobalFirstSection = False
    Rem Находим область для вывода
    Worksheets("Шаблон").Activate
    Range(AreaName).Select
    
    Rem Вертикальные размеры области
    VertSecRowPos = Selection.Row
    VertSecRowSize = Selection.Rows.Count
    VertSecEndRowPos = VertSecRowPos + VertSecRowSize -  1 
    
    Rem Горизантальные размеры области
    GorSecColumnPos = Selection.Column
    GorSecColumnSize = Selection.Columns.Count
    GorSecEndColumnPos = GorSecColumnPos + GorSecColumnSize -  1 
            
    Rem а нужно ли делать автозамену для этой области
    Set iCell = Selection.Find(What:="<", LookIn:=xlFormulas)
        
    Rem Копирование и вставка области в лист документа
    Selection.Copy
    Worksheets("Документ").Activate
    
    Rem вставка ширин столбцов
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    
    Rem а вставка высот строк?
    Rem причем при аттаче секции не выполнять
    If (AddOrAttach = "ADD") Then
     For Count =  1  To Selection.Rows.Count
      Worksheets("Шаблон").Activate
      ВысотаСтроки = Selection.Rows(Count).RowHeight
      Worksheets("Документ").Activate
      Selection.Rows(Count).RowHeight = ВысотаСтроки
     Next Count
    End If
        
     Rem Сама вставка всего(рамки цвета данные и т.п.)
     ActiveSheet.Paste
     Rem Вставка только значений и форматов фисел чтобы отвязатся от формул
     Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    
    If Not iCell Is Nothing Then
     Rem Производим автозамену значений в ячейках с листа данных на выделенном участке документа
     Worksheets("Данные").Activate
     Range("A1").Select
     Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
     RowCount = Selection.Rows.Count
     For i =  2  To RowCount
      Worksheets("Данные").Activate
      WhatReplace = "<" + Cells(i,  1 ) + ">"
      OnWhatReplace = Cells(i,  2 )
      Worksheets("Документ").Activate
      Selection.Replace What:=WhatReplace, Replacement:=OnWhatReplace
     Next i
    End If
   
   Rem Смещение поз. курсора на конец вставленной области
   Worksheets("Документ").Activate
   Cells(CurrentRow, CurrentCol + GorSecColumnSize).Activate
   
   GlobalPreviosRowSize = VertSecRowSize
   
End Sub

Rem Отображение документа
Sub ShowDocument()
Rem снимаем защиту
 
 Worksheets("Документ").Activate
 ActiveSheet.Protect ("123")
 Cells( 1 ,  1 ).Select
 
 Application.Visible = True

 DeleteTemplateLists
 
End Sub
Sub ShowDocumentForDebag()
 Worksheets("Документ").Activate
 Cells( 1 ,  1 ).Select
 Application.Visible = True
End Sub


Sub ClearDataList()
 Sheets("Данные").Select
 Cells.Select
 Selection.ClearContents
End Sub


Sub DeleteTemplateLists()
 Application.DisplayAlerts = False
  Sheets("Данные").Delete
  Sheets("Шаблон").Delete
 Application.DisplayAlerts = True
End Sub


Да, на лист Документ наложен пароль от случайного изм данных, из кода видно он снимается.
...
Рейтинг: 0 / 0
18 сообщений из 118, страница 5 из 5
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / [Navision]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]