1С документы

Содержание

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

После запуска СЭД «Корпоративный документооборот» справочник «Виды документов» уже содержит ряд предопределенных элементов:

  • Внутренний
  • Входящий
  • Исходящий
  • Карточка файла

Важно! Пользователи могут создать свой набор видов документов (количество видов не ограничено), при этом виды документов могут быть иерархическими.

Справочник «Виды документов» доступен через подсистему «Администрирование системы» или непосредственно из корпоративного документа.

Каждый корпоративный документ привязан к одному элементу справочника «Вид документа» ссылка на вид документа указывается в форме документа как показано на рисунке ниже.

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

В элементе справочника «Виды документа» могут быть настроены следующие параметры корпоративного документа:

  • Наименования реквизитов
  • Наименование закладок
  • Наименование кнопок
  • Состав дополнительных реквизитов
  • Колонки произвольной таблицы

Пример настройки наименований и видимости реквизитов для вида документа «Входящий» приведен на рисунке ниже.

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

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

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

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

После настройки вида документа произвольная таблица отображается на закладке «Содержание», подзакладка «Таблица» корпоративного документа соответствующего вида.

Включить использование дополнительных реквизитов корпоративного документа можно отметив флажок «Дополнительные реквизиты».

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

После настройки дополнительных реквизитов в форме элемента справочника «Виды документов», данные реквизиты станут доступными на закладке «Содержание», подзакладке «Реквизиты» корпоративного документа соответствующего вида.

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

Как создать новый документ?

НовыйДокумент = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); НовыйДокумент.Дата = ТекущаяДата();

Как найти документ?

ИскомыйДокумент = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДок, Дата(2005, 1, 1)); Если НЕ ИскомыйДокумент.Пустая() Тогда // Выполнить действия в случае обнаружения такого документа. … КонецЕсли;

Как открыть форму документа?

Форма = ИскомыйДокумент.ПолучитьФорму(<Форма>, <Владелец>, ); Форма.Открыть();

Как изменить значение реквизита и записать документ?

ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект(); ДокОбъект.Ответственный = глТекущийПользователь; ДокОбъект.Записать(); // Запись с проведением документа ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); // Запись с отменой проведения ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);

Как добавить строку в табличную часть документа, имея ссылку на документ?

ОбъектДок = Док.ПолучитьОбъект(); НоваяСтрока = ОбъектДок.Товары.Добавить(); // Заполнить значения реквизитов. НоваяСтрока.Количество = 10; НоваяСтрока.Цена = 55; // Записать документ. ОбъектДок.Записать();

Как удалить строки из табличной части документа?

ОбъектДокумента = Документ.ПолучитьОбъект(); ОбъектДокумента.Товары.Очистить();

Как перебрать строки документа?

Для Каждого ТекущаяСтрока Из Документ.Товары Цикл // Действия со строкой табличной части. КонецЦикла; СтаршийИндекс = Документ.Товары.Количество() — 1; Для Сч = 0 по СтаршийИндекс Цикл // Действия со строкой табличной части. КонецЦикла;

Как выгрузить табличную часть документа?

ТаблицаТоваровДокумента = Документ.Товары.Выгрузить();

Как посчитать итог в табличной части документа?

ВсегоПоКолонкеСумма = Документ.Товары.Итог(«Сумма»);

Как провести документ?

НужныйДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Пример процедуры проведения
//Модуль объекта Процедура ОбработкаПроведения(Отказ, Режим)
Если Не Отказ Тогда
ТаблицаПоТоварам = Товары.Выгрузить(); //Выгрузка табличной части документа
ТаблицаПоОборудованию = Оборудование.Выгрузить(); //Выгрузка табличной части документа
ТаблицаПоТоварам.Свернуть(«Номенклатура, ЕдиницаИзмерения»,»Количество»);
ТаблицаПоОборудованию.Свернуть(«Номенклатура, ЕдиницаИзмерения»,»Количество»);
// ДвиженияПоРегистрам
ДвиженияПланВыполненияЗаявок = Движения;
Для Каждого СтрокаТаблицы Из ТаблицаПоТоварам Цикл
СтрокаДвижения = ДвиженияПланВыполненияЗаявок.Добавить();
СтрокаДвижения.ВидДвижения =ВидДвиженияНакопления.Приход;
СтрокаДвижения.Период = Дата;
СтрокаДвижения.Заявка = ЭтотОбъект.Ссылка;
СтрокаДвижения.ДоговорКонтрагента = ДоговорКонтрагента;
СтрокаДвижения.Номенклатура = СтрокаТаблицы.Номенклатура;
СтрокаДвижения.Количество = СтрокаТаблицы.Количество;
КонецЦикла;
Для Каждого СтрокаТаблицы Из ТаблицаПоОборудованию Цикл
СтрокаДвижения = ДвиженияПланВыполненияЗаявок.Добавить();
СтрокаДвижения.ВидДвижения =ВидДвиженияНакопления.Приход;
СтрокаДвижения.Период = Дата;
СтрокаДвижения.Заявка = ЭтотОбъект.Ссылка;
СтрокаДвижения.ДоговорКонтрагента = ДоговорКонтрагента;
СтрокаДвижения.Номенклатура = СтрокаТаблицы.Номенклатура;
СтрокаДвижения.Количество = СтрокаТаблицы.Количество;
КонецЦикла;
КонецЕсли;

Как перебрать документы?

ВыборкаДокументов = Документы.Расходная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата())); Пока ВыборкаДокументов.Следующий() Цикл // Действия с документом — элементом выборки, // его значение содержится в переменной ВыборкаДокументов КонецЦикла Запрос = Новый Запрос; Запрос.Текст = » |ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка |ИЗ | Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И | (РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1)) | И | РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)»; Запрос.УстановитьПараметр(«Контрагент», ОтбКонтрагент); Запрос.УстановитьПараметр(«Номенклатура», ОтбНоменклатура); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл // действия с документом — элементом выборки, // его значение содержится в переменной Выборка КонецЦикла;

Как пометить на удаление все приходные накладные?

ДокументыВида = Документы.ПоступлениеТоваровУслуг.Выбрать(); Пока ДокументыВида.Следующий() Цикл ДокОбъект = ДокументыВида.ПолучитьОбъект(); ДокОбъект.УстановитьПометкуУдаления(Истина); КонецЦикла;

Как, имея ссылку на документ, создать в базе его копию?

ДокументКопия = ИсходныйДокумент.Скопировать(); ДокументКопия.Дата = РабочаяДата; ДокументКопия.Записать(); ДокументКопия.Дата = ИсходныйДокумент.Дата;

Как, имея ссылку на документ, прочитать его движения по регистру?

Запрос = Новый Запрос; Запрос.Текст =»ВЫБРАТЬ * |ИЗ | РегистрНакопления.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры |ГДЕ | ОстаткиНоменклатуры.Регистратор = &Регистратор»; Запрос.УстановитьПараметр(«Регистратор», ПолеВводаРегистратор); НаборЗаписейРегистра = Движения.ОстаткиНоменклатуры; НаборЗаписейРегистра.Прочитать(); Для Каждого Запись из НаборЗаписейРегистра Цикл // Чтение и модификация очередного движения. КонецЦикла; Для Каждого НаборЗаписейРегистра из Движения Цикл НаборЗаписейРегистра.Прочитать(); Для Каждого Запись из НаборЗаписейРегистра Цикл // Чтение и модификация очередного движения. КонецЦикла; КонецЦикла;

Как определить, по каким регистрам документ выполнил движения?

ВЫБРАТЬ ПЕРВЫЕ 1
«Внутренние заказы» КАК Регистр
ИЗ
РегистрНакопления.ВнутренниеЗаказы КАК ВнутренниеЗаказы
ГДЕ
ВнутренниеЗаказы.Регистратор = &Регистратор
ОБЪЕДИНИТЬ
ВЫБРАТЬ ПЕРВЫЕ 1
«Заказы поставщикам» КАК Регистр
ИЗ
РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
ГДЕ
ЗаказыПоставщикам.Регистратор = &Регистратор
ОБЪЕДИНИТЬ
ВЫБРАТЬ ПЕРВЫЕ 1
«Размещение заказов покупателей» КАК Регистр
ИЗ
РегистрНакопления.РазмещениеЗаказовПокупателей КАК РазмещениеЗаказовПокупателей
ГДЕ
РазмещениеЗаказовПокупателей.Регистратор = &Регистратор
ОБЪЕДИНИТЬ
ВЫБРАТЬ ПЕРВЫЕ 1
«Товары в резерве на складах» КАК Регистр
ИЗ
РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ГДЕ
ТоварыВРезервеНаСкладах.Регистратор = &Регистратор

Как в табличной части документа удалить строки с нулевым значением реквизита «Количество»?

ОбъектДок = СсылкаДок.ПолучитьОбъект(); СтруктураДляПоиска = Новый Структура(«Количество», 0); ТабличнаяЧастьДок = ОбъектДок.Товары; МассивПустыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска); Для каждого Строчка Из МассивПустыхСтрок Цикл ТабличнаяЧастьДок.Удалить(Строчка); КонецЦикла; ОбъектДок.Записать(); СтруктураДляПоиска = Новый Структура(«Количество», 0); МассивПустыхСтрок = Товары.НайтиСтроки(СтруктураДляПоиска); Для каждого Строчка Из МассивПустыхСтрок Цикл Товары.Удалить(Строчка); КонецЦикла;

Как очистить колонку «СтавкаНДС» в табличном поле «Товары» уже заполненного документа?

Процедура ТоварыСтавкаНДСПриИзменении(Элемент) // Рассчитать реквизиты табличной части. РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); КонецПроцедуры // ТоварыСтавкаНДСПриИзменении() Для Каждого Строчка из Товары Цикл Строчка.СтавкаНДС = Неопределено; // Передать управление на процедуру, вызываемую // из обработчика события «ПриИзменении» для поля ввода «СтавкаНДС» ЭлементыФормы.Товары.ТекущаяСтрока = Строчка; РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); КонецЦикла;

Как заполнить значения свойств нового документа на основании существующего?

НовыйСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); ЗаполнитьЗначенияСвойств(НовыйСчет, ДокументЗаказа, , «Дата»); // Заполнить табличную часть Товары. Для Каждого СтрокаТоваровЗаказа Из ДокументЗаказа.Товары Цикл ЗаполнитьЗначенияСвойств(НовыйСчет.Товары.Добавить(), СтрокаТоваровЗаказа); КонецЦикла; // Заполнить табличную часть ВозвратнаяТара Для Каждого СтрокаТарыЗаказа Из ДокументЗаказа.ВозвратнаяТара Цикл ЗаполнитьЗначенияСвойств(НовыйСчет.ВозвратнаяТара.Добавить(), СтрокаТарыЗаказа); КонецЦикла; // Заполнить табличную часть Услуги Для Каждого СтрокаУслугЗаказа Из ДокументЗаказа.Услуги Цикл ЗаполнитьЗначенияСвойств(НовыйСчет.Услуги.Добавить(), СтрокаУслугЗаказа); КонецЦикла; НовыйСчет.ЗаказПокупателя = ДокументЗаказа; Форма = НовыйСчет.ПолучитьФорму(); Форма.Открыть();

Как получить перечень приходных накладных, в которых не заполнены номенклатурные позиции?

Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ РАЗЛИЧНЫЕ | ПриходнаяТовары.Ссылка как Накладные |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПриходнаяТовары |ГДЕ | ПриходнаяТовары.Номенклатура = &ПустаяНоменклатура»; Запрос.УстановитьПараметр(«ПустаяНоменклатура», Справочники.Номенклатура.ПустаяСсылка()); ТаблицаНакладных = Запрос.Выполнить();

Как на дату расходной накладной определить курс валюты управленческого учета?

ВЫБРАТЬ КурсыВалютСрезПоследних.Валюта КАК ВалютаУпр, КурсыВалютСрезПоследних.Курс КАК КурсУпр ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта В (ВЫБРАТЬ УчетнаяПолитикаСрезПоследних.ВалютаУправленческая ИЗ РегистрСведений.УчетнаяПолитика.СрезПоследних(&ДатаДокумента, ) КАК УчетнаяПолитикаСрезПоследних ) ) КАК КурсыВалютСрезПоследних

Как из формы документа вызвать его неоперативное проведение?

Процедура ОсновныеДействияФормыОК(Кнопка) ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный; ЗаписатьВФорме(РежимЗаписиДокумента.Проведение); Закрыть(); КонецПроцедуры

Как в обработке проведения получить остатки, актуальные на позицию документа?

Запрос.Текст = «ВЫБРАТЬ | ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток, | ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ПараметрПериод, | ДоговорКонтрагента = &Договор | И | Сделка =&Сделка) КАК ВзаиморасчетыСКонтрагентамиОстатки»; Запрос.УстановитьПараметр(«ПараметрПериод», МоментВремени());

Как определить количество документов и количество разных значений реквизита в таблице записей документа?

ВЫБРАТЬ КОЛИЧЕСТВО(РегистрацияПростоевВОрганизации.Ссылка) КАК Случаев, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрацияПростоевВОрганизации.ФизЛицо) КАК Работников ИЗ Документ.РегистрацияПростоевВОрганизации КАК РегистрацияПростоевВОрганизации ГДЕ РегистрацияПростоевВОрганизации.Проведен

В последовательность «ПартионныйУчет» добавлено измерение «Организация». Как теперь получить данные по границам последовательности для каждого значения этого измерения?

ТаблицаГраниц = Последовательности.ПартионныйУчет.ПолучитьГраницы(«Организация»); Для Каждого СтрокаТаблицыГраниц Из ТаблицаГраниц Цикл Организация = СтрокаТаблицыГраниц.Организация; ДатаГП = СтрокаТаблицыГраниц.Граница.Дата; СсылкаГП = СтрокаТаблицыГраниц.Граница.Ссылка; КонецЦикла;

Как определить документ новый или нет

Если Объект.Ссылка.Пустая() Тогда

Иначе

КонецЕсли;

Как проверить наличие реквизита в документе

Как проверить изменена ли форма

Если (ЭтаФорма.Модифицированность) ИЛИ (Объект.Ссылка = ПредопределенноеЗначение(«Документ.АвансовыйОтчет.ПустаяСсылка»)) Тогда
Ответ = Вопрос(«Перед выполнение действия необходимо записать документ. Записать?»,
РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да, «Внимание!»);
Если Ответ = КодВозвратаДиалога.Нет Тогда
//Обработка отказа
Иначе
// обработка записи
КонецЕсли;
Иначе
//Документ не новый и не изменялся
КонецЕсли;

Получить значение реквизитов через метаданные

ДанныеСчетаФактуры = Новый Структура(); ДанныеСчетаФактуры.Вставить(«Ссылка», СсылкаНаОбъект); ДанныеСчетаФактуры.Вставить(«Дата», СсылкаНаОбъект.Дата); ДанныеСчетаФактуры.Вставить(«Номер», СсылкаНаОбъект.Номер); Для каждого РеквизитОбъекта Из Метаданные.Документы.Реквизиты Цикл ДанныеСчетаФактуры.Вставить(СокрЛП(РеквизитОбъекта.Имя), СсылкаНаОбъект); КонецЦикла;

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

Понять, что записываемый документ — новый, можно в процедуре ПередЗаписью. Здесь у документа ещё нет ссылки. Это и есть признак того, что документ новый.

А далее мы передадим этот признак туда, где он нам нужен. В процедуру ПриЗаписи или ОбработкаПроведения.

Для передачи воспользуемся конструкцией встроенного языка 1С: ДополнительныеСвойства.

Вот что об этой конструкции говорит встроенная справка платформы 1С:

ДополнительныеСвойства.
Тип: Структура.

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

Итак, в нашем случае мы реализуем передачу дополнительного свойства таким образом:

Если Не ЗначениеЗаполнено(Ссылка) Тогда ДополнительныеСвойства.Вставить(«ЭтоНовыйОбъект», Истина); КонецЕсли;

Структура ДополнительныеСвойства будет доступна в процедурах ПриЗаписи и ОбработкаПроведения.

Проверка ключа и значения в структуре:

Если ДополнительныеСвойства.Свойство(«ЭтоНовыйОбъект», Истина) Тогда // Обработка условия КонецЕсли;

Сделайте так, чтобы программа списывала товары, даже если их нет на складе – просьба, которую часто слышат наши консультанты, особенно от новых клиентов. Последнее время к этой просьбе добавился вопрос: почему в некоторых базах программа предупреждает о неактуальности сведений, а в некоторых нет? Решение и в том и в другом случае кроется в настройках 1С:Бухгалтерия 8.3, о которых я и хочу вам сегодня рассказать. Это настройка проведения документов в программе.

Находится эта настройка в разделе Администрирование:

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

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

По умолчанию в программе установлен флажок При проведении документов. Это стандартная работа программы. Т.е. все расчеты происходят в момент проведения документов. Например, при продаже документ Реализация товаров делает проводку по списанию себестоимости товара:

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

В этом случае ОСВ по счету 41 будет выглядеть так:

Зачем, спросите вы? Конечно, большинству из вас такая настройка наверное не понадобится. Но разработчики предусмотрели такой вариант работы для компаний с большим документооборотом. Когда в день создается и проводится десятки и сотни документов. В этом случае для ускорения оперативной работы программы и имеет смысл сделать соответствующую настройку. Программа будет работать значительно быстрее, а все расчеты будут выполняться при закрытии периода.
Но даже если вы захотите попробовать работать в таком режиме, помните, что не для всех организаций можно изменить режим расчетов. Расчеты всегда будут проводиться при проведении документов если организация или ИП:
— применяет УСН (доходы минус расходы)
— ведет раздельный учет НДС;
— использует способ оценки МПЗ «ФИФО»;
— использует способ оценки товаров «По продажной стоимости»;
— использует оплату платежными картами;
— применяет ОСНО (только для ИП).

Следующая настройка этого раздела это как раз установка возможности списывать товары или материалы при отсутствии их на складе:

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

ОСВ по 41 счету в этом случае выглядит так:

Если же флажок не установлен, то программа проконтролирует наличие запасов на складе и при попытке провести документ сообщит вам об ошибке. Ведь очень часто при такой настройке могут возникнуть ошибки, которые вы не успеете вовремя заметить. Как исправить ошибки при списании МПЗ вы можете прочитать в нашей статье Как найти ошибку при списании МПЗ.
При установке следующего флажка в настройках проведения документов программа при формировании различных отчетов будет оперативно анализировать последовательность проведения документов, так как это существенно влияет на корректность отображения данных.

При необходимости программа будет предлагать актуализировать данные:

Ну и последняя настройка проведения документов позволит вам не контролировать каждый раз время создания документов в течение дня.

Ситуация, когда поступление товара и его продажа были проведены в один день, но реализацию вы ввели раньше и программа не дает провести документ реализации, знакома? Думаю, многим из вас приходилось открывать проведенные документ и вручную менять минуты или даже секунды создания документа. Тоже самое касается и излишних оборотов п счету авансов. Когда оплата и отгрузка или поступление в один день, но из-за времени проведения документа программа гоняет суммы по счетам авансов. Сталкивались с этим? Конечно да! Так вот последний флажок в настройках проведения и поможет вам справиться с такими ситуациями. При его установке в создаваемом вами документе поступления будет автоматически устанавливаться время 7:00:

А в документах реализации автоматически будет устанавливаться время 14:00

Документ Списание с расчетного счета автоматически будет создан в 18:00:

А Поступление на расчетный счет будет создаваться в 17:00

Ну и напоследок хочу обратить ваше внимание, что все настройки проведения документов, которые вы сделаете будут применяться сразу ко ВСЕМ организациям, учет по которым ведется в данной базе.
Вот и все, что я хотела вам рассказать о возможностях настройки проведения документов в программе 1С:Бухгалтерия 8, редакция 3.0. Надеюсь, что какие-то из них пригодятся вам в вашей работе.

Руководитель службы заботы

Буданова Виктория

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *