Не обязательно выгружать данные в таблицу значений. Через ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр можно передать и результат выполнения запроса. Выгрузка в таблицу значений довольно ресурсоемкая операция и если планируется обход полученного результата, то лучше делать это через выборку. Вполне возможно, что стоит обработать полученные данные до того, как передать их в качестве объекта в отчет СКД
Profi_1C77 @ Сегодня, 15:02
, NewObject("ПланыСчетов") - это для всего, что создается через конструктор Новый в языке 1с, например, Новый запрос, Новый Структура и так далее. Счет = V8BAS.ПланыСчетов.Хозрасчетный.ТоварыНаСкладе; Обращение таким должно быть
Vofka @ Сегодня, 13:08
, Хорошо, надеюсь, что Вы в курсе, что кода в программном коде Вы обращаетесь к реквизиту справочника Номенклатура через точку, то считывается весь объект, вместе с основным изображением. Хотите увеличить траффик - имеете право, ввиду того, что у топик-стартера что-то из УТ2.3 или УТП или УПП, то код будет выполняться в толстом клиенте и фактически нужно будет донести эти мегабайты до компьютера пользователя.
Что вы вкладываете в понятие "легче с ней работать и ее обслуживать"? И не надо ли вам как-то обслуживать каталог с картинками: настроить доступ с разных устройств (если вы работаете через тонкий клиент в браузере с разных регионов, как папку нормально пошарить между всеми?), настроить какие-никакие права (чтобы кто-то не зашел и не поудалял там все), бекапить и т.п.? - На сервере 1с папка которую все могут читать, но не все могут записывать. Путь к папке зашит в константе, при переезде только поменяли константу. У топик-стартера обычные формы, судя по коду, поэтому тонкого клиента нет, а кроме того, все конфигурации на БСП как-то справляются с хранением на диске
Какая связь между "дублированием сущностей" и "несколько ГБ" места в БД? Картинки в БД это дубли чего? - ну в MS SQL важным файлом является файл транзакций, если в него напихать картинок, то он увеличится размерах, при этом для всех версий будет храниться это изображение.
А какие проблемы с этим были? - база тупо стала тормозить. После того как просто убрал картинки и файлы, ситуация существенно улучшилась
Вы получили ДвоичныеДанные. Сохраните их в файл при помощи метода Записать ДвоичныеДанныеКартинки.Записать(ПутьКФайлу);
Дальше поместите в ХранилищеЗначения и файл с диска удалите, чтобы не засорять диск. Ну или переделайте систему, чтобы файлы хранились на диске. а не в базе
мне кажется, что вы в Хранилище значения записываете адрес, а не реальные двоичные данные. Через время в том адресе ничего не будет в свое время пришлось вычищать людям базу, когда таких картинок стало под 10Гб в ней. Лучше сделайте хранение на жестком диске, иначе у вас база будет распухать высокими темпами
В Бухгалтерии КОРП можно создать webservice, опубликовать его на web-сервере, и опубликовать метод, который будет возвращать таблицу значений. Я везде, где мог, уходил от COM в пользу webservice. Во-первых существенно быстрее устанавливается соединение. Во-вторых запросы пишутся в родной базе, а если через COM, то приходится делать запрос в консоли запросов в одной базе, потом его переносить во вторую. Это дополнительная работа. В-третьих, при возврате через COM приходится использовать пару функций ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр, или перегонять в JSON. С JSON проблема в том, что для обработки таблицы в запросе, она должна быть типизирована. То есть надо на стороне приемника создать таблицу, заполнить ее из JSON. Касательно 2 функций - вендор не рекомендует их использовать, о причине не знаю. А проверить получится ли работать с СериализаторXDTO через COM у меня как-то руки не дошли. В webservice, если добавите пакет XDTO http://v8.1c.ru/8.1/data/core, то станет доступен тип ValueTable и сможете на стороне приемника использовать СериализаторXDTO.ПрочитатьXDTO(), а на стороне источника СериализаторXDTO.ЗаписатьXDTO(); В расширение можно добавить webservice, режим совместимости 8.3.12 вроде как позволяет это сделать.
Vofka @ Вчера, 9:49
, Была похожая проблема. Сделал так на MS Windows
ТекстДок = Новый COMОбъект("scripting.filesystemobject"); ТекстФайл = ТекстДок.createtextfile(ИмяФайла); Стр = "<?xml version=""1.0"" encoding=""windows-1251""?> и здесь все тело файла ТекстФайл.write(Стр); ТекстФайл = 0; ТекстДок = 0;
bohdantrots @ Сегодня, 17:36
, Якщо Ви вже поставили PostgreSQL, то чому Ви не намагаєтеся розібратися, чому не встановилася база. І друге питання - різні версії платформи бачать різні версії PostgreSQL, так що для того, щоб вивантажити Вам установщик, потрібно знати, яка у Вас версія платформи, тому що Ваша платформа може не вміти працювати з останньою версією PostgreSQL
У мене на кількох серверах працює PostgreSQL і жодного разу не було проблем із створенням бази. SQL Server Express - сервер для розробників, раніше і обмеження кількості оперативної пам'яті було і кількість з'єднань. Тому я не рекомендував би працювати на ньому.
Не понятно о какой конфигурации идет речь, в УТП есть константа УказаниеСкладовВТабличнойЧастиДокументов. УТП и старая УТ вроде должны иметь похожую константу
Slon747 @ Сегодня, 15:34
, я обычно в запросе динамического списка получаю индекс картинки, а потом просто устанавливаю коллекцию как картинку для поля. Что-то типа такого
ВЫБОР КОГДА ЕСТЬNULL(НаличиеФайлов.ЕстьФайлы, ЛОЖЬ) = ЛОЖЬ ТОГДА 0 ИНАЧЕ 1 КОНЕЦ КАК ЕстьФайлы
и потом коллекцию Скрепка. В итоге если есть присоединенный файл, то есть скрепка
Я точно не знаю на какой версии БСП построена конфигурация BAS КУП, поэтому могут такие модули отсутствовать. Посмотрите общий модуль ПолучениеФайловИзИнтернетаКлиентСервер или обработку ТранспортСообщенийОбменаFTP
Это не решение, а только предположение. В модуле объекта в BAS есть процедуры ОбработкаПроверкиЗаполнения, ПередЗаписью и ПриЗаписи. У всех них есть параметр Отказ, и если в результате выполнения процедуры Отказ принимает значение Истина, то запись не производится. Обычно в самом начале процедур ПередЗаписью и ПриЗаписи стоит отключение проверки при обмене, поэтому, если есть это отключение, то анализировать что может пойти не так в этой процедуре нет смысла. А вот в ОбработкеПроверкиЗаполнения обычно нет отключения. Судя по скринам, Вы построили соответствие только для тех реквизитов, которые есть в УТП. Но могут быть обязательные для заполнения реквизиты для конфигурации-приемника, которые приходят пустыми. В нижнем окне на закладке Правила конвертации объектов есть кнопка Синхронизация свойств. Там можно посмотреть еще не сопоставленные реквизиты. Ну и попробуйте посмотреть Журнал регистрации на предмет ошибок в базе BAS, может там найдется ключ к решению проблемы
Якщо це стара конфігурація (УТП, УПП і так далі), у них є регістр ЗначенняВластивостейОб'єктів, створив би властивість Статус (ПланВидов Характеристик ВластивостіОб'єктів), зробив би його значення або рядковим або значенням довідника ЗначенняВластивостейОб'єктів. Цю властивість можна створити для будь-якого типу документа У конфігураціях BAS документи мають табличну частину Додаткові реквізити. Суть та сама, створюєте реквізит і додаєте його в документ
Общался с программистом по поводу клиент-серверного варианта, сказал что наш сервер такое не потянет и будет только хуже. Что мол это раньше файловый режим до 4гб был максимум, а сейчас в 8,3 может быть и больше 10гб база и все должно работать.
Есть сервер в офисе. Windows server 2008 R2 Enterprise HP ProLiant DL380 G7 Intel® Xeon® CPU X5670 @ 2.93GHz х2 Жopcткий диcк 2.5" З00 GB 10K 12G SAS 128 гб озу
Вопрос в том, как 1С работает с локальной базой. Локальная база - один файл и при проведении данных блокируется его часть, а может и весь. Все остальные пользователи блокируются. Поэтому в локальном рекомендуют не более 3 пользователей. В серверном варианте блокировки на уровне таблицы или записи. Так что от этих проблем точно уйдете. Смело переходите на Клиент-серверный вариант. Процессор староват, конечно, ему уже лет 15 вроде, что соответствует 2-му поколению Core-процессоров, соответственно и старая память стоит, типа DDR3-800/1066/1333. Но я и на худших системах работал и ничего страшного. Думаю, что система будет работать лучше. Можете попробовать поставить PostgreSQL, он вроде как менее требовательный. Вопрос только в одном, если сервер и серверные лицензии не покупались, то это будет серьезным капиталовложением
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!