Table of Contents

1С:Предприятие

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


Объем оперативной памяти

Для работы в 1С версии 8 рекомендую иметь не менее 1 Гбайта оперативной памяти. Вот данные по памяти, занимаемой процессом 1cv8.exe при запуске под Windows XP:

В процессе работы размер 1cv8.exe может доходить до 600-700 мегабайт.


Свойства номенклатуры

Для учёта комплектующих есть необходимость иметь три дополнительных характеристики:

Сначала нужно зайти в “Операции/План видов характеристик”, выбрать “Свойства объектов”, справочник “Номенклатура”. Нажимая Ins, добавьте свойства “Трудоёмкость”, “Поставщик”, “Код заказа”. После этого соответствующие строчки появятся в закладке “Свойства” формы номенклатуры.

Из программы занести значения свойств можно следующим образом:

товар = Справочники.Номенклатура.НайтиПоНаименованию ("ATmega128-16AI", Истина);
свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию ("Поставщик", Истина);
запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
запись.Объект = товар;
запись.Свойство = свойство;
запись.Значение = "Atmel";
запись.Записать();

Возможность изменения конфигурации

Изначально конфигурация закрыта от внесения изменений. Чтобы иметь возможность добавлять свои обработки, поля в таблицах, изменять формы, надо разрешить изменение конфигурации. Для этого выполните команду меню “Конфигурация / Поддержка / Настройка поддержки”. В верхней части окна имеется надпись “Конфигурация находится на поддержке” и кнопка “Включить возможность изменения”. Нажав эту кнопку, Вы получите возможность вносить изменения в конфигурацию.

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

Это длительный процесс, у меня занимал около 8 минут.


Дополнительные поля в спецификациях

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

Добавим эти поля. Откроем окно конфигурации (меню Конфигурация / Окно конфигурации). Выберем “Справочники / СпецификацииНоменклатуры / Табличные части / ИсходныеКомплектующие”, нажмем правую кнопку, выполним “Добавить / Реквизит табличной части”. Добавим имена “Обозначение” и “Примечание”, тип строка, размер, скажем, 256 символов. После этого соответствующие строчки появятся в закладке “Свойства” формы номенклатуры.

Добавим эти поля на форму. Откроем форму “Справочники / СпецификацииНоменклатуры / Формы / ФормаЭлемента”. Жмем правую кнопку на заголовке таблицы исходных комплектующих, выполняем “Добавить колонку”. Ставим колонкам свойства Имя, Данные, ЭлементУправления=Поле ввода. Можно также передвинуть колонки левее, после ЕдиницыИзмерения.

Сохраним конфигурацию (меню Конфигурация / Сохранить конфигурацию). Занимает порядка трёх минут.

Внесём изменения в базу (меню Конфигурация / Обновить конфигурацию базы данных). Еще пара минут.


Установка клиента 1С под Линукс

Клиентская часть 1С:Предприятия прекрасно устанавливается и работает под Линуксом (Ubuntu 7.10) с использованием wine (0.9.46). Если при запуске Вы получаете ошибку вида:

Ошибка при выполнении операции с информационной базой
server_addr=tcp://FOOBAR:1562 descr=Ошибка сетевого доступа к серверу

добавьте в файл /etc/hosts строку с IP-адресом и именем сервера:

AAA.BBB.CCC.DDD   FOOBAR

Если шрифт на экране слишком мелкий, найдите в файле ~/.wine/system.reg строку

"LogPixels"=dword:00000060

и исправьте на большее значение, например 00000078.


Создание внешней печатной формы

Хорошее описание есть в статье Юрия Задачина.

  1. В конфигураторе выполняем “Файл / Новый…”, вид документа “Внешняя обработка”. Задаём имя, скажем “ФирменныйСчетФактура”.
  2. Правой кнопкой жмём на “Реквизиты”, выбираем “Добавить”. Даём новому реквизиту имя “СсылкаНаОбъект”, тип “ЛюбаяСсылка”.
  3. Жмём на кнопку “Действия”, выбираем “Открыть модуль объекта”. Наша задача - создать функцию “Печать() экспорт”, возвращающую заполненный табличный документ.
функция Печать() экспорт
    для каждого док из СсылкаНаОбъект.ДокументыОснования цикл
	если ТипЗнч (док.ДокументОснование) = Тип ("ДокументСсылка.РеализацияТоваровУслуг")
	тогда
	    возврат ПечатьСчетаФактуры (СобратьДанныеПоРеализацияТоваровУслуг (док.ДокументОснование));
	конецесли;
    конеццикла;
    возврат неопределено;
конецфункции

Текст недостающих функций ПечатьСчетаФактуры(), СобратьДанныеПоРеализацияТоваровУслуг(), ИнициализацияТаблицыСтрок() и ПроставитьПрочеркиВПустыеПоля() надо взять из текста модуля Документы/СчётФактураВыданный.

Необходимо скорректировать ссылки на атрибуты:

Теперь добавим нашу новую печатную форму в систему 1С. Сохраним файл, вызовем 1С:Предприятие и выполним команду “Сервис / Открыть список внешних печатных форм”. Нажмём кнопку “Добавить”. В появившемся окне регистрации внешней печатной формы выбираем файл кнопкой “Заменить файл внешней обработки”. В поле “Принадлежность печатной формы” жмём “Добавить” и выбираем документ “Счёт-фактура выданный”.

Примеры кода внешних печатных форм:

Готовые модули внешних печатных форм:


Учёт по серийным номерам

Следующие документы содержат табличную часть “Серийные номера”:

Модуль поиска документов по серийным номерам: бинарный файл, исходный текст.


Настройка электронной почты

Чтобы высылать клиентам через интернет счета и прочие документы, требуется настроить электронную почту в части SMTP. Проблема в том, что 1С требует также наличия POP3-сервера, иначе посылать почту не желает. От этого легко избавиться.

В конфигураторе открываем модуль справочника “УчетныеЗаписиЭлектроннойПочты”. В функции ПроверитьЗаполнениеОбязательныхПолей() закомментируем проверку значений POP3Сервер, ПортPOP3 и Логин. Сохраняем модуль, обновляем конфигурацию, создаем учётные записи почты для пользователей без указания POP3-сервера.