К основному контенту

Сообщения

Сообщения за 2018

DisableUnsafeActionProtection

Старо как мир. Но сегодня запнулся на этом. Для отключения защиты от небезопасных действий, например при открытии внешних обработок, необходимо добавить параметр DisableUnsafeActionProtection в conf.cfg - ниже пример отключения предупреждения для всех ИБ Если параметр оформлен не корректно, то при запуске 1С приложения пользователь будет получать ошибку запуска, что-то про регулярные приложения. В первых статьях, которые нашел, как раз, был некорректный пример оформления. notepad 'C:\Program Files\1cv8\conf\conf.cfg' DisableUnsafeActionProtection=.*;

СписокВыбора и Представление выбранного значения

Для элемента формы "всё просто" представление используется из СпискаВыбора элемента, если установлено свойство РежимВыбораИзСписка. Для элементов формы -  полей ТаблицыФормы необходимо программно задать УсловноеОформление  формы ( не забываем, что для формы УсловноеОформление доступно только на сервере ), иначе представление значений после выбора из списка будет "по-умолчанию". (проверено вплоть до 8.3.12.1616)

Подборка статей "Анатомия платформы" 2014-2015 гг.

Набрел на ресурс\сайт  http://1sprogress.ru/   на сайте нет новых публикаций уже год или более, так же тишина в тематической группе в vk , но всё фундаментальное меняется редко, поэтому разбор работы платформы 2014-2015 гг выпуска думаю будет и посей день актуален. Автор разбирает работу классическую связку 1С + MSSQL Анатомия платформы Анатомия платформы. Как устроен динамический список. Анатомия платформы. Структура хранения констант Анатомия платформы. Что такое агрегаты и зачем они нужны Анатомия регистра накопления. Виртуальная таблица "Обороты" Анатомия регистра накопления. Виртуальная таблица "Остатки" Анатомия регистра накопления. Виртуальная таблица "ОстаткиИОбороты" Анатомия регистра накопления. Внутреннее устройство и структура хранения. Все что вы хотели знать про временные таблицы, но не знали Как ускорить реструктуризацию в 1С?

Выделение цветом синтаксических конструкций. Текущий и выбранный идентификаторы

Конфигуратор \ Параметры \ Модули \ Редактирование \ Выделение цветом

ОткрытьФорму и "ничего не происходит"

Вводная перешли с 8.3.11 на 8.3.12 после отключения совместимости фрагмент кода ниже перестал открывать требуемую форму из другой ( справедливо для клиент-серверного варианта проверить файловый вариант ИБ не было возможности ) &НаКлиенте Процедура СписокВидовДоговоровВыборЗначения ( Элемент , Значение , СтандартнаяОбработка ) // . . . ОткрытьФорму ( "Справочник.ДоговорыКонтрагентов. ФормаОбъекта " , ПараметрыФормыДоговора , ЭтаФорма . ВладелецФормы , , , , , РежимОткрытияОкнаФормы . Независимый ) ; ЭтаФорма . Закрыть ( ) ; КонецПроцедуры

СКД и СокрЛП (внешние отчеты, типовая, или БСП)

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

для выполнения отладки необходимо включить поддержку tcp/ip

Столкнулся с проблемой при старте отладки из конфигуратора для выполнения отладки необходимо включить поддержку tcp/ip  Проблема не новая, решение взял здесь  Явно задал порты для отладки через файл  debugcfg.xml <config   xmlns =" http://v8.1c.ru/v8/debugcfg " > <debugports   range =" 1540:1550 " /> </config> файл необходимо поместить в каталог bin\conf "проблемного" релиза платформы, например, C:\Program Files\1cv8\8.3.11.2954\bin\conf Скорее всего проблемы локальные, впрочем брандмауэр отключен, перезапуск\перезагрузка всего выполнялась, сброс кешей платформы и сервера приложений так же. В итоге помог только файл.

СКД. Граница периода

документацию читать надо и пробовать:  Параметр = КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( Новый ПараметрКомпоновкиДанных ( "Период" )); Граница = Новый Граница ( КонецДня ( Дата ), ВидГраницы . Включая ); Параметр . Значение = Граница ; Параметр . Использование = Истина ; всё четко работает (с)  I_G_O_R или в выражении параметра Период (тип Дата) указать конструкцию ВЫБОР &Период КОГДА ДатаВремя(1,1,1) ТОГДА ДатаВремя(1,1,1)  ИНАЧЕ ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&Период, "ДЕНЬ"), "СЕКУНДА", 1) КОНЕЦ (с)  http://www.spec8.ru/d08m12-lastsec   ,  Видео урок из статьи Всё это обусловлено тем, что остатки виртуальной таблицы получаются на начало секунды, тем самым при проведении документов мы будем получать актуальные остатки на момент перед датой документа, а не после.

СКД. Группировка доступных полей компоновки

Кто плотно работает с СКД такое знает, а я если и знал, то забыл. Для группировки полей СКД в произвольные группы достаточно в Пути поле набора данных СКД указать значение через точку, например "РабочееМесто.Должность" или даже "РабочееМесто.ВыплатаАванса.Аванс", для установки произвольных заголовков следует описать Папки

УправляемоеПриложение.Поиск открытой формы по идентификатору

&НаКлиенте // Найдет управляемую форму по Уникальному идентификатору среди открытых // // Параметры: // УникальныйИдентификатор - УникальныйИдентификатор - Уникальный Идентификатор формы // Отказ - Булево - Будет содержать признак отказа выполнения метода // // Возвращаемое значение: // - УправляемаяФорма, Неопределено - Функция НайтиУправляемуюФорму(УникальныйИдентификатор, Отказ = Ложь) Экспорт        Перем Окно, СодержимоеОкна, Форма;        Отказ = Ложь;      Для Каждого Окно Из ПолучитьОкна() Цикл          Для Каждого СодержимоеОкна Из Окно.Содержимое Цикл              Если ТипЗнч(СодержимоеОкна) = Тип( "УправляемаяФорма" )                      И СодержимоеОкна.УникальныйИдентификатор = УникальныйИдентификатор Тогда                  Возврат СодержимоеОкна;              КонецЕсли;          КонецЦикла;      КонецЦикла;      Отказ = Истина;        // Для демонстрации      Сообщить(Формат(Отказ,  "БЛ=Нашел!; БИ=

СписокВыбора. Показать Представление вместо Значения

Вводная Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления  из списка выбора (когда как при выборе значения из списка показываются именно представления). Решение Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм - оформление ячеек при выводе данных.

Запросы.Даты.Возраст

Пример простого запроса работы с датами для расчета Возраста (количество полных лет) на определенную дату (&ДатаСреза) ВЫБРАТЬ Т . ДатаРождения КАК ДатаРождения , ГОД ( &ДатаСреза) - ГОД(Т.ДатаРождения) - ВЫБОР КОГДА МЕСЯЦ ( Т . ДатаРождения ) > МЕСЯЦ ( &ДатаСреза) ТОГДА 1 КОГДА МЕСЯЦ ( Т . ДатаРождения ) = МЕСЯЦ ( &ДатаСреза) И ДЕНЬ ( Т . ДатаРождения ) > ДЕНЬ ( &ДатаСреза) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Возраст ИЗ ( ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( Т . ДатаРождения , ГОД , - 33 ) КАК ДатаРождения ИЗ ( ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, МЕСЯЦ, -1) КАК ДатаРождения ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, МЕСЯЦ, 1) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, ДЕНЬ, -1) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, ДЕНЬ, 1)) КАК Т) КАК Т УПОРЯДОЧИТЬ ПО ДатаРождения Пример вывода для &ДатаСреза = ТекущаяДата() (13.06.2018)

ЗУП 3.* Ученые степени Физических лиц

В текущей версии сведения о ученой степени хранятся в непериодическом регистре сведений, поэтому воссоздадим работу виртуальной таблицы среза последних самостоятельно. Интерактивно в научную степень Физического лица в форме элемента "подтягивается" последняя присвоенная степень. Ниже вариант с дополнительным разбиением по Отрасли науки (на практике реквизит записи справочника Ученые Степени может быть и не заполнен, решение о необходимости разбиения по отросли следует принять самостоятельно - параметр запроса & РазбиратьУчетныеСтепениПоОтраслямНаук  ) Функция ПолучитьРезультатЗапроса_УченыеСтепениФизЛиц ( ) //Текст сформирован автоматически обработкой Универсальная консоль отчетов 2.6.3 Запрос = Новый Запрос ; Запрос . Текст = "ВЫБРАТЬ | УченыеСтепениФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо, | УченыеСтепениФизическихЛиц.ДатаПрисужденияУченойСтепени КАК Период, | ВЫБОР | КОГДА &amp;РазбиратьУчетныеСтепениПоОтраслямНаук = ИСТИНА |

БСП. Печать произвольного табличного документа.

Иногда надо показать пользователю сформированный табличный документ. Ниже пример открытия общей формы печати документов в типовых конфигурациях с использованием БСП. &НаКлиенте Процедура ВывестиТабличныйДокумент ( Команда ) // формируем табличный документ ТабДокумент = ПолучитьТабличныйДокумент ( ) ; // Произвольный идентификатор Идентификатор = "наш_Идентификатор" ; КоллекцияПечатныхФорм = УправлениеПечатьюКлиент . НоваяКоллекцияПечатныхФорм ( Идентификатор ) ; ОписаниеПечатнойФормы = УправлениеПечатьюКлиент . ОписаниеПечатнойФормы ( КоллекцияПечатныхФорм , Идентификатор ) ; ОписаниеПечатнойФормы . ТабличныйДокумент = ТабДокумент ; // открытие общей формы Печати документов УправлениеПечатьюКлиент . ПечатьДокументов ( КоллекцияПечатныхФорм , , ЭтаФорма ) ; КонецПроцедуры

Не найден файл Data1.cab

Вчера столкнулся с проблемой установки релиза на сервера. Тогда из-за времени и вечного "нет времени объяснять, делай" обошлись костылями с переносом каталогов релизов и правкой сервисных служб через RegEdit. А сегодня нашел лекарство - Миста, 2011 год, моё почтение. я такое встречал на Win server 2003 английский, русифицированный, и когда дистрибутив лежит в папке с кириллическим именем, переименовывал папку на англ и все устанавливалось :) Миста::1C не хочет ставится. Не найден файл Data1.cab Всё верно, Win Server, но уже сильно старше 2003 (номере версии конечно, а не возрасте), страдает тем же недугом - программу установки следует запускать исключительно из каталога на латинице. Те например C:\Install\ и т.п. https://www.solvusoft.com/ рекомендует конечно все проверить, а пункт 9 переустановить ОС. Админам, привет, чё :)