1с установить период отбора по дате
Вы привыкли быстро указывать отбор на даты, пользуясь построителями и штатными окнами 1С? Вам неудобно и долго делать то же самое в отборах СКД? Ввод условия на период дат можно обеспечить с помощью простенькой процедуры, добавляемой в любое нужное место.
Надоело мне вводить периоды вручную - группу делай, границы указывай, лениво и ошибкоопасно. Разработал процедуру:
Процедура ВставитьУсловиеНаИнтервалДат ( Элемент ) Экспорт
Попытка
рТипГруппыОтбора = Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" );
рТипЭлементаОтбора = Тип ( "ЭлементОтбораКомпоновкиДанных" );
//================================================================================
// Определяем доступные отборы типа "Дата"
//
спв =Новый СписокЗначений ; // если дата не одна, дадим выбор
Для каждого рПоле Из рДоступныеПоля Цикл
Если рПоле . ТипЗначения . СодержитТип ( Тип ( "Дата" )) Тогда
спв . Добавить ( рПоле , рПоле . Заголовок );
КонецЕсли;
КонецЦикла;
Если спв . Количество ()= 0 Тогда
Предупреждение ( "В текущей СКД нет полей отбора типа ""Дата""!" ); Возврат;
ИначеЕсли спв . Количество ()= 1 Тогда
рПоле = спв . Получить ( 0 ). Значение ;
Иначе
спв . СортироватьПоПредставлению ();
выбзнч = спв . ВыбратьЭлемент ( "Укажите нужное поле:" );
Если выбзнч =Неопределено Тогда Возврат КонецЕсли;
рПоле = выбзнч . Значение ;
КонецЕсли;
//================================================================================
// Запрашиваем вид интервала
//
спвар =Новый СписокЗначений ;
спвар . Добавить ( ВидСравнения . Интервал , "Не включая границы ( )" );
спвар . Добавить ( ВидСравнения . ИнтервалВключаяГраницы , "Включая границы [ ]" );
спвар . Добавить ( ВидСравнения . ИнтервалВключаяНачало , "Включая начало [ )" );
спвар . Добавить ( ВидСравнения . ИнтервалВключаяОкончание , "Включая конец ( ]" );
выбзнч = спвар . ВыбратьЭлемент ( "Укажите тип интервала:" );
Если выбзнч =Неопределено Тогда Возврат КонецЕсли;
// определяемся
Если выбзнч . Значение = ВидСравнения . ИнтервалВключаяГраницы
или выбзнч . Значение = ВидСравнения . ИнтервалВключаяНачало
Тогда
рВидСравненияНачГраницы = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;
Иначе
рВидСравненияНачГраницы = ВидСравненияКомпоновкиДанных . Больше ;
КонецЕсли;
Если выбзнч . Значение = ВидСравнения . ИнтервалВключаяГраницы
или выбзнч . Значение = ВидСравнения . ИнтервалВключаяОкончание
Тогда
рВидСравненияКонГраницы = ВидСравненияКомпоновкиДанных . МеньшеИлиРавно ;
Иначе
рВидСравненияКонГраницы = ВидСравненияКомпоновкиДанных . Меньше ;
КонецЕсли;
//================================================================================
// Запрашиваем интервал
//
рНачалоПериода = Дата ( 1 , 1 , 1 ); рКонецПериода = Дата ( 1 , 1 , 1 );
// стандартный диалог
рНастройкаПериода =Новый НастройкаПериода ;
рНастройкаПериода . УстановитьПериод ( рНачалоПериода , рКонецПериода );
рНастройкаПериода . РедактироватьКакИнтервал =Истина;
рНастройкаПериода . РедактироватьКакПериод =Истина;
рНастройкаПериода . ВариантНастройки = ВариантНастройкиПериода . Период ;
Если не рНастройкаПериода . Редактировать () Тогда Возврат КонецЕсли;
рНачалоПериода = НачалоДня ( рНастройкаПериода . ПолучитьДатуНачала ());
рКонецПериода = КонецДня ( рНастройкаПериода . ПолучитьДатуОкончания ());
//================================================================================
// Ищем, нет ли уже такой группы и таких элементов в ней (только на текущем уровне отбора!)
//
рГруппа =Неопределено;
рНачГраница =Неопределено;
рКонГраница =Неопределено;
//
рПредставлениеГруппы = "Интервал " + СтрЗаменить ( НРег ( выбзнч . Представление ), "ючая" , "." )+ " для """ + СокрЛП ( рПоле . Заголовок )+ """" ;
Для каждого элотб Из текдан . Элементы Цикл
ОбработкаПрерыванияПользователя ();
Если ТипЗнч ( элотб )= рТипГруппыОтбора
и элотб . Представление = рПредставлениеГруппы
и элотб . ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . ГруппаИ
Тогда
рГруппа = элотб ; // ищем внутри неё
Для каждого элотбгр Из рГруппа . Элементы Цикл
ОбработкаПрерыванияПользователя ();
Если ТипЗнч ( элотбгр )= рТипЭлементаОтбора Тогда
Если элотбгр . ВидСравнения = рВидСравненияНачГраницы и элотбгр . ЛевоеЗначение = рПоле . Поле Тогда
рНачГраница = элотбгр ;
ИначеЕсли элотбгр . ВидСравнения = рВидСравненияКонГраницы и элотбгр . ЛевоеЗначение = рПоле . Поле Тогда
рКонГраница = элотбгр ;
КонецЕсли;
КонецЕсли;
КонецЦикла; // по элементам подходящей группы
КонецЕсли;
КонецЦикла;
Сделал вызов этой процедуры в той форме, где находился нужный компоновщик:
РаботаСДиалогами . ВставитьУсловиеНаИнтервалДат ( ЭлементыФормы . дОтборРК );
Стало можно быстро копипастить, а пользователям стало можно удобно вводить период.
Недостаток только в том, что текущей строкой отбора должна быть самая верхняя, корневая.
Плюсить особо не за что, а вот если пригодится кому, будет приятно. :)
Есть список Чеков. Документов очень много. Как при открытии программно (!) установить отбор только за сегодня ?
Варианты фильтра - после открытия -
Пер = Новый СтандартныйПериод(НачалоДня(ТекущаяДата()),ТекущаяДата());
элементы.Список.Период = Пер;
Элементы.Список.Обновить();
Фильтруют уже отобранные данные. Т.е. сперва ты ждешь долго, потом видишь документы.
Как установить отбор в Списке до отбора данных ?
Даже ставлю дату руками, сохраняю значение - штатно. И потом ни в ПриСозданииНаСервере ни в ПриОткрытии не могу найти эти значения в отборах Списка
Сходу точно не скажу, но примерно следующий
(2) А это в какой момент делать ? Я не совсем понимаю , когда именно компоновщик выбирает значения из базы.
Самое ранее что происходит на форме списка - ПриСозданииНаСервере - сюда суваться ?
Сейчас попробую. Спасибо за наводку
Добавил , все проходит , но фактически журнал не фильтруется
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Отбор = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;
УсловиеОтбора = Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Период");
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
УсловиеОтбора.ПравоеЗначение = ТекущаяДата();
Список.КомпоновщикНастроек.ЗагрузитьНастройки(Список.КомпоновщикНастроек.Настройки);
(9) это бы обновляло форму только , но я вижу что нет ни отбора, и скорость открытия долгая - т.е. данные не фильтруются
(10)
нет не уверен ) Но и не ругалось . пробую с Датой
Вы уверены что в динамическом списке есть поле "Период"?
Отбор = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;
УсловиеОтбора = Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
УсловиеОтбора.ПравоеЗначение = ТекущаяДата();
УсловиеОтбора.Использование = Истина;
(13) вот тут подробнее.
у меня
1С:Предприятие 8.3 (8.3.12.1685)
Розница, редакция 2.2 (2.2.11.16) ну тут не так важно
У меня расширением перекрыто ПриСозданииНаСервере
У вас такой же текст ?
В какую процедуру помещали ?
В списке настройки формы - Ваш отбор появился ?
Отбор = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;
УсловиеОтбора = Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
УсловиеОтбора.ПравоеЗначение = ТекущаяДата();
УсловиеОтбора.Использование = Истина;
Вот этот код использую.
В форме списка Вашего расширения, посмотрите привязана ли эта функция к событию формы "ПриСозданииНаСервере"
(16) Пробуйте так. Должно работать
Отбор = Список.Отбор.Элементы;
УсловиеОтбора = Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
УсловиеОтбора.ПравоеЗначение = ТекущаяДата();
УсловиеОтбора.Использование = Истина;
(18) пробую..
хотя так тоже пробовал вроде в процессе "проб и ошибок"
А в чем разница между -
Список.Отбор.Элементы
Список.КомпоновщикНастроек.Настройки.Отбор.Элементы
Список.КомпоновщикНастроек.ПользовательскиеНастройки.Отбор.Элементы
а то нигде не могу найти принципиальную разницу
Попробовал. С указанием четко даты - не вышло - он точно по времени смотрит.
Поменял на
УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
УсловиеОтбора.ПравоеЗначение = Дата('20190108');
работает - отбирает быстрее, открывается быстрее. . НО ! :)
1. не видно интервала отбора - сверху формы
2. В настройках формы - нет этого фильтра.
И как бы ни ставил период , сбрасывал настройки - отбор остается
Т.е. он устанавливается и жестко и все
А если так -
Отбор = Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;
то отбор не ставится вообще
Пока решения не нашел (
Т.е. или тащатся не все данные, но тогда и отбора не видно и не отключить
Или тащатся все данные - но отбор не ставится
У меня сработал вот этот код:
лНовыйПериод = Новый СтандартныйПериод(НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()+24*60*60));
У меня подобная проблема возникла в ЗиКГУ в Журналах документов, особенно кадровых.
Там важна дата события, а не дата создания документа, т.е. нужны отборы по полям типа "ДатаСобытия", "ДатаНачала", "ПериодРегистрации".
Можно, конешно, сделать в настройках два отбора по больше-меньше, но как-то фе.
Я кинул в реквизиты формы СтандартныйПериод и обрабатываю события
Диалог = Новый ДиалогРедактированияСтандартногоПериода;
Диалог.Период = Форма[Путь];
Диалог.Показать(Новый ОписаниеОповещения("ВыбратьПериодЗавершение", ЭтотОбъект, Контекст));
КонецПроцедуры
ПолеСобытия = Новый ПолеКомпоновкиДанных("ДатаСобытия");
Если Отборы.Количество() = 0 Тогда
Отбор = Отборы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = ПолеСобытия;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
Отбор.ПравоеЗначение = ДатаНачалаОтбора;
Отбор.Использование = Истина;
Отбор = Отборы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = ПолеСобытия;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
Отбор.ПравоеЗначение = ДатаОкончанияОтбора;
Отбор.Использование = Истина;
Иначе
Для каждого Отбор ИЗ Отборы Цикл
Если Отбор.ЛевоеЗначение = ПолеСобытия Тогда
Если Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно Тогда
Отбор.ПравоеЗначение = ДатаНачалаОтбора;
Отбор.Использование = Истина;
ИначеЕсли Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно Тогда
Отбор.ПравоеЗначение = ДатаОкончанияОтбора;
Отбор.Использование = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Вообще-то, в ЗиКГУ в механизме Установить период есть возможность
выбрать Показать стандартные периоды и установить Сегодня
В Вашей ситуации, если нет потребности в последующем изменении периода, достаточно:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
.
УстановитьПараметрыОтбораПоПериоду(ПолеСобытия, ДатаНачалаОтбора, ДатаОкончанияОтбора);
//ГДЕ:
//ПолеСобытия = Новый ПолеКомпоновкиДанных("Дата");
//ДатаНачалаОтбора = НачалоДня(ОбщегоНазначения.ТекущаяДатаПользователя());
//ДатаОкончанияОтбора = КонецДня(ОбщегоНазначения.ТекущаяДатаПользователя());
//Ускорит процесс открытия формы - отключить стандартную установку периода
.
КонецПроцедуры
&НаСервере
Процедура УстановитьПараметрыОтбораПоПериоду(ПолеСобытия, ДатаНачалаОтбора, ДатаОкончанияОтбора)
Если Отборы.Количество() = 0 Тогда
Отбор = Отборы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = ПолеСобытия;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
Отбор.ПравоеЗначение = ДатаНачалаОтбора;
Отбор.Использование = Истина;
Отбор = Отборы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = ПолеСобытия;
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
Отбор.ПравоеЗначение = ДатаОкончанияОтбора;
Отбор.Использование = Истина;
Иначе
Для каждого Отбор ИЗ Отборы Цикл
Если Отбор.ЛевоеЗначение = ПолеСобытия Тогда
Если Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно Тогда
Отбор.ПравоеЗначение = ДатаНачалаОтбора;
ИначеЕсли Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно Тогда
Отбор.ПравоеЗначение = ДатаОкончанияОтбора;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Самый простой и быстрый способ создать отчет в 1С это воспользоваться СКД (Системой компоновки данных). Это очень популярный а самое главное очень удобный инструмент, по сути для того чтобы создать отчет с помощью СКД даже не нужно знать 1С программирование. Так как у системы компоновки данных есть графический интерфейс. В сегодняшней статьи поговорим о добавление периодов. Т.е добавим возможность отбора за определенный промежуток времени. Данная возможность должны быть в любом нормальном отчете.
Я хоть и не являюсь гуру программистом 1С, но все же имею кое какой опыт и стараюсь им поделиться в своих небольших статьях, с теми кто в этом нуждается, поэтому рекомендую прочитать следующие статьи.
Добавление периода в СКД
И так добавить отбор по периоду можно в самом запросе, если открыть вкладку «Условия». Нажимаем на плюсик, выбираем дату документа, указываем что условие будет «Между» и пишем названия полей «ДатаНачала» и «ДатаОкончания».
Тоже самое можно сделать просто дописав в запрос вот такую строчку.
ГДЕ
АктОбОказанииУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
АктОбОказанииУслуг.Дата — ваш документ
Для того чтобы период стал доступным для пользователя необходимо во вкладке «Параметры» снять галочки в колонке «Ограничение доступности».
Остается перейти в «Настройки» выбрать «Отчет» и во вкладке «Параметры» настроить добавленный период. Например, если установить галочку то по умолчанию будет производиться отбор по указанной дате. Можно установить по умолчанию необходимое значения «Начало этого дня, недели, месяца и т.д.» или же точную дату.
Теперь если запустить отчет в пользовательском режиме и открыть настройки, можно установить отбор по дате. Для удобства данные параметры можно вынести на форму, для этого жмем на пункт «Показать» и выбираем «Показать в шапке».
Но лучше сделать это в самих настройках СКД.
В этом случае параметры будут отображаться у всех пользователей которые будут открывать отчет.
Вот так добавляется период в СКД. Как сами видите все достаточно просто и понятно, самое главное не торопиться и внимательно читать названия пунктов.
Когда я создал свой первый отчет в 1С с помощью системы компоновки данных (СКД) и начал проверять его на правильность заполнения, то обнаружил одну проблему, с которой думаю будут сталкиваться все начинающие 1С программисты. Проблема заключалась в том что в отчет попадали не все документы. Если сказать точнее не попадали документы за последнее число, установленного периода. Данная статья предназначена тем кто только делает первые шаги в изучение 1С. Если Вы более менее опытный можете дальше не читать.
СКД я посвятил достаточно много статей которые будут полезны начинающим программистам, рекомендую Вам с ними обязательно ознакомиться.
Как правильно настроить отбор по периодам в СКД
И так давайте разберем все на примере, вот у нас есть отчет, мы задали период и сформировали его и видим что за 11.06 есть документы.
Но если мы сформируем отчет на эту дату то он будет пустой.
Внимательные люди заметили что у нас в периоде отображается не только дата но и время, и время установлено началом дня, т.е. мы выбираем документы которые созданы 11.06.2017 в 0:00:00.
Но в большинстве случаев время в периоде просто не нужно, если пользователь выбирает 11.06 соответственно он хочет видеть документы за весь этот день.
Для того чтобы установить период концом выбранного дня нужно немного изменить запрос, поменять условие это
СчетНАОплатуКлиенту.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
СчетНАОплатуКлиенту.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ)
Т.е мы добавили стандартную функцию НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.
Так же можно изменить состав даты и убрать о туда время, делается это во вкладке «Параметры» в поле «Тип».
Если теперь мы выберем тот же период то отчет сформируется правильно.
Возможность установки времени нужно продумывать на начальном этапе, и если в нем нет необходимости то и выводить его не нужно.
Часто возникают ситуации, когда в 1С 8.3 нужно произвести отбор в таблице определенных строк по определенным критериям. Рассмотрим, как это сделать в динамическом списке и в таблице значений.
Отборы в динамическом списке 1С 8.3
Тут мы имеем два пути: создать отбор на форме списка и установить отбор программно.
Отбор в настройка формы
В конфигураторе добавим динамический список на форму, назначим ему основную таблицу и зайдем в свойства списка. В свойствах есть раздел «Настройка списка», нажмем ссылку «Открыть». Появится такое вот окно:
Здесь мы можем задать любой отбор для динамического списка. Потом этим отбором можно управлять программно.
Установка отбора в динамическом списке 1С программно
Дело в том, что Отбор является свойством динамического списка. Этим мы и воспользуемся. Сначала добавим в свойство отбора новый элемент:
Чтобы отбор заработал, нужно прописать параметры «ЛевоеЗначение», «ВидСравнения» и «ПравоеЗначение». Кроме того необходимо свойство «Использование» установить в «Истина».
Получите 267 видеоуроков по 1С бесплатно:
Таким образом, мы создаем простой отбор. Кроме простого, можно задать условия по нескольким полям. Для этого используем тип данных «ГруппаЭлементовОтбораКомпоновкиДанных»:
Отборы в таблице значений 1С
Тут у нас также имеется несколько вариантов.
- Можно просто перебрать таблицу в цикле и выбрать нужные строки либо скрыть ненужные. Считаю этот способ самым неоптимальным, но для новичков пойдет.
- Второй способ – использовать метод таблицы «НайтиСтроки». Иногда очень хороший способ, но есть серьезный недостаток. Это единственный тип для сравнения – «Равно».
- Третий вариант отбора – мой любимый, так как лишен в итоге всех недостатков. В этом варианте я использую «ПостроительЗапроса». Вот пример:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Заметки по разработке и администрированию 1С.
10.11.2016
1с Отбор по периоду в списке управляемых форм
лНовыйПериод = Новый СтандартныйПериод ( НачалоДня ( ТекущаяДата ()), КонецДня ( ТекущаяДата ()+ 24 * 60 * 60 ));
ЗаполнитьЗначенияСвойств ( Элементы . Список . Период , лНовыйПериод );
Здесь мы через элементы формы обращаемся к установке периода, для примера период ставится текущая и завтрашняя даты. И все. Выбранный период будет виден через кнопку “Установить период”.
Рассмотрим работу с динамическими списками на примере конфигурации 1С.Управление торговлей. Для примера разберем динамический список для справочника «Контрагенты».
Запустим 1С в режиме «Конфигуратор».
В конфигурации найдем справочник «Контрагенты».
Откроем форму «Форма Списка».
Рассмотрим форму списка справочника. Реквизит «Список» имеет тип «ДинамическийСписок».
Двойным щелчком откроем свойства реквизита.
Нас интересует свойство «Произвольный запрос». Если для данного свойства установлен флаг, то для вывода информации в динамический список мы можем использовать собственный запрос.
Нажмем теперь «Открыть» у свойства «Настройка списка».
Перед нами открывается окно настройки запроса динамического списка. Первая вкладка «Запрос».
Мы можем ка написать запрос вручную в поле «Запрос», так и воспользоваться кнопкой «Конструктор запросов».
На данной вкладке так же стоит обратить внимание на флаги «Динамическое считывание данных» и «Автозаполнение доступных полей».
Флаг «Динамическое считывание данных» определяет размер «части» возвращаемых запросом данных. Т.е. Если флаг установлен, то «части» имеют не большой размер, но при прокрутке динамического списка может происходить небольшое подвисания из-за до получения «частей». Если флаг не установлен, то возвращаемые данные мы получаем большими «частями». Это означает, что первоначально запрос может отрабатывать дольше, но подвисаний в процессе прокрутки не будет.
Флаг «Автозаполнение доступных полей» определяет поля доступные для отбора. Если флаг установлен, то поля верхней выборки становятся доступными для установки отбора.
Вторая вкладка «Настройки».
На данной вкладке мы можем установить некоторые отборы. Стоит обратить внимание на флаг «Включать в пользовательские настройки».
Если мы установили отбор и флаг, то пользователь сможет самостоятельно отключить отбор, воспользовавшись командой «Настроить список».
Так же на вкладке «Настройки» мы можем задавать «Порядок», «Группировки» и «Условное оформление.
В случае, если мы в запросе использовали какие-либо параметры, то необходимо заполнить их значения. Установим значение параметров в модуле формы в процедуре «ПриСозданииНаСервере». Для этого воспользуемся стандартным кодом для установки параметров.
Как оптимизировать работу с программой?
В работе с 1С периодически можно столкнуться с вопросами, который не в состоянии решить обыкновенный пользователь. Если у вас в штате нет специалистов 1С или они решают более стратегические задачи, от которых отвлекать их попросту нерационально, мы приглашаем обратиться за помощью к команде профессионалов.
Мы предлагаем услуги по сопровождению 1С , в рамках которого наши сотрудники смогут оперативно решать подобные и многие другие проблемы. Большой опыт работ и сертифицированные специалисты позволят обеспечить бесперебойную работу с программой, защиту информации и оптимизацию бизнес-процессов.
Вы еще не внедрили 1С или необходимо установить программу в новый филиал компании? Обратитесь за внедрением и настройкой к нам — вы сэкономите свое время и избежите возможных ошибок и проблем в дальнейшем.
Позвоните по номеру телефона, указанному на сайте или заполните форму обратной связи, чтобы наши сотрудники сориентировали по стоимости работ, подобрали оптимальное решение и рассказали, как начать сотрудничество. Ждем вас!
Читайте также: