В предыдущей статье я описывал, как посредством Linq и Elisy .Net Bridge напрямую обращаться к данным 1С:Предприятие. Практика показала, что особых трудностей нигде не возникает. Основной трудностью, с которой пришлось столкнуться и решать, явилось извлечение изображений из справочника ХранилищеДополнительнойИнформации.
Скачать файл
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Проблема заключается в том, что 1С:Предприятие записывает значение типа ХранилищеЗначения в базу данных в своем внутреннем формате. Ситуацию осложняет использование объекта СжатиеДанных
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.
Решение в Реестре отечественного ПО
Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.
Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.
(1) gilv, есть что по делу сказать без эмоций? Можно подумать, что я бегаю конкретно за вами и упрашиваю читать мои публикации :) . Может лучше не читать вам мои заметки, чтобы не расстраиваться и "не задалбываться"? Заметьте, я не захожу в каждую вашу публикацию и не оставляю гнусные комментарии. Хотя и в вашем случае можно выдрать отдельную фразу из контекста и на славу покритиковать ее, как поступили вы в данном случае.
Поясняю: в названии статьи используется выражение "прямой доступ", это означает, что речь в ней идет о прямом доступе к базе данных MSSQL без участия 1С. Трудности, о которых говорится, относятся к получению содержимого файла изображения именно из базы данных МССКЛ через, например, C#.
Поясняю для Gilv :) : Базовое образование в сфере ИТ, сертификат по 1С и опыт работы с 1С к статье прилагаются. Опыт работы с С++, С# прилагаются также.
>Разработчикам следует более пристально приглядеться к стандартным механизмам сохранения в 1С файлов на предмет совместимости с другими общедоступными технологиями
Зачем? К чему это все?
Может для таких случаев проще использовать общую папку с картинками?
(2) Извиняюсь за задержку с ответом. Предложенное мной решение хорошо интегрируется в стандартные механизмы 1С. Т.е. добавленные изображения выложенной обработкой нормально отображаются из 1С, но вместе с тем имеют достоинство - к ним можно без проблем обратиться методом прямого доступа (ПДД).
Случай с общей папкой - это тоже вариант. Но в данном случае имеет, как мне кажется, больше недостатков: если хранить все изображения только в общей папке, то необходимо дописывать конфигурацию 1С, чтобы отображать в них изображения. Если хранить и в информационной базе 1С и в общей папке, то получается избыточность и нужен посредник, выгружающий все изображения из информационной базы в общую папку. Посредников я не люблю.
Метод с общей папкой имеет право на существование, но как мне кажется, не в случае, когда есть прямой доступ к БД. А, например, в случае удаленного веб-сайта.
4.
Gilev.Vyacheslav
191715.11.09 06:17 Сейчас в теме
Пиши:
ЗАЧЕМ это нужно, почему другие варианты не подходят
далее - почему выбран именно этот метод, какие есть альтернативы
какие плюсы и минусы выбранного метода решения задачи
пока по тому, что далаешь, не видно всего выше перечисленного
а что получается в результате,
мне постоянно приходится на проектах разгребать подобные "подделки", потому что новички как следует не разобравших ТАКОЕ творят, что иногда проще вместо исправлений вообще все заново написать
когда что то выкладываешь, надо осозновать ответственность за возможные последствия
уж молчу про нарушения лицензионной политики, тут и без нее видно кучу технических проблем, которые вызовет предложенный подход как в этом посту так и в других
(4) Ни я и никто другой на Инфостарте не несут ответственности за то, что натворят другие, выкладывая разработки по принципу "AS IS" (как есть). Пусть за это несут ответственность их непосредственное руководство. Это первое.
Второе, с каких это пор ссылки на статьи должны быть оформлены в виде научных статей с введением, описанием аналогов, выводами?
Третье, что касается лицензионного соглашения. Разговор об этом с тобой был уже в других постах. С твоего молчаливого согласия пришли к выводу, что лицензионное соглашение 1С нарушает Гражданский Кодекс РФ, где сказано, что владелец базы данных может обращаться к ней любыми способами. Но возникает другой закономерный вопрос, почему из 60 тысяч пользователей Инфостарт только тебя заботит судьба этого нового спорного пункта лицензионного соглашения?
Четвертое, почитай раздел Цели Инфостарта http://infostart.ru/about/ и впредь будь добр "создавать атмосферу доброжелательного общения".
Пятое, когда освоишь .net framework, о котором идет речь в моих публикациях, мы сможем с тобой на равных обсудить "технические проблемы" всех моих публикаций. Потому что .Net нормально внедрили в С++, Visual Basic, Delphi, Python, Ruby, Axapta и особых проблем в них не возникало.