Архив

Архив автора

Сохранение и восстановление отборов построителя отчета

18 августа 2016 Нет комментариев

Иногда пользователю надо давать возможность сохранять значения отбора, в случае если это необходимо. Ведь согласитесь, каждый раз при открытии обработки устанавливать параметры отбора построителя слишком «мутное» дело. Особенно, если пользователь делает это каждый раз и одно и тоже. Я как-то раз видел как девушка каждый день по несколько раз в сутки настраивала сложный отбор номенклатуры для того что бы сформировать заполнение списка товаров в обработке. В общем сложное и нудное это дело.

Я всегда предлагаю своим клиентам функцию сохранения настроек отбора построителя отчета. Это легко пишется и легко внедряется в любую обработку. Мне это ничего не стоит, а вот для пользователя это большое облегчение. При закрытии формы обработки настройка отбора записывается в хранилище, а при  открытии оттуда распаковывается. В итоге пользователю ничего не надо делать. Реально удобная весчь!

Код, отвечающий за сохранение настроек отбора:

Код, отвечающий за восстановление настроек отбора:

Так что, беспокойтесь за своих клиентов. Они как дети, иногда не знают, что хотят, но если предложишь, то будут искренне и по-детски рады этому! 🙂

Категория: 1С Предприятие 8.2

Как окрасить текущую строку в списке документов

Все знают, что при просмотре большого или точнее длинного и широкого списка документов возникает проблема визуального восприятия пространства на экране: пользователю сложно в большом количестве колонок и строк определить данные в активной строке. Например, Вы выделяете в списке документ «Заказ покупателя» и хотите просмотреть его параметры, не открывая его: контрагент, договор контрагента, дата оплаты и прочее. Визуально сложно быстро обозначить границы строки в списке.

Список "Заказы покупателей"
Конечно, для того что бы определить на какой строке находятся данные можно в конфигураторе для списка указать параметр: «Режим выделения строки» в «Строка», но тогда вся строка будет синей и Вы не сможете понять на какой колонке стоит курсор, а это плохо воспринимается пользователем.

Поэтому, поняв проблему, я решил все другим способом. Возможно он не идеален, но что есть, то есть. 🙂

Читать далее…

Категория: 1С Предприятие 8.2

Вывести ведомость товаров на складах с отбором

Есть код программы, который позволит в типовых конфигурациях вывести на экран отчет «Ведомость товаров на складах». В отчете можно сразу указать специфический отбор для параметров отбора.

Делается это для того, что отобразить информацию о конкретном товаре по всем складам или по одному складу. Удобно тем, что пользователю нет необходимости указывать параметры отбора.

В параметрах есть:

1. ТекНоменклатура — номенклатура, которую надо проанализировать;
2. ДатаНачала — дата начала анализа. Можно заполнить и ДатаКон, но это по желанию.

Категория: 1С Предприятие 8.2

Как получить сумму оплаты по заказу в 1С Предприятие

Все очень просто:

Пример:

Сумма оплаты по заказу

Категория: 1С Предприятие 8.2

Процесс rmngr.exe грузит процессор на 100%

После написания предыдущей статьи решил все-таки исправить проблему, которая возникала каждый раз когда я заходил на сервер моего клиента. Проблема была в том, что один из процессов, который выполнялись на сервере, создавал сильную нагрузку на центральный процессор и дисковый накопитель. Несложно было догадаться по наименованию процесса, а это была фраза «rmngr.exe», что это обычный кластер серверов 1С Предприятие 8.3. Ранее на этой системе не было установлено более ранних версий платформы, а потому нагрузка такого рода у них была изначально и клиент думал, что так нужно «и эта одинэс самая тупая, и екселем было проще».

В общем проблема была реально проблемная. Там стоял процессор Intel Core I5 и радости от этого не было вообще. Пользователей около 10 человек и все работали на сервере через удаленный рабочий стол. Работали они почти полгода таким образом. Настраивать саму платформу пришлось с нуля. На первые поры вроде было все нормально, но в итоге снова начинало «тупить». Как потом оказалось, виной всему было протоколирование журнала транзакций в новый формат журнала.

новый формат журнала транзакций

Ранее журнал транзакций сохранялся в файл с расширением «1Cv8.lgf«, но вскоре разработчики решили изменить формат сохранения и сделали его во таким: «1Cv8.lgd«.

Для каждой базы данных журнал транзакций хранится в отдельном файле. Каталоги с файлами журналов хранятся по пути: «C:\Program Files (x86)\1cv8\srvinfo\reg_1541«. Каждая база хранится в папке с именем её идентификатор. В каждой такой папке есть папка «1Cv8Log«. И вот в этой папке хранится сам файл журнала транзакций. Читать далее…

Категория: 1С Предприятие 8.2

Не найдено ни одного сервера с размещенным сервисом

В общем была проблема: при запуске 1С Предприятие 8.3 зависало окно программы со стороны пользователя. При том, что конфигуратор работал вроде нормально. Проблема была в том, что технология записи журнала транзакций была не совершенна и возникала ошибка, которая приводила к полному отказу работы платформы 1С Предприятие.

Исправление проблемы:

1. Остановить службу сервера 1С Предприятие в апплете служб Windows.

2. Пройти в каталог с настройками кластера серверов по пути: C:\Program Files (x86)\1cv8\srvinfo\reg_1541\.  Далее найти папку с логами базы данных, которая «зависает». Определить её можно по идентификатору базы данных. Каталог с таки идентификатором будет идентичен идентификатору базы данных. Далее переместить каталог с логами базы данных в отдельный каталог.

3. Запустить службу 1С Предприятие в апплете служб Windows.

4. Убедится, что в каталоге кластера автоматически создались файлы логов.

5. Запустить платформу 1С Предприятие и начать работать.

6. Исследовать ошибку логирования на предмет ошибок дискового накопителя. Вполне может быть, что это повреждения накопителя. Это на всякий случай…

Признаться, я особо не исследовал причину появления такой проблемы. Логирование мне не было нужды хранить, а потому я просто удалил старые архивы журнала транзакций.

Категория: 1С Предприятие 8.2

Чтение XML — PCDATA invalid Char value

Парсить сайты — это всегда сложно. Написать универсальный парсер сайтов практически нереально. Я пару дней делал обработку, которая может принимать данные XML из программы Elbuz Content Creator и Elbuz PriceList Importer. Это могут быть каталог товаров, прайс лист цен поставщиков или конкурентов.

Так вот, я столкнулся с такой штукой. Если парсить сайты с помощью 1С, то это может закончится тем, что Вы не сможете это сделать из-за некоторых приколов с самим контентом. У меня произошел случай, когда в контенте попались символы BEL , DC2 , RS.

1С способна сама читать XML-файлы. Но именно с этими символами она ни в какую не хотела принимать данные. Эти символы не видны и лишь Notepad++ способен отобразить их в тексте через отображение всех символов, включая перевод каретки и прочие.

Символ BEL в недавнем времени один из самых используемых символов. Обычно, когда консоль встречала символ с кодом 7 (0x07), то выдавала звуковой сигнал.

Символ RS является разделителем записей в потоке данных. Этот символ вообще не выводится как визуальный символ, а лишь вызывает команду.

Символ DC2 — одна из команд управления устройством для чтения перфолент. Символ DC2 подает команду на включение перфоратора.

Исходя из выше написанного, можно с уверенностью сказать, что если Вы наставите этих символов в тексте описания товара, то такой текст спарсить в 1С не удастся 🙂

Категория: 1С Предприятие 8.2

Добавление колонок остатков товаров в табличную часть документа

Отображение остатков в табличной части

По идее, если брать обычный документ в 1С Предприятие, то можно добавить реквизит «Остаток» и туда заполнять каждый раз значение остатка номенклатуры на складе, но так делать неправильно: при каждом открытии документа будет осуществляться заполнение реквизита текущими значениями остатка на складе. Это приведет к тому, что документ каждый раз при закрытии придется перезаписывать, что по сути неправильно. Для этого необходимо в табличную часть добавить колонку, которая не будет связана с данными документа.

В моем примере я добавляю сразу несколько колонок про остатки для каждого склада по отдельности, включая резерв на выбранных складах в табличную часть списка подбора номенклатуры. Менеджеру удобнее видеть сразу все остатки по товарам, не прибегая к отчету «Ведомость остатков по складах» для того ,что узнать каково наличие на складе. Все сразу видно. Читать далее…

Категория: 1С Предприятие 8.2

Выбор цвета на форме и запись в реквизиты

25 февраля 2016 Нет комментариев

На форме элемента справочника имеется несколько реквизитов: Красный, Зеленый, Синий (число: неотрицательное, с диапазоном от 0 до 255).

При выборе цвета значения цвета в формате RGB заполняются в реквизиты элемента и записываются в справочник для хранения.

Процедура выбора цвета использует форму объекта  COMОбъект(«WScript.Shell») для выбора цвета.

После выбора цвет раскладывается по принципу RGB на три составляющие в числовом выражении и записывается в реквизиты. Функция РазложитьRGB() помогает получить три числа цвета и сформировать объект Цвет(), возвращая как результат своей работы.

 

Категория: 1С Предприятие 8.2

Неверный формат файла для загрузки информационной базы

Неверный формат файла для загрузки информационной базы

Проблема очень простая. Как правило, это касается базы, которые были выгружены в файл через пункт меню «Выгрузить информационную базу». Далее пользователь переносит этот файл с расширением *.dt в иное место или на другой компьютер. После запуска конфигуратора в другой конфигурации пытается загрузить файл с данными через пункт меню «Загрузить информационную базу», но в результате получает ошибку с сообщением «Неверный формат файла для загрузки информационной базы».

Решение: просто обновите версию платформы 1С Предприятие до той версии платформы, которая была на компьютере в момент выгрузки базы данных в файл. Например, у Вас есть компьютер. на нем установлена платформа 1С Предприятие версии 8.2.17.169, выгрузили базу, на другой компьютер ставим такую же версию платформы или более новую. Скажем, 8.3.7.1776. При таких манипуляциях все будет ок.

Скорее всего в структуре файла выгрузки произошли изменения и старые версии платформы не могут выгружать по новому формату. Вот и все!

Категория: 1С Предприятие 8.2