Как сделать экспортную процедуру в 1с

Обновлено: 02.08.2024

Это именованное значение данных для хранения и последующего доступа.

Могут быть произвольного допустимого в рамках 1С и контекста типа.

Объявление переменных

Явное объявление переменных в 1с, в общем случае, не обязательно и может производится непосредственно перед использованием.

Примеры явного объявления переменной:

Пример объявления в функции:

В данном случае мы видим две переменные :

Именование переменных

Не могут начинаться на цифру, но могут ее содержать.

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

Например, находясь в контексте формы, нельзя использовать имя переменной Заголовок, т.к. в этом случае будет происходить непосредственное изменение заголовка окна формы.

Имя должно быть понятным, запоминаемым. Допускается использование префиксов для удобства восприятия, например: лЛокальнаяПеременная, фПеременнаяФормы.

Обычно применяется выделение регистром для визуального осмысления: ВременнаяПеременнаяДляХраненияПромежуточныхРасчетов

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

Инициализация переменных

В момент объявления переменные явно присвоить значение возможно только, если это параметр функции

  • ПараметрфункцииИнициализируемый — если не передан параметр в функцию он будет инициализирован строковым значением 123
  • ПеременнаяФункции2 — переменная инициализирована после объявления
  • ПеременнаяФункции3 — переменная инициализирована по имени и значением, без явного объявления

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

Также не является обязательным инициализация ранее объявленной переменной сразу, это может быть сделано непосредственно перед использование.

Допустимо не переопределять значение «Неопределено«, т.к. всегда можно проверить тип значение или содержимое

Видимость переменных

В версии 8 в отличии от 7.7. глобальных переменных не существует и их видимость определяется контекстом исполнения

Передача значений переменных

Более подробно на последнем случае останавливаться не буду, т.к. это один уроков, который вы должны пройти самостоятельно. Система вам сообщит, когда вы наступите на «грабли«, а объяснить простыми не получится.

В случае, если вам все-таки требуется передать значение, необходимо:

  • подумать над тем, верный ли выбрали тип или место исполнения (возможно вы гоняете не те данные или не туда)
  • использовать более универсальный тип для передачи
  • преобразовывать тип в более простой перед транспортировкой, и обратно преобразовывать в месте получения

Конвертация значений будет рассмотрена в других разделах.

Никогда не пишите рекламное объявление, которое вы не хотели бы предложить прочесть собственной семье. Вы не стали бы лгать собственной жене. Не лгите и моей.

— Д. Огилви.

Описание:
Оператор Если управляет выполнением программы, основываясь на результаты одного или более логических выражений. Оператор может содержать любое количество групп операторов, возглавляемых конструкциями ИначеЕсли – Тогда.
Синтаксис:
Если Логическое выражение > Тогда
// Операторы
[ ИначеЕсли Логическое выражение > Тогда ]
// Операторы
[ Иначе ]
// Операторы
КонецЕсли ;
Англоязычный синтаксис:
If Логическое выражени е> Then
// Операторы
[ElsIf Логическое выражение > Then ]
// Операторы

[Else ]
// Операторы
EndIf ;
Параметры:

Логическое выражение > – Логическое выражение.

Тогда – Операторы, следующие за Тогда, выполняются, если результатом логического выражения является значение Истина.

// Операторы – Исполняемый оператор или последовательность таких операторов

ИначеЕсли – Логическое выражение, следующее за ключевым словом ИначеЕсли, вычисляется только тогда, когда условия в Если и всех предшествующих ИначеЕсли
оказались равны Ложь. Операторы, следующие за конструкцией ИначеЕсли – Тогда , выполняются, если результат логического выражения в данном
ИначеЕсли равен Истина.

Иначе – Операторы, следующие за ключевым словом Иначе, выполняются, если результаты логических выражений в конструкции Если и всех предшествующих
конструкциях ИначеЕсли оказались равны Ложь .

КонецЕсли – Ключевое слово, которое завершает структуру оператора условного выполнения.

Если ДеньНедели(ТекущаяДата()) = 6 Тогда
Сообщить (“Сегодня суббота.”);
ИначеЕсли ДеньНедели(ТекущаяДата()) = 7 Тогда
Сообщить (“Сегодня воскресенье.”);
Иначе
Сообщить(“Сегодня рабочий день.”);
КонецЕсли;

Новый (New)

Описание:
Оператор позволяет создать значение указанного типа. Допустим только для тех типов, для которых разрешено создание новых значений. Для прикладных объектов необходимо использовать функциональную форму оператора Новый (вариант 2), так как при проверке модулей в конфигураторе не определены типы для прикладных объектов.
При работе с функциональной формой оператора Новый следует помнить, что операция разыменования непосредственно к результату работы оператора не может быть применена. Вначале следует присвоить результат работы оператора Новый какой-либо переменной, а затем использовать уже эту переменную.
Синтаксис (вариант 1):
Новый [( , …, )]
Параметры:

Имя типа – Указывается имя типа, значение которого создается.

, …, – После имени типа в скобках могут указываться параметры, если они определены в конструкторах для данного типа. Допустимое количество параметров
и их назначение указываются в описании конструкторов объекта.

Пример:
// Пример создания массива из трех элементов.
Массив = Новый Массив(3);

Синтаксис (вариант 2):
Новый ( [, ])
Параметры:

Тип – Имя типа или значение типа Тип.
Параметры конструктора > Массив параметров конструктора.
Пример:

ТипЗначения = Тип (“КвалификаторыСтроки”);
Параметры = Новый Массив(2) ;
Параметры[0] = 20;
Параметры[1] = ДопустимаяДлина.Переменная;
КвалифСтр = Новый ( ТипЗначения, Параметры );

Перейти (Goto)

Описание:
Безусловная передача управления на другой оператор программы. Передает управление от одного оператора к другому.
Область действия оператора ограничивается программным модулем, процедурой или функцией; он не может передать управление за пределы программного модуля, процедуры или функции.
Примечание 1. Метка в этом операторе не должна быть меткой перехода на оператор Процедура или Функция.
Примечание 2. Оператор безусловного перехода не может быть использован для передачи управления на операторы, находящиеся внутри конструкций:
Пока – КонецЦикла, Для – КонецЦикла, Для каждого – КонецЦикла, Если – КонецЕсли, Попытка – Исключение – КонецПопытки извне этих конструкций.
Синтаксис:
Перейти Метка >;
Пример:

Перейти ~ Метка1 ;

~ Метка1 : Сообщить (“Осуществлен переход по метке.”);

Перем (Var)

Описание:
Позволяет в явном виде объявить переменную.
Синтаксис:
Перем Имя переменной 1 > [Экспорт] [, Имя переменной 2 >, …];
Англоязычный синтаксис:
Var Имя переменной 1 > [ Export] [, Имя переменной 2 >, …];
Параметры:

Имя переменной 1 >[, >, …] – Задается имя или имена объявляемых переменных
Экспорт – Необязательное ключевое слово. Указывает, что данная переменная доступна при обращении к контексту этого модуля из других модулей. Данное ключевое слово необходимо указывать для каждой объявляемой переменной отдельно. Не имеет смысла при объявлении переменных отдельных процедур или функций.
Пример:

// Пример объявления одной переменной
Перем А Экспорт ;
Перем Б ;
// Пример объявления нескольких переменных одним оператором
Перем А, Б Экспорт;
Неявное объявление переменных:
В языке необязательно объявлять переменные в явном виде. Неявным определением переменной является первое ее появление в левой части
оператора присваивания. Тип переменной определяется типом присвоенного ей значения. Не допускается использование в выражениях переменных, не
объявленных ранее в явном или неявном виде.
Область использования переменной:
Область использования переменных зависит от места их определения в конфигурации. Существует три области, в которых можно объявить
переменные:
● В разделе определения переменных программного модуля управляемого приложения. Это глобальные переменные.
● В разделе определения переменных модуля. Это переменные модуля.
● В процедуре или функции. Это локальные переменные.
Глобальные переменные, объявленные с ключевым словом Экспорт, доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции любого клиентского программного модуля конфигурации.
Переменные модуля доступны для использования в исполняемых операторах, выражениях, в любой процедуре и функции того программного модуля, в пределах которого они объявлены. Если они объявлены с ключевым словом Экспорт, то они доступны из других модулей через контекст модуля, в котором они объявлены.
Локальные переменные доступны в пределах той процедуры или функции, в которой они объявлены.
Если переменная определена как глобальная, то она видна из всех процедур и функций любого клиентского программного модуля конфигурации. Если же переменная определена внутри процедуры, то ее областью видимости является данная процедура или функция.

Таким образом, если две переменные с одинаковыми именами используются в двух различных процедурах модуля и имя этой переменной не упоминается как глобальное, то это две различные переменные, локальные для процедур. Если же переменная определена как глобальная переменная, то любое использование имени этой переменной будет приводить к обращению к одной и той же переменной.
Единственный способ создать для процедуры локальную переменную с именем, совпадающим с именем переменной, определенной как глобальная, – это объявить ее явно при помощи оператора Перем.

Пока (While)

Описание:
Оператор цикла Пока предназначен для циклического повторения операторов, находящихся внутри конструкции Цикл – КонецЦикла. Цикл выполняется,
пока логическое выражение равно Истина. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.
Синтаксис:
Пока Логическое выражение > Цикл
// Операторы
[ Прервать ;]
// Операторы
[ Продолжить; ]
// Операторы
КонецЦикла
Англоязычный синтаксис:
While Логическое выражение > Do
// Операторы
[Break;]
// Операторы
[ Continue;]
// Операторы
EndDo;
Параметры:

огическое выражение > -Логическое выражение
Цикл – Операторы, следующие за ключевым словом Цикл, выполняются, пока результат логического выражения равен Истина.
// Операторы – Исполняемый оператор или последовательность таких операторов.
Прервать – Позволяет прервать выполнение цикла в любой точке. После выполнения этого оператора управление передается оператору, следующему за ключевым
словом КонецЦикла.
Продолжить – Немедленно передает управление в начало цикла, где производится вычисление и проверка условий выполнения цикла. Операторы, следующие в теле
цикла за ним, на данной итерации обхода не выполняются.
КонецЦикла – Ключевое слово, которое завершает структуру оператора цикла.
Пример:

ВыборкаДок = Документы.РасходнаяНакладная.Выбрать();
// Цикл по всем документам
Пока ВыборкаДок.Следующий() Цикл
// Отобразим Документ в панели состояния
Состояние( “Обрабатывается документ №” + ВыборкаДок.Номер);
// Операторы выполнения действий над документом
КонецЦикла;

Попытка (Try)

/ / Операторы попытки – Исполняемый оператор или последовательность таких операторов.

Исключение – Операторы, следующие за ключевым словом Исключение, выполняются, если при выполнении последовательности операторов произошла ошибка
времени выполнения.

// Операторы исключения – Исполняемый оператор или последовательность операторов, которые обрабатывают исключительную ситуацию.

КонецПопытки – Ключевое слово, которое завершает структуру оператора обработки исключительных ситуаций.
Пример:

Процедура СформироватьВExcel()
Попытка
// Пытаемся обратиться к программе MS Excel
Табл = Новый ComObject (“Excel.Application”);
Исключение
Предупреждение(ОписаниеОшибки());
Возврат ;
КонецПопытки;
// Операторы формирования отчета

КонецПроцедуры

Процедура (Procedure)

Описание:
Ключевое слово Процедура начинает секцию исходного текста, выполнение которого можно инициировать из любой точки программного модуля, просто указав ИмяПроцедуры() с о списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле приложения или общем программном модуле в теле описания процедуры использовано ключевое слово Экспорт, то это означает, что данная процедура является доступной из всех других программных модулей конфигурации.
При выполнении оператора Возврат процедура заканчивается и возвращает управление в точку вызова. Если в тексте процедуры не встретился оператор Возврат, то после выполнения последнего исполняемого оператора происходит выполнение неявного оператора Возврат. Конец программной секции процедуры определяется по оператору КонецПроцедуры .
Переменные, объявленные в теле процедуры в разделе Объявления локальных переменных, являются локальными переменными данной процедуры, поэтому доступны только в этой процедуре (за исключением случая передачи их как параметров при вызове других процедур, функций или методов).
ПРИМЕЧАНИЕ. Ключевые слова Процедура , КонецПроцедуры являются не операторами, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля).

Синтаксис:
Процедура ИмяПроцедуры>([[Знач] [= ], … ,[Знач] [= ]] )[ Экспорт ]
// Объявления локальных переменных;
// Операторы;

[ Возврат; ]
// Операторы;

КонецПроцедуры
Англоязычный синтаксис:
Procedure ([[Val] [= ], … ,[Val] [= ]] )[ Export ]
// Объявления локальных переменных;
// Операторы;

[ Return;]
// Операторы;

EndProcedure

Перем Глоб ;
// Описание процедуры
Процедура МояПроцедура(Пар1, Пар2, Пар3) Экспорт
Глоб = Глоб + Пар1 + Пар2 + Пар3 ;
Возврат;
КонецПроцедуры
Глоб = 123;
МояПроцедура(5, 6, 7); // Вызов процедуры

УдалитьОбработчик (RemoveHandler)

Описание:
Удаляет обработчик события.
При удалении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначенного в качестве
обработчика.
Синтаксис:
УдалитьОбработчик , ;
Англоязычный синтаксис:
RemoveHandler , ;
Параметры:

– Событие, обработчик которого удаляется.
Событие задается в форме . , где:
● – произвольное выражение на встроенном языке. Его результатом должен быть объект, обработчик события которого удаляется.
● – идентификатор (имя) события.

– Процедура/функция-обработчик события.
Обработчиком события может являться метод объекта встроенного языка. Тогда задается как . ,
где:
● – произвольное выражение на встроенном языке. Его результатом должен быть объект, метод которого служит обработчиком события.
● – имя метода обработчика события.
Также в качестве обработчика события может быть задана процедура/функция, находящаяся в области видимости. В этом случае обработчик события
задается как имя процедуры/функции.
Пример:

УдалитьОбработчик Накладная.ПриЗаписи, Обработка.ПриЗаписиДокумента;

Функция (Function)

Описание:
Ключевое слово Функция начинает секцию исходного текста функции, выполнение которой можно инициировать из любой точки программного модуля,
просто указав ИмяФункции со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле приложения или общем программном модуле в теле описания функции использовано ключевое слово Экспорт, то это означает, что данная функция является доступной из всех других программных модулей конфигурации.
Выполнение функции заканчивается оператором Возврат . Функции отличаются от процедур только тем, что возвращают ВозвращаемоеЗначение . Конец
программной секции функции определяется по оператору КонецФункции.
Вызов любой функции в тексте программного модуля можно записывать как вызов процедуры, т. е. в языке допускается не принимать от функции
возвращаемое значение.
Если ключевое слово Возврат в теле функции не указано или строка модуля, его содержащая, не выполнена, то функция возвращает значение типа Неопределено.
Переменные, объявленные в теле функции в разделе Объявления локальных переменных, являются локальными переменными данной функции, поэтому доступны только в этой функции (за исключением случая передачи их как параметров при вызове других процедур, функций или методов).
ПРИМЕЧАНИЕ. Ключевые слова Функция, КонецФункции являются не операторами, а операторными скобками, поэтому не должны заканчиваться точкой с запятой (это может приводить к ошибкам выполнения модуля).
Синтаксис:

Функция ИмяФункции>([[Знач] [= ], … ,[Знач] [= ]])[ Экспорт ]
// Объявления локальных переменных;
// Операторы;

Возврат Возвращаемое значение >;
// Операторы;

КонецФункции

Англоязычный синтаксис:
Function ([[Val] [= ], … ,[Val] [= ] ])[ Export ]
// Объявления локальных переменных;
// Операторы;

Return ;
// Операторы;

EndFunction

Пример:
Перем Глоб;
// Описание функции
Функция МояФункция(Пар1, Пар2, Пар3) Экспорт
Глоб = Глоб + Пар1 + Пар2 + Пар3;
Возврат Глоб ;
КонецФункции
Глоб = 123;
Рез = МояФункция(5, 6, 7) ; / / Вызов функции

1С:Предприятие режим Конфигуратора

В языке программирования 1С все операторы имеют два написания: русское и английское. К примеру, оператор Новый(“”) аналогичен по смыслу и действию оператору New(“”) . Обычно все же пишут код на одном языке (чаще русском), однако не возбраняется (хотя и считается плохим стилем программирования) смешивать оба языка в одном модуле. Мы в описании языковых конструкций будем приводить только русский вариант их написания.

Каждая языковая конструкция будет описана в следующем формате:

ЭлементЯзыка(Параметр1, Параметр2,…, ПараметрN) [КлючевоеСлово]

Здесь:

  • Параметр1, Параметр2, …, ПараметрN — список параметров;
  • КлючевоеСлово — дополнительное ключевое слово, которое может присутствовать или отсутствовать в той или иной языковой конструкции.

Если у элемента языка нет параметров, скобки опускаются. Квадратные скобки [ ] означают, что параметр или ключевое слово, заключенные в них, необязательны и могут как присутствовать, так и отсутствовать.
Если среди элементов необходимо выбрать только один, они будут разделены следующим образом: Элемент1|Элемент2|Элемент3.

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

Наша первая обработка

Обработка может быть как внутренней, входящей в конфигурацию и присутствующей в дереве конфигурации в разделе Обработки, так и внешней, имеющей расширение epf и запускаемой через пункт меню Файл | Открыть.

Мы будем экспериментировать на внешней обработке. Давайте создадим ее. Для этого в режиме Конфигуратора мы должны выбрать команду меню Файл | Новый и в открывшемся списке выбрать вариант Внешняя обработка. Откроется окно создания новой обработки:

Создаем внешнюю обработку

Рисунок “Создаем внешнюю обработку”

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

Задаем имя и примечание внешней обработке 1с предприятие 8.3

Рисунок “Задаем имя и примечание”

Имя (идентификатор) обработки, как и имя любого объекта 1С, будь то имя справочника, документа или переменной, не должно содержать пробелов. Регистр не учитывается, т. е. НашаПерваяОбработка и нашаперваяобработка — это один и тот же объект, просто первое читается удобнее.

Комментарий предназначен для записи дополнительной информации об объекте. Теперь создадим форму обработки. Для этого щелкнем правой кнопкой мыши на пункте Формы окна создания обработки и выберем пункт Добавить. Откроется окно конструктора формы обработки:

Конструктор формы обработки

Рисунок “Конструктор формы обработки”

Конструктор формы обработки 1с предприятие

Здесь мы также можем задать имя, синоним и комментарий — на этот раз для формы, указать тип формы (обычная или управляемая, т. е. для работы через Интернет), определить положение командной панели.
Оставим все по умолчанию и нажмем кнопку Готово.
Готовая пустая форма содержит внизу командную панель, на которой расположены три кнопки:


Рисунок “Так выглядит пустая форма обработки”

Выполнить (запускает обработчик выполнения обработки) , Закрыть (закрывает обработку) и кнопку с точками , предназначенную для добавления новых кнопок.

Ниже командной панели расположены вкладки, относящиеся к создаваемой форме:

  • Диалог (собственно форма с элементами, размещенными на ней),
  • Модуль (здесь пишется программный модуль формы)
  • и вкладка со списком реквизитов.

Программный модуль формы сразу после создания выглядит так, как показано на картинке:

Модуль формы новой обработки с одной-единственной пустой процедурой

Рисунок “Модуль формы новой обработки с одной-единственной пустой процедурой”

Какие бывают модули 1С Предприятие 8.3?

Существуют области видимости программных элементов, процедур и функций, иначе называемые контекстом выполнения программного модуля. Таких контекстов два:

  • Глобальный контекст. Образуется значениями констант, перечислений, регистров и прочих объектов метаданных, определенных в дереве конфигурации, системными переменными, процедурами и функциями, а также переменными, процедурами и функциями, находящимися в общих модулях конфигурации, объявленными с ключевым словом Экспорт. Данные, образующие глобальный контекст, доступны из любых других модулей конфигурации.
  • Локальный контекст конкретного модуля. Образуется значениями переменных, процедур и функций, находящимися в конкретном программном модуле. Эти значения являются локальными и доступны только внутри модуля, в котором находятся. Исключение— использование в качестве параметров. Например, переменные определены в каком-либо модуле, а потом из этого модуля следует вызов процедуры (или функции), находящейся в одном из общих модулей. В этом случае значения локальных переменных могут быть использованы в качестве параметров.

В статье будет рассматриваться работа с модулями формы, объекта, а также общими модулями, остальные модули довольно-таки узкоспециализированы, в рабочих конфигурациях модифицируются не так часто и, как правило, не являются постоянно используемыми в работе программиста.

Структура программного модуля

Программный модуль делится на три части.

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

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

1. Задача передачи параметров 1С

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

2. Реализация с модулем объекта документа 1С



В модуле основной формы документа в обработчике события 1С кнопки, открывающей форму с выбором настроек, необходимо указать процедуру Новый ОписаниеОповещения(). Это определяет результат после закрытия формы настроек в 1С 8.3.



В форме настроек для сохранении и передачи параметров 1С (в нашем случаи это структура) необходимо указывать процедуру ОповеститьОВыборе()


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



И в заключительном этапе (например, в процедуре ПередЗаписьНаСервере() передадим из реквизита формы сохраненную структуру настроек в глобальную переменную, которую определяли в модуле объекта документа.



В итоге настройки, выбранные на дочерней форме открытой из основной формы документа, теперь доступны в модуле объекта и могут быть обработаны в любой его процедуре, например, в процедуре проведения.

Разработчик 1С компании ООО “Кодерлайн”

Вас могут заинтересовать следующие статьи:

94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->

Вас могут заинтересовать следующие вебинары:

Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) -->

Читайте также: