Показаны сообщения с ярлыком 1C. Показать все сообщения
Показаны сообщения с ярлыком 1C. Показать все сообщения

понедельник, 3 апреля 2023 г.

Добавить интерфейс в выбор для переключения

Интерфейс общий-  меню- сервис- интерфейсы- новый
У добавляемого интерфейса должен быть установлен флаг "переключаемый" 

четверг, 29 сентября 2022 г.

Подключение кассового оборудования через RDP- активные кассы создаются у всех пользователей! Решение

 Здесь

в обработке ТОСервер- Модуль объекта- ПолучитьИмяКомпьютераТО излагаем так:

Функция ПолучитьИмяКомпьютераТО() Экспорт ////**//стд //Если мИмяКомпьютера = Неопределено Тогда // мИмяКомпьютера = ВРег(ИмяКомпьютера()); //КонецЕсли; Если мИмяКомпьютера = Неопределено Тогда WSS = Новый COMОбъект("WScript.Shell"); WSSE = WSS.Environment("Process"); мИмяКомпьютера = ВРег(WSSE.Item("ClientName")); Если ПустаяСтрока(мИмяКомпьютера) Тогда мИмяКомпьютера = ВРег(ИмяКомпьютера()); КонецЕсли; КонецЕсли; //если зайти в терминальной сессии консольно, то получим "CONSOLE", // в этом случае применяем типовую функцию Если мИмяКомпьютера = "CONSOLE" Тогда мИмяКомпьютера = ВРег(ИмяКомпьютера()); КонецЕсли; //*/ Возврат мИмяКомпьютера; КонецФункции


Но! Нужна проверка на ОС, т.к. работаем через COM

// Возвращает Истина, если клиентское приложение запущено под управлением ОС Linux.
//
// Возвращаемое значение:
//  Булево. Если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоLinuxКлиент() Экспорт
#Если Клиент Или ВнешнееСоединение Тогда
СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоLinuxКлиент = СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86
             ИЛИ СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86_64;
#Иначе
УстановитьПривилегированныйРежим(Истина);
ЭтоLinuxКлиент = СтандартныеПодсистемыСервер.ПараметрыКлиентаНаСервере().Получить("ЭтоLinuxКлиент");
Если ЭтоLinuxКлиент = Неопределено Тогда
Возврат Ложь; // Нет клиентского приложения.
КонецЕсли;
#КонецЕсли
Возврат ЭтоLinuxКлиент;
КонецФункции

среда, 30 июня 2021 г.

Вернуть на поддержку элемент конфигурации 1С (боремся с последствием разработки не в 96dpi)

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

Конфигуратор- Поддержка- Настройка поддержки- "Сравнить, Объединить"

Находим нужные формы в эталонной конфе, ставим флаг, объединяем и делаем все в обратном направлении (стандартным возвращаем Основная, копии- удаляем).


среда, 31 марта 2021 г.

COMConnector и comcntr

regsvr32 "D:\Program Files (x86)\1cv8\8.3.16.1224\bin\comcntr.dll"
regsvr32 "D:\Program Files (x86)\1cv8\8.3.9.2033\bin\comcntr.dll"
regsvr32 "D:\Program Files\1cv8\8.3.17.1386\bin\comcntr.dll"
regsvr32 "D:\Program Files\1cv8\8.3.16.1224\bin\comcntr.dll"
Все эти команды не нужны если реестр почищен и 1с установлена правильно.
В правильно входит и то, что если используется сервер Виндовс, то нужно ставить его из специального, серверного (а не общего) дистрибутива. В нем есть отдельный компонент- COM-соединение

ВАЖНО!
В случае возникновения ошибки COMConnector "курильщика" не обязательно сразу чистить реестр. В начале следует попробовать Удалить регистрацию библиотеки comcntr.dll 

Удаление регистрации библиотеки comcntr.dll

regsvr32 "C:\Program Files (x86)\1cv8\8.3.18.1334\bin\comcntr.dll" /u

Если после ошибки несоответствия и удачной регистрации новой версии компоненты, COM обмен не работает, НЕ СПЕШИМ УДАЛЯТЬ СТАРЫЕ ВЕРСИИ 1С!
В начале удалим регистрацию предыдущей версии, затем нынешней (она ведь не принесла результатов).
Затем снова регистрируем новую.

Ошибка COMConnector "курильщика"
Ошибка при установке подключения ко второй информационной базе:
Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(8969)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // "V82.COMConnector"
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

Ошибка COMConnector здорового человека (после чистки реестра от старых версий comcntr и переустановки)
Ошибка при установке подключения ко второй информационной базе: Не удалось подключится к другой программе: {ОбщийМодуль.ОбщегоНазначения.Модуль(8461)}: Ошибка при вызове конструктора (COMObject)
COMConnector = Новый COMObject(ИмяCOMСоединителя()); // "V82.COMConnector"
по причине:
COM-объекты поддерживается только в операционных системах Windows


Где comcntr в реестре после установки клиента х32 и сервера х64

Значение=D:\Program Files (x86)\1cv8\8.3.16.1224\bin\comcntr.dll
Компьютер\HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32 - после установки сервера значение изменилолсь на серверное!
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32


Значение=D:\Program Files\1cv8\8.3.16.1224\bin\comcntr.dll
(добавились после установки сервера)
Компьютер\HKEY_CLASSES_ROOT\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32
Компьютер\HKEY_CLASSES_ROOT\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win32
Компьютер\HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8464F3A3B6F3E44AE0EE4805F4EB40
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\TypeLib\{98AC3B5B-5323-418F-8F07-E32F231D2393}\1.0\0\win32

среда, 3 марта 2021 г.

Установка 1С 8.x при помощи GP

На ИТС
Описано кратко. Полный текст.
При установке через групповые политики для указания языка установки нужно указывать соответствующий языковой файл трансформации. Имена файлов соответствуют десятичному представлению LCID Microsoft Windows (с расширением .mst). Файл трансформации для русского языка называется 1049.mst.
Кроме этого, дополнительно нужно указать файл трансформации adminstallrestart.mst. В этом случае система «1С:Предприятие» при несовпадении версий клиента и сервера будет предлагать перезагрузку компьютера для установки новой версии. Администратор должен позаботиться, чтобы новый дистрибутив уже был добавлен в групповых политиках.
С использованием групповых политик можно устанавливать несколько версий «1С:Предприятия». Для установки новой версии необходимо создать новую установку в групповых политиках.

Опишу более развернуто.
Данный процесс можно разделить на несколько этапов и самый "протокольный" из них- Настройка GPO для добавления пакета инсталляции. Собственного его и опишем.

О предыдущих этапах.
1. Установочный пакет располагаем в сетевой папке (можно с доступом только на чтение).
Важно! На сетевую папку нужно дать полные права Компьютерам домена (компьютерам(!), а не пользователям)
2. Создаем OU (например Deploy) в которое помещаем необходимые компьютеры (Windows  Server 2003-2012).
3. Назначаем этому OU политику.
4. Настраиваем GPO.

а). В редакторе групповых политик (Конфигурация компьютера) щелкаем правой кнопкой по узлу «Установка программ»- Создать- Пакет

б). В появившемся окне диалога открытия файла находим и выбираем на сетевом ресурсе с административной установкой msi-пакет. После открытия этого пакета мы увидим следующее окно:


В этом окне мы должны выбрать «особый» метод развертывания, т.к. мы собираемся использовать файлы модификации (.mst).

в) на вкладке «Модификации» выбираем необходимые mst- 1049 и adminstallrestart
(ИТС:
"При установке через групповые политики для указания языка установки нужно указывать соответствующий языковой файл трансформации. Имена файлов соответствуют десятичному представлению LCID Microsoft Windows (с расширением .mst). Файл трансформации для русского языка называется 1049.mst.
Кроме этого, дополнительно нужно указать файл трансформации adminstallrestart.mst. В этом случае система «1С:Предприятие» при несовпадении версий клиента и сервера будет предлагать перезагрузку компьютера для установки новой версии. Администратор должен позаботиться, чтобы новый дистрибутив уже был добавлен в групповых политиках.
С использованием групповых политик можно устанавливать несколько версий «1С:Предприятия».
Для установки новой версии необходимо создать новую установку в групповых политиках.")



г) если используем дистрибутивы х86 и х86-64, то на вкладке "Развертывание" нажимаем кнопку "Дополнительно" и снимаем флаг "Сделать это х86 приложение доступным для компьютеров с архитектурой Win 64"

Дополнение. Путь к файлам ibases.v8i (список баз) и 1CEStart.cfg (файл параметров запуска)-
C:\Users\[User name]\AppData\Roaming\1C\1CEStart - для Vista и 7

понедельник, 9 ноября 2020 г.

Фоновые задания (и планировщик заданий)- найти информацию о ошибках. Журнал регистрации!

Выполнение фоновых заданий и наличие ошибок можно в журнале регистрации. 
В фильтре "Приложения:" ставим отбор «Фоновое задание».
Соответственно можем использовать и фильтр  "Важность:"   (например «Ошибки»).

вторник, 20 октября 2020 г.

1С:Бухгалтерия 8 редакции 2.0 ПРОФ: ограничение поддержки– до 1 апреля 2022 года

https://1c.ru/news/info.jsp?id=27656

Для выполнения перехода на редакцию 3.0 необходимо установить последнюю официальную версию конфигурации редакции 3.0. Также потребуется последняя официальная версия редакции 2.0 (пользователям, у которых установлена более ранняя версия, необходимо предварительно выполнить обновление конфигурации до последней официальной версии). Необходимая для работы конфигурации версия платформы "1С:Предприятие" указана в файле "Новое в версии", входящем в поставку конфигурации. Полный дистрибутив редакции 3.0 и дистрибутив обновления, дистрибутивы редакции 2.0, а также дистрибутивы платформы "1С:Предприятие" доступны в сервисе "1С:Обновление программ" на портале 1С:ИТС по адресу portal.1c.ru. Перечисленные дистрибутивы также можно получить через партнеров фирмы "1С". Методики перехода на редакцию 3.0 включены в поставку конфигурации.

Переход на редакцию 3.0 выполняется путем обновления редакции 2.0 конфигурации средствами конфигуратора. При этом сохраняются все накопленные учетные данные. Подробная инструкция по переходу включена в поставку редакции 2.0, доступна в составе методической поддержки 1С:ИТС http://its.1c.ru/bmk/bp30/upgrade, а также в сервисе "1С:Обновление программ" на портале 1С:ИТС по адресу portal.1c.ru.

Кроме того, пользователи редакции 2.0 конфигурации "Бухгалтерия предприятия", имеющие договор 1С:ИТС ПРОФ, могут сразу перейти к использованию редакции 3.0 в сервисе "1С:Предприятие 8 через Интернет" (1С:Фреш). Перенос данных из редакции 2.0 в информационную базу приложения "1С:Бухгалтерия 8", развернутую в сервисе "1С:Предприятие 8 через Интернет", также происходит с сохранением накопленных учетных данных, инструкцию по переходу см. https://1cfresh.com/articles/howto-move-data-to-service.

Обращаем внимание, что при переходе на облачную "1С:Бухгалтерию" пользователи, имеющие договор 1С:ИТС ПРОФ, сохраняют возможность одновременного использования локальной "1С:Бухгалтерии" и ее обновлений, а также могут синхронизировать облачную и локальную информационные базы.

Перенос данных из локальной базы "1С:Бухгалтерии 2.0" в облачную "1С:Бухгалтерию" в сервисе  1С:Фреш:

  • Если у пользователя используется типовая оригинальная (не кастомизированная) конфигурация "1С:Бухгалтерия", редакция 2.0, то после подключения к сервису 1C:Фреш пользователь  самостоятельно может перенести свои учетные данные. Для этого в соответствии с инструкцией (https://its.1c.ru/db/upgrade1c/content/4/hdoc) нужно обновить конфигурацию до актуальной версии редакции 3.0, а затем с помощью "Мастера перехода в облако" (https://1cfresh.com/downloads/platform/MoveToCloudWizard.epf) продолжить работу в сервисе 1cfresh.com.
  • Если в конфигурацию информационной базы вносились изменения, то рекомендуем обратиться к обслуживающему партнеру для анализа необходимых работ по обновлению до актуальной версии редакции 3.0 конфигурации "Бухгалтерия предприятия". В этом случае сделанные доработки нужно будет перенести в расширение конфигурации, обновить информационную базу до актуальной версии редакции 3.0 и загрузить в сервис 1cfresh.com информационную базу клиента и разработанное расширение конфигурации.
  • Если у пользователя были сделаны масштабные изменения конфигурации, рекомендуем обратиться к обслуживающему партнеру для анализа необходимых работ по обновлению до актуальной версии "1С:Бухгалтерии" редакции 3 и переноса сделанных доработок. При этом возможно, что для работы с облачной "1С:Бухгалтерией" партнер перенесет базу пользователя в принадлежащее фирме "1С" облако "1С:Готовое рабочее место" (1С:ГРМ), которое предназначено специально для работы с сильно измененными конфигурациями. Стоимость просьба уточнять у  партнеров фирмы "1С".

вторник, 19 мая 2020 г.

Установка серверов 1С (и включение отладки, если сервер не установлен как сервис) и Postgres на Linux, Windows

Установка нескольких экземпляров сервера 1С:Предприятия.


Установка сервера 1С на Windows и включение отладки 

Сама процедура не вызывает вопросов. Но..
Если сервер будет использоваться в тестовых целях и будет использоваться несколько версий, то удобнее всего снять флаг Установить сервер 1С:Предприятия как сервис Windows 
После этого мы можем запускать ту версию, какая нам нужна. И..
В строку запуска сервера добавим ключ -debug ("D:\Program Files\1cv8\8.3.16.1224\bin\ragent.exe" -debug) и пользуемся отладкой на сервере!

Важные замечание для обновления версии сервера 1С (Windows).
1. Очевидно, что перед обновлением нужно остановить сервис сервера 1С.
2. Если на компьютере существует установленная версия «1С:Предприятия» с сервером, установленным в качестве сервиса ОС Windows, то программа установки переустановит сервис.

Параметры запуска агента сервера «1С:Предприятия»
ПараметрОписание
  -port <порт>Номер сетевого порта агента сервера (ragent). Этот порт используется консолью кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве сетевого порта рабочего сервера.Значение по умолчанию: 1540.
  -regport <порт>Номер сетевого порта главного менеджера кластера (rmngr), создаваемого по умолчанию при первом запуске ragent.Значение по умолчанию: 1541.
  -range <диапазоны>Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.Значение по умолчанию: 1560:1591.
  -debugЗапуск кластера серверов в режиме отладки конфигураций.
  -d <каталог>Каталог, в котором будут расположены (или располагаются) служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера). Если путь к каталогу содержит пробелы, путь нужно заключать в кавычки, но в этом случае имя каталога не должно завершаться символом «\».Значение по умолчанию: %LOCALAPPDATA%\1C\1Cv8 (%USERPROFILE%\Local Settings\Application Data\1C\1Cv8 для Windows XP и Windows Server 2003).
  -seclev <уровень>Уровень безопасности процесса агента кластера. Определяет уровень безопасности соединений, устанавливаемых с процессом ragent. Уровень может принимать значения:
  • 0 – соединения незащищенные;
  • 1 – защищенные соединения только на время выполнения аутентификации пользователей;
  • 2 – постоянно защищенные соединения.
Значение по умолчанию: 0.
  -instsrvcРегистрация агента кластера как сервиса Windows. Если ragent запущен с этим ключом, то он выполняет регистрацию в списке сервисов Windows и завершается.Ключ -instsrvc несовместим с ключом -rmsrvc.
  -rmsrvcОтмена регистрации агента кластера как сервиса Windows. Если ragent запущен с этим ключом, то он отменяет свою регистрацию в списке сервисов Windows и завершается.Ключ -rmsrvc несовместим с ключом -instsrvc.
  -usr <имя>
-pwd <пароль>
Имя и пароль пользователя Windows, от имени которого должен запускаться ragent как сервис Windows. Могут использоваться только совместно с ключом -instsrvc при регистрации ragent как сервиса Windows.
  -srvcЗапустить процесс ragent как сервис Windows и передать управление менеджеру сервисов.
  -startЗапустить ragent, зарегистрированный как сервис Windows. Выполняет запуск ragent, ранее зарегистрированного как сервис Windows, после чего завершается.
  -stopОстановить ragent, зарегистрированный и запущенный как сервис Windows. Выполняет остановку ragent, ранее зарегистрированного и запущенного как сервис Windows, после чего завершается.
  -agentИспользовать как Агент сервера «1С:Предприятия»
Название и значение параметра должны разделяться символом «пробел».
Запуск агента сервера «1С:Предприятия»
При запуске агент сервера выполняет поиск списка зарегистрированных на данном компьютере серверов, используя переданные ему при запуске параметры. Если список кластеров найден, агент получает от них информацию о рабочих процессах, которые должны быть запущены в каждом из кластеров и выполняет их запуск.
Если список кластеров не обнаружен, агент создает кластер по умолчанию. Кластер по умолчанию имеет следующие характеристики:
  • Номер сетевого порта — 1541;
  • Диапазон сетевых портов — 1560:1591;
  • Поддержка многих рабочих процессов выключена;
  • Один рабочий процесс, номер порта устанавливается из указанного диапазона.
Агент сервера может быть запущен и как служба и как приложение.
Запуск агента сервера «1С:Предприятия» как приложения
Для запуска агента сервера как приложения нужно выполнить команду ragent.exe со следующими возможными параметрами (если какой-либо параметр не указан, будет использовано значение по умолчанию):

Остановка агента сервера, запущенного как приложение, выполняется нажатием клавиш Ctrl + C.
Запуск агента сервера «1С:Предприятия» как службы
Если при установке сервера «1С:Предприятия» был выбран вариант запуска агента как службы, то данная служба будет зарегистрирована и запущена автоматически, а также будет запускаться при старте операционной системы.
agenta-servera-1spredpriyatiya-8-3-i-ego-parametry-zapuska_01


Если агент сервера был установлен как приложение (а также в случае удаления службы), существует возможность зарегистрировать службу вручную, а затем выполнить ее запуск. Для регистрации службы необходимо выполнить команду ragent.exe со следующими возможными параметрами (если какой-либо параметр не указан, будет использовано значение по умолчанию):
ragent.exe -instsrvc -usr <имя> -pwd <пароль>
-debug
-port <порт> -regport <порт> -range <диапазоны>
-seclev <уровень> -d <каталог>

Для отмены регистрации службы (удаления службы) необходимо выполнить команду:
ragent.exe -rmsrvc
Для запуска службы выполняется команда:
ragent.exe -start
Для остановки службы, команда:
ragent.exe -stop

Установка сервера 1С на Debian
ЗАМЕНА ВЕРСИИ ПРОИСХОДИТ АНАЛОГИЧНО.

sudo apt-get update 

Установка зависимостей 1С
sudo apt-get install imagemagick (с версии 8.13 в дистрибутиве. Не устанавливать?)
sudo apt-get install libgsf-1-114
sudo apt-get install libglib2.0
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install unixodbc

Распаковывем в Win (к примеру 7zip) оставляем только пакеты 1c-enterprise83-common и 1c-enterprise83-server, а также соответвующие им nls-пакеты. Удобно передавать на Linux машину при помощи программы WinSCP, если используется WSL то путь /mnt/

Открываем каталог при помощи mc (убрать "синее окно" Ctrl+O (буква)) или командой cd (cd ~/Загрузки/deb64)

sudo dpkg -i *.deb

sudo apt-get -f install

sudo service srv1cv83 status


Установка клиента 1С
cd ~/Загрузки/client.deb64
sudo dpkg -i *.deb


Если есть проблемы при установке пакетов или при запуске появляется "ошибка загрузки компоненты frame" то еще раз
sudo apt-get -f install


Установка Postgres
(зависимость)
cd ~/Загрузки
sudo dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb


(пакеты)
cd ~/Загрузки/postgresql-9.4.2-1.1C_amd64_deb
sudo dpkg -i libpq5_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-client-common_154.1.1C_all.deb
sudo dpkg -i postgresql-common_154.1.1C_all.deb
sudo dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb




Установка пароля суперпользователю СУБД postgres.

Открываем /etc/postgresql/9.4/main/pg_hba.conf и найдем в нем строку:

local all postgres peer

и приведем ее к виду:

local all postgres trust

Перезапустим службу:
service postgresql restart

Теперь установим пароль командой:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"

где password - желаемый пароль


service postgresql restart

четверг, 7 мая 2020 г.

Клиент 1С для OS X. Удаление и драйвер для HASP

Удаление.
Переход в корень OS X
cd /

Удаление клиента 1С для OS X
cd /opt/1cv8/8.3.xx
sudo user uninstall.sh

Драйвер HASP.
Уже 8.3.9 (и все еще в 8.3.17- версия 7.103) после установки можем найти в системном каталоге
/opt/1cv8/8.3.хх.хххх/Sentinel_Runtime_Installer_Scripts.dmg
на сайте поддержки 1с (появились 14.11.2017)
тут (оффсайт, закладка HASP HL)

среда, 22 апреля 2020 г.

БП 2.0 Контактная информация Контрагента

Обнаружилась ситуация, что у контрагентов в БП 2.0, в карточке, отсутствуют юридические адреса.

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



пятница, 24 января 2020 г.

СКД. Мощный пост


1.
Необходимо в настройках добавить системное поле "Номер по порядку" и для групп тоже (см. пример на картинке). И так для каждой группировки которую необходимо нумеровать. 


























2.

Отображение итогов (по ресурсам) на нужном уровне группировки.

Для этого разворачиваем авто поля и убираем не нужные
 Получаем:
 Снимаем флаг с ресурса


3.

Суммирование значений (или исключение из суммы- как угодно) на различных уровнях группировок.

Если кратко- в Выражении ресурса используем функцию
ВычислитьВыражениеСГруппировкойМассив

В моем отчете Затраты выражение выглядит так:
Сумма(ВычислитьВыражениеСГруппировкойМассив("СуммаОборот","Регистратор"))


Результат- исчезла суммация итогов в нижних уровнях иерархии, что искажало общий итог

О функциях языка выражений СКД подробнее- Руководство разработчика 8.3 (2015) пп. 10.3.4.11 (стр. 645)

вторник, 30 апреля 2019 г.

УНФ: первые впечатления

Все очень удобно (в отличии от УТ 11) и логично!
Приятно работать!!

Особенности:
1. Установка цен происходит обработкой Ценообразование.
Отсюда два вопроса:
1.1 Права работы с ней (видимо все будет ОК)
1.2 История установок цен и главное- ответственных

Уже исправлено:
Начиная с версии 1.6.17 (25.03.2019) появилось появилось Резервирование на нескольких складах в одном заказе
Переключайте расположение склада резерва в Заказе покупателя и Заказ-наряде, используя команду Шапка/табличная часть кнопки Еще или контекстного меню.


вторник, 16 апреля 2019 г.

Расширения формы в управляемом приложении

После появления Расширений Конфигурации найти определение Расширений Форм не представляется возможным!

Расширение формы- дополнительные параметры управляемой формы (к примеру- ЭтоГруппа у справочника).
Набор параметров, поставляемых расширением формы, различается в зависимости от типа (основного реквизита) формы (справочника, документа, отчета..)

Суть дана в книге Разработка управляемого интерфейсаЧасть 3. Программирование формГлава 3.3. Открытие формФорма группы

Существовали и "обычных" формах в виде "Расширения элементов управления, расположенных в форме" 

понедельник, 29 октября 2018 г.

Перехватить формирование отчета с СКД, изменить параметры печати

Раздел: Компьютер - Windows - 1С - Готовые решения

Ответ 1
Делаешь свою кнопку и вперед.
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ОстаткиТоваровОстаткиИОбороты.Склад,
| ОстаткиТоваровОстаткиИОбороты.Номенклатура,
| ОстаткиТоваровОстаткиИОбороты.КоличествоНачальныйОстаток,
| ОстаткиТоваровОстаткиИОбороты.КоличествоПриход,
| ОстаткиТоваровОстаткиИОбороты.КоличествоРасход,
| ОстаткиТоваровОстаткиИОбороты.КоличествоКонечныйОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.ОстаткиИОбороты КАК ОстаткиТоваровОстаткиИОбороты";
ТЗ=Запрос.Выполнить().Выгрузить();
ВнешнийНабор=Новый Структура("Наборчик",ТЗ);
// схема компановки из реквизита отчета
СКД=ЭтотОбъект.ПолучитьМакет("ЧерезНабор"); // получим схему из макета
// настройка из схемы по умолчанию
НастройкаСКД=ЭтотОбъект.КомпоновщикНастроек.Настройки; // текущие настройки
// компоновщик макета из схемы и настроек порождает макет
КомпоновщикМакетаКомпоновкиДанных=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных=КомпоновщикМакетаКомпоновкиДанных.Выполнить(СКД, НастройкаСКД) ;
// процессор из макета делает себя самого
ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,ВнешнийНабор);
// прцессор вывода порождает ТД
ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ЭлементыФормы.Результат.Очистить();
ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент.УстановитьДокумент(ЭлементыФормы.Результат);
ТД=ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент.Вывести(ПроцессорКомпоновкиДанных);
ТД.Показать();

//*********************************
//А еще можно через ЭлементыФормы. Пример из "Отчета по кассе" переменные не совпадают с приведенными в примере
//*********************************

ЭлементыФормы.Результат.Очистить(); ВнешниеНаборыДанных=Новый Структура; ВнешниеНаборыДанных.Вставить("ОстаткиПоКассам",ОстаткиПоКассам); КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных; Настройки=КомпоновщикНастроек.ПолучитьНастройки(); МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки); ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат); ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультата=ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата=Неопределено Тогда Прервать; Иначе ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); ////Установим параметры страницы. Или сохраним настройки //ЭлементыФормы.Результат.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; //ЭлементыФормы.Результат.АвтоМасштаб=Истина; ЭлементыФормы.Результат.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ж1"; // ЭлементыФормы.Результат.Показать();

Ответ 2
ПриКомпоновкеРезультата() ("живёт" в модуле объекта) для этого предназначена, и форму можно не делать.
Но вызывается она только СТАНДАРТНОЙ кнопкой
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

ДокументРезультат.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт; ДокументРезультат.АвтоМасштаб=Истина; ДокументРезультат.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_МО";
Настройки = КомпоновщикНастроек.Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры


вторник, 25 сентября 2018 г.

УТ 11. Вынужденные лайфхаки (собственные) и чего не хватает УТ11 по сравнению с УТ10.3 (из публикации 2012 года)

1. При выборе настройки Закупки- (использовать) Соглашения с поставщиками, необходимо в настройках предприятия установить Несколько валют, а затем устанавливать валюту в Соглашении. Иначе возникает ошибка «Запись не верна! Значение поля "Валюта" не может быть пустым! (Регистр накопления: Расчеты с поставщиками»

Чего не хватает УТ11 по сравнению с УТ10.3 
Сравнение написано на основании публикации мая 2012 (!) года.
По мере собственного изучения и изменения решения буду изменять.



    1. Узнать проведён ли документ или нет теперь совсем не тривиальная задача.  Нигде в документе это не указано. "Найти в списке" теперь так: Еще- Показать в списке- и как правило выбор из нескольких вариантов.
    2. В справочнике Номенклатура теперь нет остатков и цен. Совсем.. Люди дописывают через расширения и не только (изменение динамического списка)

    I) УТ 11 - решение на управляемых формах. Хочется написать "со всеми вытекающими". Если более детально:
    1) Помните замечательную возможность ещё с 7.7 "Поиск по строке" в формах списков справочников? Теперь её нет. Теперь её заменили на "поиск" он же "отбор" в отдельном окошке. Мы с Вами конечно понимаем зачем это. Концепция тонкого клиента не позволяет так позиционировать строку в списке при наборе наименования, да и ресурсов это "съедает" ужасно много. Но пользователям это объяснить намного труднее. Почему новая система стала менее удобной?
    2) Помните возможность "найти в списке" для каждого объекта? Теперь такой нет. А вот когда её нет, вдруг вспоминаешь, как она нужна была...
    3) Не работают все обработки написанные для обычного приложенияВ т.ч. те, которые размещены на диске ИТС. (загрузка данных из табличного документа, консоль отчетов) и т.п. Конечно их можно запустить в режиме обычного приложения. Но конфигурация не предназначена для работы в этом режиме, поэтому результат, сами понимаете... не всегда может оказаться таким, какого ожидали.

    4) Нет "групповой обработки справочников и документов" (есть некоторые варианты). Как следствие невозможна и групповая печать документов, которой регулярно пользовались. Подобие некоторое этой обработки есть. Но функционально оно основано на выделении объектов, которые нужно изменить. Очевидно что в большинстве случаев это не устроит

    5) нет "изменения табличной части товары". Замечательной возможности, которой все пользовались - "добавить из документа", "изменить цену на %", "удалить строки" и т.п. Видимо сложно перенести на управляемые формы оказалось.

    6) нет итогов по ТЧ "товары" в документахНе предусмотрены они для управляемой формы. для каких-то колонок выведены отдельно. Но колонка "количество" почему-то в таковые не вошла. Сделать итоги можно, но при этом управляемые формы уже перестают "оптимизировать клиент-серверное взаимодействие".

    II) УТ 11.0 это ещё не законченное решение. Ведётся его активная разработка.Как следствие недоработок куча. Часть скорее всего исправят. С другой частью со временем придумаем как бороться.  Самые на мой взгляд критичные: 

    • dr2c точно остались "в силе":       

    1. dr2c не проверял:    


    1. Серий номенклатуры больше нет. Если кто использовал в методике учета ещё один разрез теперь придётся что-нибудь изобретать.        
    2. РАУЗ. Он теперь единственно возможный вариант учета.  Так что аналитикам можете смело объявить что анализа "сколько прибыли мы получили из продажи товара этой поставки" теперь нет, да и вообще про всю аналитику в разрезе поставки можно забыть.
    3.        Закрытие периода. Это какая-то частичная процедура. Полного закрытия периода не существует. Не знаю вообще как решение с отсутствием данного функционала можно было выпустить в продажу.
    4.        Себестоимость вы можете получить только "бухгалтерскую". Т.е. если используется (штатная в УТ 11) схема перепродажи между собственными организациями, все движения товара внутри компании влияют на себестоимость. Так же без НДС себестоимость посчитать нельзя. Кроме того, фонового задания для расчета себестоимости нет.
    5.        Курс валюты в документах указывать нельзя. Всегда продаём по ЦБ :).  Да собственно вообще с валютными операциями всё "туго"
    6.       Внешними обработками заполнения табличных частей теперь пользоваться не реально.  Добавляются только в шапку документа. Весьма странная кнопка. Работать с документом тоже целая история...
    7.        Если у вас вдруг случилась филиальная сеть и вы используете БП КОРП для ведения БУ, то обмен вам придётся писать самому - не предусмотрен он...
    8.        Значения по умолчанию. Нет такого понятия, всё заполняете "ручками". Собственно отказались с какой-то целью. Решили что пользователи и "так справятся". При работе из браузера конечно есть авто подстановка... Но не всегда это решение проблемы.
    9. Цены на характеристики. Нельзя теперь их использовать и цены на них не ставить. Даже если у вас всегда на все характеристики одна цена, устанавливать её упорно придётся.
    10. Счет без основания уже просто выставить нельзя. А нужно обязательно "заморочиться".
    11. Возвратная тара- теперь возможности её учета нет.
    12. Учет материалов (не товара) теперь вести как-то проблематичноОприходовать по 0 цене уже нельзя.
    13. Функционал WMS выглядит не законченным.  Вроде как есть он, а вроде как и нельзя им пользоваться - неудобно, возможности работы с ТСД нет. А как без работы с ТСД организовать адресное хранение не совсем понятно.
    14. Разделение на контрагентов и партнёров существенно усложняет обмен с бухгалтерией и другими системами. Там ведь партнёров нет... и понять что куда иногда совсем не простая задача.



    III)   УТ 11 решение для дистрибьюции и оптовой торговли.      Это не маркетинговое заявление 1С. Это общая направленность конфигурации. Собственно стоит только обратить на это внимание как всё сразу становится на свои места. Все дальнейшие пункты отличий в этом разделе, по сути, являются лишь следствием этого основного различия конфигураций УТ 11 и УТ 10.3. В УТ 10.3 пытались охватить все процессы торгового предприятия, естественно без погружения в детали. В УТ 11 углубились в сторону процессов оптовой компании, при этом оставив без внимания прочие возможные варианты использования. Собственно можно просто прочитать http://v8.1c.ru/trade/index.htm и это становится ясно. При этом полноценным Back решением для Розницы УТ 11 навряд ли может стать без доработок.

          1) Механизм скидок, дисконтных карт, маркетинговых мероприятий. Дисконтных карт нет. Ну вот просто нет их в УТ 11 как-то. Автоматически скидки есть, но в самом простом варианте - за      период, на конкретные позиции, конкретным контрагентам (партнёрам).

          2) "Замечательный и удобный" реквизит  "состояние" в каждом документе. Который должен выбирать каждый раз руками каждый пользователь. А если забудет - документ проведётся и движений не сделает. Конечно для большой организации с кучей бюрократии это хорошо. А для "обычной"? Никакой возможности этот "статус" поставить группой не предусмотрено в систему.

          3) "очень удобный" подбор товаров. Фильтра по остаткам теперь нет - как то решили в 1С что медленно он работает. Цен тоже почему-то нет (не нужны может). Поиск товара теперь полнотекстовый, т.е.
    - задание по обновлению индекса должно работать постоянно,
    - новый товар сразу в поиске не найдете,
    - нельзя теперь написать "чёрный", нужно писать "черный*".
    В случае когда у вас несколько заказов в день, это конечно не играет особой роли, а вот если реальная розница...

           4) Количество обязательных для заполнения реквизитов в документах увеличилось. Это конечно сделано с благими намерениями, а именно - вывести на новый уровень блок финансов и планирования. Вот только если вдруг вы их не используете "дату платежа" и "дату планируемого поступления" вам всё равно придётся заполнять в каждом документе.


    IV) Ключевые преимущества. Все они, за исключением ВИДОВ НОМЕНКЛАТУР, напрямую к торговле не относятся.
    19.11.2015  (dr2c) 15:37 Буквально минуты назад вышел официальный релиз технологической платформы 8.3.7(1759). На момент написания источника был актуален 8.2.14 Поэтому появилось еще одно преимущество:
    -1) Работа с мобильными приложениями

    0) (было доступно и на 8.2)  web и тонкий клиент. 
    Об этом пункте скажу (dr2c) подробнее.
    При выходе платформы 8.2, чьим основным (интерфейсным) нововведением стали управляемые формы, главным новым функционалом провозглашались именно web и тонкий клиент. Все жертвы были принесены на их алтарь. Что мы видим спустя 6-ть лет (!)? Данный функционал крайне редко используется ибо даже там где он актуален (работа крупных поставщиков с постоянными клиентами в ИБ поставщика) как правило используются сторонние (более совершенные и позволяющие сохранить возможность работы обычных (не управляемых) форм) решения.
    Пример лично мой- доступ к ИБ МеталлоПрофиль осуществлен посредством Citrix XenApp к базе на обычных формах.

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

    2) Индивидуальные ценовые условия клиента. Реализовано красиво и понятно. 

    3) Блок финансов и планирования. Существенно расширен стало намного лучше. появилась возможность получить полноценный финансовый результат. Существенный шаг вперёд.

    4) Перепродажа между собственными организациями. Автоматизирована теперь. Называется "схема интеркомпани". С ней ещё конечно работать и работать, но уже позволяет снять существенную часть нагрузки.

    5) Механизм ценообразования. Стал очень мощным и "хитрым" - использование СКД и формул при расчете цен предоставляет существенную гибкость.

    6) Виды номенклатуры - возможность задавать "обязательность" заполнения доп. реквизитов для вида номенклатуры, заведения характеристик для вида номенклатуры. В общем- достаточно серьёзный инструмент.

    7) Возможность задания наименований справочников по формулам.

    8) Возможность редактирования макетов печатных форм в пользовательском режиме, включая макеты этикеток и ценников

    9) Все отчеты на СКД. В принципе с отчетами стало удобнее работать.

    10) Расширились возможности администрирования. В частности - удобный инструмент работы с журналом регистрации и подсистема версионирования объектов.

    11) Существенно улучшена система прав доступа. Теперь права можно расставлять галочками на разные "самые неожиданные" функциональные блоки. Формировать произвольные группы доступа и назначать их пользователям.