Uploaded by Irasik67

1С Бухгалтерия 7.7 решение типичных проблем пользователя

advertisement
Сергей Михайлов
Александр Черков
Илья Цветков
Санкт-Петербург
«БХВ-Петербург»
2005
УДК 681.3.06
ББК 32.973.26-018.2
М69
Михайлов С. Е., Черков А. А., Цветков И. В.
М69
1С:Бухгалтерия 7.7. Решение типичных проблем пользователя. —
СПб.: БХВ-Петербург, 2005. — 272 с.: ил.
ISBN 5-94157-753-2
Представлено решение типичных проблем пользователей программы
1С:Бухгалтерия 7.7, с которыми бухгалтер может справиться самостоятельно.
Рассмотрены приемы администрирования и работы с распределенной базой
данных, совместное использование MS Excel и 1С, приведены примеры использования 1С-конструкторов при составлении отчетов. Объясняется, как работать с 1С-программистами и грамотно ставить им задачи, как находить бесплатные ответы на сложные вопросы.
Для широкого круга пользователей 1С
УДК 681.3.06
ББК 32.973.26-018.2
Группа подготовки издания:
Главный редактор
Зам. гл. редактора
Зав. редакцией
Редактор
Компьютерная верстка
Корректор
Дизайн обложки
Зав. производством
Екатерина Кондукова
Евгений Рыбаков
Григорий Добин
Владислав Сизов
Натальи Караваевой
Виктория Пиотровская
Игоря Цырульникова
Николай Тверских
Лицензия ИД № 02429 от 24.07.00. Подписано в печать 20.09.05.
Формат 70 1001/16. Печать офсетная. Усл. печ. л. 21,93.
Тираж 5000 экз. Заказ №
"БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б.
Санитарно-эпидемиологическое заключение на продукцию
№ 77.99.02.953.Д.006421.11.04 от 11.11.2004 г. выдано Федеральной службой
по надзору в сфере защиты прав потребителей и благополучия человека.
Отпечатано с готовых диапозитивов
в ГУП "Типография "Наука"
199034, Санкт-Петербург, 9 линия, 12
ISBN 5-94157-753-2
© Михайлов С. Е., Черков А. А., Цветков И. В., 2005
© Оформление, издательство "БХВ-Петербург", 2005
Îãëàâëåíèå
Введение ..................................................................................................... 1
Состав книги............................................................................................................ 2
Глава 1. Администрирование системы 1С:Предприятие ................................ 2
Глава 2. Простейшее конструирование............................................................. 2
Глава 3. Работа с Excel ........................................................................................ 2
Глава 4. Формы работы программиста и заказчика ........................................ 3
Глава 5. Работа с программистом ...................................................................... 3
Глава 6. Постановка задач .................................................................................. 4
Глава 7. Управление распределенными базами данных ................................. 4
Глава 8. 1С и Интернет ....................................................................................... 4
Приложения ............................................................................................................. 5
Экономический эффект от внедрения рекомендаций из этой книги .............. 6
Почему пользователи не выбирают 1С? ............................................................... 6
Устанавливать ли новую версию программы? ..................................................... 8
Заблуждения покупателя бухгалтерского ПО ...................................................... 9
Об авторах ................................................................................................................ 9
Михайлов Сергей Евгеньевич ............................................................................ 9
Черков Александр Анатольевич ....................................................................... 10
Цветков Илья Владимирович ........................................................................... 10
Глава 1. Администрирование системы 1С:Предприятие ................................ 11
Как указать путь к базе данных в окне запуска 1С .......................................... 11
Как создать архив базы данных........................................................................... 13
Как восстановить базу данных из архива ........................................................... 14
Как создать несколько баз данных ..................................................................... 15
Как скопировать базу данных ............................................................................. 16
Последовательность действий при сбоях в БД .................................................. 16
Как пересчитывать бухгалтерские итоги ............................................................ 19
Как изменить список пользователей .................................................................. 19
Как настроить интерфейс пользователя ............................................................. 21
Создание нового меню ......................................................................................... 24
IV
Îãëàâëåíèå
Как настроить права доступа ............................................................................... 28
Работа с монитором пользователей .................................................................... 30
Запуск системы 1С:Предприятие в режиме "Монитор" ................................... 31
Как просмотреть список активных пользователей
и Журнал регистрации.......................................................................................... 31
Архивирование журнала регистрации................................................................. 32
Работа с журналом регистрации .......................................................................... 33
Экспорт данных из 1С:Торговля в 1С:Бухгалтерия .......................................... 35
Как обновлять квартальные отчеты в 1С:Бухгалтерия ..................................... 37
Блокировка программы 1С .................................................................................. 39
Как производить изменения в конфигурации ................................................... 39
Как изменить план счетов ................................................................................... 40
Как вырезать фрагмент лога файла журнала действий
пользователей и послать его по почте ................................................................ 41
Как сделать скриншот программы 1С ................................................................ 42
Рекомендации. Вопросы и ответы ...................................................................... 42
Работа с константами ........................................................................................ 42
Как пользоваться пакетной обработкой документов .................................... 43
Что делать, если программа не запускается
и выдает сообщение "Не найден ключ защиты"............................................ 44
При запуске 1С:Предприятие программа не загружается
и выдает сообщение наподобие "Каталог базы не обнаружен C:\1C" ........ 46
Не удается запустить 1С:Предприятие, программа останавливается
и выводит сообщение "Ошибка блокировки данных. Возможно,
данные используются другой задачей"............................................................ 46
Программа не запускается и выдает сообщение "Ошибка загрузки
метаданных" ....................................................................................................... 47
Программа не запускается и выдает сообщение "Ошибка открытия
индексного файла таблицы. Для восстановления индексных файлов
запустите программу в монопольном режиме" .............................................. 47
Программа не запускается и выдает сообщение "Поврежден файл
журнала регистрации" ....................................................................................... 48
При запуске программы появляется окно
с надписью 1С:Предприятие и тут же исчезает ............................................. 48
При попытке открыть базу данных программа останавливается
с сообщением об ошибке: "Порядок сортировки, установленный
для базы данных, не совпадает с системным" ............................................... 48
При запуске программа останавливается с сообщением об ошибке:
"Runtime Error! Program c:\Program Files\ 1Cv77\Bin1\Cv77.exe.
Abnormal termination" ........................................................................................ 49
При запуске программа сначала запрашивает кодировку (кодовую
страницу и порядок сортировки), а потом загрузка останавливается
с сообщением об ошибке: "Невосстановимая ошибка базы данных.
Код — 10. Ошибка открытия словаря базы данных" .................................... 49
Îãëàâëåíèå
V
Как определить, где находится база 1С:Предприятие?................................. 50
При запуске с третьего-четвертого компьютера программа
не запускается с сообщением наподобие "Ошибка доступа
к таблице DT****" .............................................................................................. 50
1С:Предприятие очень долго открывает базу ................................................ 50
Параметры командной строки для файла 1cv7.exe........................................ 50
Свертывание базы данных 1С:Бухгалтерия .................................................... 51
Что делать при переходе с торговли или комплексной бухгалтерии
на бухгалтерию ................................................................................................... 52
Как определить фронт работ программиста по переносу данных
из одной базы в другую .................................................................................... 52
Определение плана переноса данных ............................................................. 53
Глава 2. Простейшее конструирование ........................................................ 55
Как изменить справочник "Номенклатура" без помощи программиста ........ 55
Изменение ставки НДС .................................................................................... 55
Поиск ошибок в счет-фактурах ........................................................................... 69
Реализация поиска ошибок в счет-фактурах ................................................. 69
Пошаговая инструкция решения проблемы .................................................. 69
Заключение ........................................................................................................ 86
Поиск одинаковых элементов в справочниках ................................................. 86
Алгоритм поиска одинаковых элементов ....................................................... 86
Пошаговая инструкция решения проблемы .................................................. 87
Движение товаров ................................................................................................. 98
Создание отчета "Движение товаров" ............................................................. 98
Пошаговая инструкция по написанию отчета ............................................... 99
Реестр товар — клиент ....................................................................................... 107
Пошаговая инструкция создания реестра .................................................... 107
Глава 3. Работа с Excel ............................................................................ 119
Импорт данных из 1С......................................................................................... 119
Автосуммирование .............................................................................................. 120
Применение функций ........................................................................................ 120
Некоторые категории функций ......................................................................... 122
Арифметические и тригонометрические функции...................................... 122
Логические функции ....................................................................................... 123
Функции обработки текста............................................................................. 123
Финансовые функции ..................................................................................... 123
Функции ссылки и автоподстановки ............................................................ 124
Сортировка данных в таблице ........................................................................... 124
Использование фильтров ................................................................................... 124
Отображение строк списка с использованием фильтра ............................. 125
Применение функции Итоги ............................................................................ 126
VI
Îãëàâëåíèå
Глава 4. Формы работы программиста и заказчика .................................... 127
Почему нет идеальной системы? ...................................................................... 127
Универсальный алгоритм решения проблем ................................................... 127
Порядок составления ТЗ .................................................................................... 129
Какие разделы должно включать ТЗ ................................................................ 131
Работа по договору или пошаговая стратегия?................................................ 132
Экстремальное программирование ................................................................... 133
Техническое задание ........................................................................................... 135
Неопределенности ТЗ ......................................................................................... 135
Для чего нужно ТЗ .............................................................................................. 136
Состав технического задания............................................................................. 136
Описание разделов технического задания ....................................................... 137
Раздел "Основание для разработки" .............................................................. 137
Раздел "Назначение разработки" ................................................................... 137
Раздел "Методологические основы решения задач".................................... 137
Раздел "Функциональные спецификации и описание алгоритма"............ 138
Раздел "Условия эксплуатации" ..................................................................... 139
Порядок контроля работоспособности программ
и сдача-приемка работ по привязке .............................................................. 139
Раздел "Этапы разработки" ............................................................................. 140
Графическое моделирование бизнес-процессов ............................................. 141
Системный подход в построении графов......................................................... 142
Граф — альтернативный способ представления списков .............................. 143
Как представить в виде графа бухгалтерские счета ........................................ 144
Пример представления в виде графа схемы оптовой торговли ................. 145
Поиск новых идей при помощи графов (применение концептуального
картирования для поиска свежих решений) .................................................... 145
Как строить граф ................................................................................................. 147
Попробуйте решить проблему при помощи графа...................................... 147
Компьютерная программа для построения графов ......................................... 148
Идеальная постановка задачи (задача в стиле ТРИЗ) .................................... 148
Теория решения изобретательских задач ......................................................... 149
Как сформулировать противоречие............................................................... 149
ТРИЗ. Законы развития технических систем .............................................. 150
Некоторые приемы устранения технических противоречий ..................... 152
Пример формулирования и решения противоречий .................................. 154
Способы разрешения бухгалтерских проблем в стиле ТРИЗ..................... 155
Если не можете определить корень проблемы — упростите задачу ............. 156
Глава 5. Работа с программистом .............................................................. 157
А может быть, обойтись без программиста? .................................................... 157
Мнение 1 .......................................................................................................... 157
Мнение 2 .......................................................................................................... 158
Мнение 3 .......................................................................................................... 158
Îãëàâëåíèå
VII
Как решить проблему бесплатно? ..................................................................... 159
Работа с горячей линией фирмы 1С ................................................................. 159
Поиск программиста........................................................................................... 160
Рекомендации .................................................................................................. 160
Программист как кот в мешке ....................................................................... 160
Нормирование труда программиста .............................................................. 161
Из чего складываются трудозатраты на программирование?..................... 161
Гарантийное обслуживание ............................................................................ 162
Идеальный программист .................................................................................... 162
Использование бухгалтерской терминологии .............................................. 163
Специалист должен работать быстро и без ошибок ................................... 163
Программист должен обладать навыком слепой печати ............................ 165
У программиста уже должны быть нужные вам наработки ....................... 165
Профессиональный программист делает свою работу красивой .............. 165
Как распознать студента? ............................................................................... 166
Программист может не иметь сертификата ................................................. 166
У программиста должен быть список предприятий,
с которыми он работал ................................................................................... 167
А есть ли негативные отзывы о партнере? ................................................... 167
Программист может работать один или в солидной фирме ...................... 167
Отдельные аспекты работы с программистом ................................................. 168
Меры безопасности ......................................................................................... 168
Аудит работы программиста ........................................................................... 169
Специалист всегда оговаривает срок бесплатного
исправления ошибок ....................................................................................... 169
Документация при работе с программистом................................................ 170
Как выбрать внедренческую фирму .................................................................. 170
Работа с программистской фирмой .................................................................. 170
Критерии выбора ............................................................................................. 170
Почасовая ставка оплаты труда программиста ............................................ 171
Прием специалиста на работу ........................................................................... 171
Заповеди клиента ................................................................................................ 171
Обман программистами заказчиков.................................................................. 172
Как противостоять обману со стороны программистов ................................. 172
Как заказчик может не заплатить программисту ............................................ 173
Примеры попыток обмана ................................................................................. 174
Диалог 1 ............................................................................................................ 174
Диалог 2 ............................................................................................................ 174
Диалог 3 ............................................................................................................ 174
Как найти с программистом общий язык ........................................................ 175
Тезаурус программиста ....................................................................................... 176
Заимствования из системного языка ............................................................ 176
Терминология 1С............................................................................................. 176
Уровень сложности задачи ............................................................................. 176
VIII
Îãëàâëåíèå
Терминология аппаратной части ................................................................... 176
Термины времени ............................................................................................ 176
Трудоемкость процесса внедрения программы ........................................... 176
Справочник соответствия терминов клиентов и программиста.................... 177
Различие метамоделей программиста и заказчика ...................................... 177
Пример переформулирования задачи в терминах программиста ................. 177
Как понять, может ли программист сделать программу ................................ 179
Глава 6. Постановка задач ........................................................................ 181
Задачи, которые может решить пользователь.................................................. 181
Как убрать "пересортицу" счетов? ..................................................................... 182
Как делать проводки, не увеличивая дебетовые
и кредитовые обороты .................................................................................... 183
Операции, продленные во времени .................................................................. 184
Как хранить информацию на бухгалтерских счетах ....................................... 185
Как настроить автоматическую проверку счетов ............................................ 185
Как множество превратить в единицу .............................................................. 187
Использовать сторно или обратную проводку?............................................... 187
Схема операций отгрузки готовой продукции по предоплате ................... 189
Для чего нужна инвентаризация ....................................................................... 189
Инвентаризация остатков товаров................................................................. 190
Примеры постановки задач программисту ...................................................... 191
Как определить последние незакрытые накладные .................................... 191
Учет товара в пути............................................................................................... 193
Решение 1 ......................................................................................................... 193
Решение 2 ......................................................................................................... 194
Рекомендации по нахождению красивого решения ....................................... 194
Продолжение задачи "Учет товара в пути"....................................................... 194
Решение 1 ......................................................................................................... 194
Решение 2 ......................................................................................................... 195
Пример сложного на вид, но простого решения ............................................ 195
Вариант решения 1 .......................................................................................... 195
Вариант решения 2 .......................................................................................... 195
Сведение схем к стандартным и простым ....................................................... 195
"Воруют, а где — не пойму" ............................................................................... 196
Описание мероприятий по ведению склада "Экспедитор" ........................ 198
Как решать проблему "Воруют, а где — не пойму?" ....................................... 200
Какое отношение тема воровства имеет к программе 1С? ........................ 201
Некоторые лазейки для воровства .................................................................... 202
Совмещение должностей ................................................................................ 202
Поиск идеальной программы......................................................................... 202
Подмена понятий ............................................................................................ 202
Работа со скидками ......................................................................................... 204
Возможность изменять документы задним числом..................................... 204
Îãëàâëåíèå
IX
Использование информации базы данных для продажи конкурентам .... 205
Кража по подложным документам ................................................................ 205
Чем грозит изменение в базе данных ............................................................... 205
Меры по предотвращению краж ....................................................................... 205
Как предотвратить кражи оператором .......................................................... 205
Запретительных мер недостаточно ................................................................ 206
Кредит доверия к программе — мощнейший инструмент
для поиска воров ............................................................................................. 206
Акты сверки как средство обнаружения краж ............................................. 207
Глава 7. Управление распределенными базами данных ............................... 209
Коллизии .............................................................................................................. 211
Коллизия "Один и тот же объект изменен более, чем в одной ИБ" ......... 211
Коллизия "Объект, измененный в одной ИБ, удален в другой" ............... 212
Вопросы по УРБ.................................................................................................. 213
Ссылки на ресурсы в Интернете ....................................................................... 214
Глава 8. 1С и Интернет ............................................................................ 215
Как правильно задавать вопросы в Интернете................................................ 215
Дополнительные команды поисковых машин ................................................ 216
Как найти в Интернете нужный закон ............................................................ 217
Как составить идеальную строку поиска ......................................................... 218
Ищите информацию в Интернете в два этапа ................................................ 219
Будьте постоянно в курсе новостей — пользуйтесь
интернет-рассылками ......................................................................................... 219
Интернет-форумы ............................................................................................... 220
Пример решения проблемы пользователя
при помощи интернет-конференции ............................................................ 220
Еще один пример обсуждения в форуме "Как вести несколько касс" ..... 222
Пример обсуждения проблемы производства
в интернет-конференции ................................................................................ 222
Сопровождение предприятий через Интернет ................................................ 223
ПРИЛОЖЕНИЯ ...................................................................................... 225
Приложение 1........................................................................................... 227
Как вести себя бухгалтеру по отношению к программисту ........................... 227
Как общаться программистам с бухгалтерами ................................................ 229
Приложение 2. Договор на обслуживание компьютерной техники
и бухгалтерского программного обеспечения ....................... 231
Приложение 3. Соглашение об условиях и порядке работы программиста ...... 233
X
Îãëàâëåíèå
Приложение 4. Отраслевой стандарт — автоматизированная система
управления предприятием. Создание системы ..................... 235
Приложение 5. Выписка из должностной инструкции администратора
компьютерной сети ............................................................ 241
Задачи администратора компьютерной сети ................................................... 242
Функции администратора компьютерной сети ............................................... 242
Обязанности и ответственность администратора компьютерной сети ........ 242
Приложение 6. Техническое задание на внедрение системы 1С
на предприятии ................................................................. 243
Общее описание реализации ............................................................................. 243
Учет деталей ......................................................................................................... 243
Состав и структура справочников ..................................................................... 245
Справочник "Детали" ...................................................................................... 245
Состав и структура документов ......................................................................... 245
Документ "Приходная накладная на детали" ............................................... 246
Печатные формы документа .......................................................................... 247
Движение по регистрам .................................................................................. 247
Документ "Расходная накладная на детали"................................................. 247
Печатные формы документа .......................................................................... 247
Движение по регистрам .................................................................................. 248
Состав и структура журналов............................................................................. 248
Журнал "Заказы на ремонт" ........................................................................... 248
Журнал "Детали" .............................................................................................. 248
Структура журнала .......................................................................................... 248
Отчеты и обработки ............................................................................................ 248
Состав и структура регистров ............................................................................ 249
Регистр "Детали" .............................................................................................. 249
Измерения регистра ........................................................................................ 249
Ресурсы регистра ............................................................................................. 249
Реквизиты регистра ......................................................................................... 250
Глоссарий ................................................................................................. 251
Бухгалтерские термины и сокращения............................................................. 253
Проводки .......................................................................................................... 253
Субконто {Контрагент} ................................................................................... 253
Сокращения и термины, применяемые в книге ............................................. 253
Предметный указатель .............................................................................. 255
При написании книги не пострадала
ни одна база данных и ни один бухгалтер ;)))
Ââåäåíèå
Эта книга написана 1С-программистами, хотя мы и не имеем официальных
сертификатов. Как проверить программиста? Попросить его решить проблему на месте. Если он не сможет, то хоть 10 сертификатов показывай —
все равно не поверят. 80% задач решаются за час, а остальные за два часа
(шутка).
Сначала мы просто не предполагали, что такие сертификаты есть, а потом
они нам стали нужны, как не нужны костыли здоровому человеку. Мы не
даем рекламу в средствах массовой информации: сначала на это не было
денег, а потом нами была разработана схема, позволяющая находить клиентов без рекламных затрат. Например, можно попросить своих клиентов дать
рекомендацию другим бухгалтерам или предоставить нам список телефонов,
по которым могут потребоваться наши услуги. Сегодня среди наших клиентов заводы и торговые предприятия.
Мы не продаем коробок. Мы налаживаем учет у клиентов. Форма организации нашей компании — ассоциация. У нас нет офиса. Вернее, мы пытались
его несколько раз открыть, но каждый раз это заканчивалось неудачей.
Просто офис стоял пустой. Мы назначаем встречи в кафе или у клиентов
либо решаем вопросы по телефону.
Это вторая книга, посвященная 1С. Первая была рассчитана на программистов. Вторая написана по настоятельным просьбам бухгалтеров, которые
спрашивают, где можно доходчиво прочитать об 1С.
Нас часто спрашивают, есть ли книга, в которой описываются простейшие
способы работы с 1С, которые позволяют обойтись без программиста. Наконец такая книга есть. Она в ваших руках.
2
Ââåäåíèå
Ñîñòàâ êíèãè
Ãëàâà 1. Àäìèíèñòðèðîâàíèå
ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
Вы узнаете об элементарных приемах администрирования, которые можно
выполнять самостоятельно или в режиме консультаций по телефону. Здесь
описаны только часто встречающиеся проблемы. Настоятельно советую
прочитать эту главу. Вопросы, которые возникали у моих клиентов много
раз, наверняка знакомы и вам. Мало того, вопросы по администрированию
баз данных продолжают возникать. Теперь я знаю, как поступить. Я дам
своим клиентам эту книгу и попрошу тщательно прочитать главу об администрировании 1С. Проблема в том, что пользователь 1С не знает, что может решить проблему сам.
Из этой главы вы узнаете, как решить 80% проблем.
Вот описание реальной ситуации:
— Что мне делать, у меня не работает мышь и клавиатура?
— Они не работают только в 1С или и в других программах тоже?
— Везде.
— Перезагрузите компьютер.
— Как? А если потеряются данные! Может быть, подождать вас?
— Если вам не жалко денег, то ждите, я сам перезагружу компьютер. Подумайте, ведь я буду решать проблему теми же средствами.
Закройте 1С. Перезагрузите компьютер. Протестируйте базу. Пересчитайте
итоги. Это простое средство избавит вас от 50% проблем. О решении остальных читайте в главе 1.
Ãëàâà 2. Ïðîñòåéøåå êîíñòðóèðîâàíèå
Вы можете написать программу и сами, ничего не понимая в программировании. Так, допустим, вы можете составить отчет, который выводит список
контрагентов и их ИНН. Вы можете без обращения к программисту внести
в формы накладных номер артикула отгружаемого товара.
Я не думаю, что вы отберете хлеб у программистов, если узнаете, как пользоваться конструктором 1С. С другой стороны, у программистов будет более
достойное занятие, чем конструирование отчетов.
Ãëàâà 3. Ðàáîòà ñ Excel
Использование Excel в качестве заменителя программиста — это реально.
Элементарные операции в Excel (сортировка, подведение итогов, составление
Ââåäåíèå
3
формул) позволяют найти ошибку в многостраничных отчетах. Возможно,
вы уже читали о переносе данных из 1С в Excel. Пожалуйста, прочитайте
еще раз. Мой опыт показывает, что часто бухгалтер предпочитает потратить
два часа на сложение цифр на калькуляторе более простой операции — переносу данных из 1С в Excel и использованию функции автосуммирования.
Конечно, Excel не панацея от всех проблем, однако может быть серьезным
помощником при поиске ошибок, которые выдает 1С. Особенно, когда два
отчета не сходятся друг с другом.
Ãëàâà 4. Ôîðìû ðàáîòû
ïðîãðàììèñòà è çàêàç÷èêà
Как добиться, чтобы проблема решалась по принципу "пришел, увидел, победил"? Как правильно поставить задачу? Почему задачу ставит себе программист, а заказчик не в состоянии написать техническое задание? Этим
вопросам посвящена данная глава.
Чем непонятнее сказано, тем мудрее говорящий. Здесь объясняется значение слов, которыми пугают бизнес-консультанты: ERP, IDEF0, системный
анализ, техническое задание, предпроектное обследование. Что скрывается
за заклинаниями реорганизаторов и оптимизаторов, как вывести шаманов
на чистую воду?
Что такое техническое задание (ТЗ)? Почему за 20 листков крупнокегельного шрифта просят 10% от суммы договора на внедрение? Можно ли обойтись без ТЗ и кто его придумал? Отраслевые стандарты (ОСТ), посвященные ТЗ. Можно ли оценить трудоемкость составления ТЗ? Может ли ТЗ
составлять одна команда, а программировать и внедрять программу другая?
В этой главе вы найдете:
описание графического языка представления проблемы — языка графов;
основные положения теории решения изобретательских задач (ТРИЗ);
описание стандарта IDEF0;
описание наиболее действенного языка постановки задач.
Ãëàâà 5. Ðàáîòà ñ ïðîãðàììèñòîì
Что лучше, пригласить фрилансера (свободного художника) или работника
крупной фирмы? А может быть, имеет смысл нанять собственного программиста? Не один десяток копий сломан на интернет-форумах, а ответа на эти
вопросы так и не найдено. Недостатки одного вида сотрудничества являются преимуществами другого, и наоборот. Глава не дает ответа на эти вопросы, но в ней излагаются аргументы всех заинтересованных сторон. Например, авторы книги — свободные художники, которые не имеют ни офиса,
4
Ââåäåíèå
ни желания организовывать разветвленные структуры, но навязывать свое
мнение мы не собираемся.
Читайте в этой главе:
как выбрать лучшего программиста и не переплатить ему;
как побудить программиста работать быстрее;
способы не заплатить программисту за выполненную работу;
как программисты получают деньги от заказчиков, не выполнив работу.
Ãëàâà 6. Ïîñòàíîâêà çàäà÷
Известно, что правильно поставленный вопрос — половина верного решения. Возможен и другой подход. Как говорил Р. Шекли, чтобы правильно
задать вопрос, нужно знать большую часть ответа. Это применимо не только
к теоретической физике, но и к бухгалтерскому учету.
В данной главе приводится описание проблем, которые на первый взгляд
требуют серьезного вмешательства программиста, однако на самом деле являются достаточно простыми. Решать такие проблемы возможно силами
бухгалтеров. Вы не верите? Тогда вам стоит прочитать эту главу.
Как следует подходить к решению проблемы? Почему стандартная конфигурация — это священная корова, которую лучше тревожить как можно реже?
Кончено, вопросы, рассмотренные в этой главе, по большей части относятся к компетенции программиста. Но проблема в том, что вы не знаете, какой программист к вам придет, поэтому вы как заказчик должны разбираться в том, что он будет делать.
Ãëàâà 7. Óïðàâëåíèå ðàñïðåäåëåííûìè
áàçàìè äàííûõ
В этой главе рассказывается, как сделать общими справочники номенклатуры, клиентов и документы для распределенного в пространстве предприятия
(то есть как связать компьютеры, не объединенные в одну локальную сеть),
а также даются ответы на часто задаваемые вопросы.
Ãëàâà 8. 1Ñ è Èíòåðíåò
Эта книга содержит в названии аббревиатуру 1С. Однако она затрагивает
более обширный круг проблем, например, работу с Интернетом. Прагматичный читатель вряд ли будет покупать книгу о работе с гипертекстом. Все
премудрости здесь укладываются в 5 страниц. С другой стороны, известно,
что найти что-либо в Интернете практически невозможно. Многие считают
его свалкой информационных отбросов.
Ââåäåíèå
5
Однако в реальности Интернет является средой, помогающей решать реальные проблемы и экономить деньги. Например, авторы книги ведут обучение
через Интернет, сопровождают клиентов через Интернет и экономят, таким
образом, время и средства программистов и заказчиков. Практически бесплатное подключение к всемирной поисковой системе, умноженное на технику поиска дает в результате бесценную информацию.
Представьте, что 90% вопросов, которые могли прийти вам в голову, уже
заданы в Интернете и на 80% из них даны ответы на сайтах энтузиастов,
фирм производителей, форумах пользователей, в специализированных базах
данных. Зачем же платить деньги, если можно получить информацию бесплатно?
Прочитав эту главу, вы сможете грамотно пользоваться поисковыми системами. Вы сможете найти и скачать на свой компьютер любой интересующий вас закон, подобрать исполнителей-программистов. В главе приведены
примеры решения проблем на интернет-форумах (от начальной постановки
вопроса до получения реальной рекомендации).
Пожалуйста, не используйте слепо примеры, приведенные в книге. Многие из
них специально упрощены, а другие наоборот избыточны. Они введены для того, чтобы показать, как можно решить ту или иную проблему.
Ïðèëîæåíèÿ
1. Инструкции "Как вести себя бухгалтеру по отношению к программисту"
и "Как общаться программисту с бухгалтерами". Тексты написаны в шуточной манере.
2. Бланк договора на обслуживание бухгалтерского программного обеспечения.
3. Бланк-соглашение об условиях и порядке работы программиста.
4. Отраслевой стандарт — автоматизированная система управления предприятием. Создание системы. Стандарт регламентирует трудоемкость работ по созданию и развитию автоматизированной системой управления
предприятием.
5. Выписка из должностной инструкции администратора компьютерной
сети.
6
Ââåäåíèå
6. Техническое задание на внедрение системы 1С на предприятии.
Ýêîíîìè÷åñêèé ýôôåêò îò âíåäðåíèÿ
ðåêîìåíäàöèé èç ýòîé êíèãè
Эта книга стоит 150 рублей. В то же время час работы программиста обойдется вам в 500 рублей. Прочитав эту книгу за вечер или за половину рабочего дня, то есть потратив на чтение 2000 рублей (500 рублей в час * 4 часа
чтения книги), вы сэкономите как минимум 100 часов работы программиста
(50 000 рублей).
50% вызовов программистов относятся к категории пылестирания (пришел,
улыбнулся, ткнул пару раз по клавишам и получил 500 рублей). Пылестирание — это разбазаривание человеческих ресурсов. Пора прекратить практику
выплаты денег ни за что и повысить образовательный уровень бухгалтеров и
операторов!
В книге описаны основы программирования без специальных навыков,
приемы администрирования, позволяющие самостоятельно разрабатывать
отчеты. Эти приемы помогут вам в 80% случаев. Вы узнаете, как принимать
на работу программиста и каким требованиям он должен соответствовать;
как грамотно формулировать задачу; что программисты обещают клиентам и
как они сами могут остаться без оплаты. Кроме того, в книге приведены
приемы работы с Интернетом, которые позволят сэкономить деньги на консультантах и журналах.
Книга рассчитана на бухгалтеров-женщин.
Надеемся, что чтение этой книги доставит вам удовольствие и принесет
пользу.
Сергей Михайлов, Александр Черков, Илья Цветков
http://www.Prosto1c.by.ru
Ïî÷åìó ïîëüçîâàòåëè íå âûáèðàþò 1Ñ?
Причины, по которым пользователи не выбирают программы 1С, кроются
в системе предубеждений и заблуждений в том, что купленная программа
с 90% вероятностью должна удовлетворять всем запросам пользователя.
На самом деле это не так. Программистские фирмы, работающие на сотни
тысяч пользователей, могут автоматизировать лишь задачи, универсальные
для всех предприятий. Такие задачи базируются на нормативных документах
по организации бухгалтерского учета и мало зависят от вида деятельности
предприятия.
Ââåäåíèå
7
Следующей причиной выбора другого пакета, а не 1С является некомпетентность лиц, принимающих решение. Можно встретить следующее мнение:
программа 1C плохая, потому что она дешевая;
1С плоха, потому что ее можно купить везде, даже в книжном магазине;
мы пробовали доработать программу, но ничего не получилось.
Первые два возражения не стоят серьезного ответа, что касается третьего, то
какова постановка задачи, таково и решение. К сожалению, часто проблема
кроется не в программисте и не в программной среде, а в постановке задачи. В большинстве случаев достаточна стандартная конфигурация с очень
небольшими доработками.
Некоторая часть бухгалтеров не может решить следующую задачу: что делать, если деньги сданы инкассатору сегодня, а поступили в банк через три
дня. Каким образом учитывать такие операции?
Ответ прост:
57/50
51/57
Что в данном случае можно говорить об уровне постановки задачи? Любая
система будет плоха.
В хозяйственном учете имеется множество многовариантных задач. Схема
ведения учета определяется конкретным предприятием. Вероятность того,
что конкретный вариант будет необходим большинству пользователей программы, незначительна. Решение таких задач фирма 1С отдает на откуп сторонним разработчикам.
Как можно покупать систему, которая не позволяет простыми способами
редактировать печатные формы? Представьте, что одному клиенту нужно
печатать артикул, другой ведет учет в штуках и ящиках, третий в кубометрах, а четвертый в тоннах, пятому следует указывать сроки годности товара,
и этот список можно продолжать и продолжать. В 1С подобные настройки
поддаются даже новичку.
Если к вам пришел рекламный агент с новой суперсистемой учета, попросите показать, как меняются печатные формы. Если он не сможет это сделать, покупать такую систему не стоит. Конечно, рекламный агент может не
знать всех тонкостей программирования, но настройку печатной формы
в 1С может выполнить любой пользователь!
Если вы выбираете 1С, то перед вами открывается широкий спектр вариантов сотрудничества. Вы можете работать со следующими категориями программистов:
новичком;
8
Ââåäåíèå
приходящим программистом;
крупным партнером фирмы 1С, у которого по найму работают десятки
программистов.
Вы можете выбрать услуги из разных ценовых ниш:
работа без оплаты (ученик будет рад написать вам программу бесплатно,
чтобы получить опыт);
работа через Интернет;
работа со специалистом;
наем работника.
Вы можете вести работу с различными конфигурациями:
выбрать решение головной фирмы;
выбрать решение фирмы-партнера;
разрабатывать свою конфигурацию.
Фирме 1С удалось убедить программистов вложить свои средства и время
в изучение инструментария 1С и тем самым обеспечить себе второй эшелон
бесплатных для 1С программистов и рекламных агентов, которые доводят
программы до нужной кондиции. Какая фирма может похвастаться столь
внушительным отрядом штатных и внештатных сотрудников?
Óñòàíàâëèâàòü ëè
íîâóþ âåðñèþ ïðîãðàììû?
С какой версией программы лучше всего работать: 6, 7, 8?
Старая программа надежна, но скоро перестанет поддерживаться программистами и производителем. Новая программа хороша, но в ней много недоделок.
Проблемы новых версий хорошо рассмотрим на примере автомобилей. Периодически автомобили новых моделей отзываются производителем для
устранения серьезных недостатков. Машины отзывают, а деньги возвращают. В индустрии программирования вместо отзыва продуктов придумывают
специальные программные заплатки. Вот и получается, что тот, кто пользуется последними версиями программного обеспечения, рискует стать подопытным кроликом для отладки новой системы. В то же время работающий
на устаревшем ПО рискует остаться без поддержки. Жить нужно в ногу со
временем.
Замена ПО — очень затратный процесс. Это не только расходы на приобретение программы, покупку новых компьютеров, но и потраченное время на
Ââåäåíèå
9
обучение сотрудников, перестройку схемы работы предприятия, поздно обнаруженные ошибки и т. п.
Кстати, при выборе новой программы не обязательно привязываться к 1С
(хотя я уверен, что вы остановите свой выбор именно на этой фирме).
Çàáëóæäåíèÿ ïîêóïàòåëÿ
áóõãàëòåðñêîãî ÏÎ
1. Я купил эту программу, следовательно, она должна работать. Тогда как на
самом деле программа должна обеспечивать настройку и быть открытой
для сторонних программистов.
2. Все в программе очевидно. На самом деле иногда нужно читать технические руководства.
3. Если что-то не получается, нужно приглашать специалистов. Это не верно. Начинать решение проблемы следует с верного формулирования вопроса. Вполне возможно, что проблема выеденного яйца не стоит.
4. Я не думал, что визит этого мальчика-программиста будет стоить столько же, сколько один час работы профессионального аудитора. Чтобы оценивать трудоемкость задачи, нужно разбираться в сути проблемы.
5. Работа программиста очень дорога (это другая крайность оценки труда
программиста). Утверждение не верное. Часть проблем можно решить по
телефону, поэтому следует покупать наиболее популярное программное
обеспечение (пусть будет консультантов как можно больше).
Также в качестве мотивов для покупки той или иной программы, автоматизирующей учетные операции, могут выступать следующие причины:
ориентация на окружающих (так делают все, и я так буду делать);
удачная рекламная стратегия продавцов бухгалтерского программного
обеспечения;
снижение затрат на ведение бухгалтерского учета;
требования вышестоящей организации предоставлять данные в электронном виде;
моральное старение установленного на предприятии программного обеспечения;
рост предприятия, а соответственно и усложнение учета;
стандарты отрасли (например, ручной учет в оптовой торговле будет гораздо более затратным по сравнению с автоматизированным).
10
Ââåäåíèå
Îá àâòîðàõ
Ìèõàéëîâ Ñåðãåé Åâãåíüåâè÷
После окончания института вместе с двумя товарищами я занялся коммерцией (оптовой торговлей). Продавали все что угодно: кондиционеры, продукты питания, вина из Италии. В нашей фирме я отвечал за финансы: руководил бухгалтерией, получал кредиты. Бухгалтерию изучил, прочитав пять
книжек по бухгалтерскому учету. Именно тогда я в первый раз встретился
с 1С под DOS, которую переработал для нужд складского хозяйства. Главное, что восхищало в программе — возможность настройки под свои задачи.
Кроме того, предоставлялись шаблоны и демонстрационные примеры.
Потом я пробовал организовать оптовый бизнес сам, работал 1Спрограммистом у дистрибьютора "Proctor and Gamble" и, наконец, после
этих жизненных перипетий, организовал свой 1С-бизнес, которым и занимаюсь до сих пор. Бизнес заключается в обслуживании программ 1С и их
адаптации под изменяющиеся нужды пользователей.
В настоящее время я веду курсы программистов и обслуживаю клиентов через Интернет.
serge_mikhailov@mail.ru
×åðêîâ Àëåêñàíäð Àíàòîëüåâè÷
Я занимаюсь 1С-программированием более 6 лет. На мой взгляд, многие
проблемы пользователь может решить сам, без помощи программиста. Свой
взгляд на эти проблемы я изложил в разделе "Конструирование" главы 2.
Öâåòêîâ Èëüÿ Âëàäèìèðîâè÷
В 1С-бизнес меня привело любопытство и желание научиться программировать. Я просто решил попробовать и вот продолжаю заниматься этим уже
несколько лет. Свой опыт работы я изложил в разделе "Администрирование"
главы 1.
Ãëàâà 1
Àäìèíèñòðèðîâàíèå
ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
В основном администрирование 1С сводится к решению следующих задач:
установке и обновлению программы;
ведению списка пользователей;
настройке прав доступа на основе механизма ролей;
мониторингу действий пользователей и системных событий;
резервному копированию;
тестированию и исправлению информационной базы данных.
Êàê óêàçàòü ïóòü ê áàçå äàííûõ
â îêíå çàïóñêà 1Ñ
Допустим, требуется подключить новую база данных (БД) к уже существующему списку в стартовом меню программы 1С. Для этого необходимо
выполнить несколько шагов.
Место расположения выделенной БД
Ðèñ. 1.1
шаг № 1
12
Ãëàâà 1
1. Нажать кнопку Добавить (рис. 1.1). После нажатия появляется окно добавления новой конфигурации к списку существующих баз (рис. 1.2).
Ðèñ. 1.2
2. В поле Название ввести любое подходящее наименование для БД.
3. В поле Путь указываем путь к папке, в которой она находится. Получаем
следующий вид окна (рис. 1.3).
Ðèñ. 1.3
4. Нажать кнопку ОК для внесения новой БД в окно запуска 1С (рис. 1.4).
Ðèñ. 1.4
Если вы все сделали верно, то получите доступ к новой базе данных.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
13
Êàê ñîçäàòü àðõèâ áàçû äàííûõ
Для сохранения данных периодически необходимо выполнять их резервное
копирование. Одним из вариантов резервного копирования является копирование папки, в которой находится БД, на новое место. Ее местонахождение отображается в нижнем левом углу окна запуска программы 1С (например, на рис. 1.4 путь до базы данных ЧП Крутых будет такой: С:\1ct\ЧП
Крутых). Так же для резервного копирования можно воспользоваться штатными средствами 1С:Конфигуратора. В этом случае необходимо выполнить
следующие шаги.
1. Запустить программу 1С в режиме Конфигуратор (для этого в стартовом
окне программы (рис 1.1) в пункте В режиме выбираем Конфигуратор).
Поскольку резервное копирование выполняется в монопольном режиме,
все пользователи перед началом процедуры должны закрыть свои приложения 1С:Предприятия с резервируемой базой данных.
2. Открыть меню Администрирование и выбрать пункт Сохранить данные…
(рис. 1.5). В открывшемся окне мастера сохранения (рис 1.6) в пункте
Сохранять в выбрать папку для архивирования или переименовать файл архива. Другие пункты изменять не надо. Далее следует нажать кнопку Сохранить.
Сохранение
базы данных
Восстановление
базы данных
Используем для тестирования
и исправления базы данных
Ðèñ. 1.5
14
Ãëàâà 1
Ðèñ. 1.6
При данном методе сохранения не сохраняются папки с внешними отчетами и
формами печати, которые находятся в папке ExtForms внутри папки базы,
а также папки с настройками и файлами пользователей; сохраняются только
самые необходимые файлы. Поэтому если необходимо сохранение базы для
переноса в другое место с сохранением каталогов пользователей и структурой
внешних файлов, то целесообразно сделать полный архив папки БД внешним
архиватором, например, WinRar или WinZip.
Для этого найдите папку базы данных, как это сделать, см. ранее. Правой
кнопкой мыши вызовите на ней контекстное меню. Далее в зависимости от
версии архиватора либо войдите в подменю архиватора и выберите пункт
Добавить в архив "имя файла" или найдите этот пункт в самом контекстном
меню (пункт контекстного меню появится лишь в случае, когда архиватор
установлен на компьютере).
Êàê âîññòàíîâèòü áàçó äàííûõ èç àðõèâà
Если архивирование БД было выполнено внешним архиватором, то и разархивировать ее нужно в той же программе. После этого необходимо добавить
БД в меню запуска программы 1С (см. раздел "Как указать путь к базе данных в окне запуска 1С" данной главы). Если архивирование было выполнено
при помощи средств 1С, необходимо выполнить следующие действия:
1. Создать новую папку с названием, соответствующим названию БД.
2. Скопировать в созданную папку архив и папку ExtForms (если она есть),
а также папки пользователей.
3. Добавить БД в стартовое меню программы 1С.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
15
Выбираем
и получаем
Ðèñ. 1.7
4. Запустить БД в режиме Конфигуратор.
5. выбрать пункт Восстановить данные… в меню Администрирование (рис. 1.5).
6. В появившемся окне указать место расположения архива БД и нажать
Восстановить (рис. 1.7).
7. На вопрос "Вся текущая информация будет заменена восстановленной из
архива. вы хотите продолжить восстановление?" ответить Да, так как
в новой папке данных, которые можно потерять, нет. Программа разархивирует базу данных.
8. Открыть базу данных в монопольном режиме.
Êàê ñîçäàòü íåñêîëüêî áàç äàííûõ
Программа 1С:Предприятие состоит из двух частей — программных файлов
(они находятся в каталоге BIN) и файлов конфигурации.
Для того чтобы создать дополнительную базу данных (например, для ведения учета по разным фирмам) следует выполнить следующие действие:
Конфигурацию (базу данных) — а именно она нужна для ведения бухгалтерского учета — можно устанавливать в разные каталоги. Для этого достаточно
16
Ãëàâà 1
стандартным образом установить типовую конфигурацию, указав при этом
новый каталог (не тот, который предлагается по умолчанию). При этом
в перечне информационных баз (который также хранится в системном реестре Windows) появятся новые строки, соответствующие установленной
конфигурации.
Êàê ñêîïèðîâàòü áàçó äàííûõ
Чтобы скопировать базу данных (создать конфигурацию, идентичную текущей), необходимо:
1. Найти папку базы данных (см. раздел "Как сделать архив базы данных").
2. Сделать копию папки, например, так.
• Правой кнопкой мыши щелкнуть на папке, чтобы вызвать контекстное меню.
• выбрать в меню пункт Копировать.
• вызвать щелчком правой кнопки мыши рядом на свободном месте
контекстное меню.
• выбрать в меню пункт Вставить.
Далее нужно указать путь к копии базы данных (см. раздел "Как указать
путь к базе данных в окне запуска 1С").
Ïîñëåäîâàòåëüíîñòü äåéñòâèé
ïðè ñáîÿõ â ÁÄ
К сожалению, все в этом мире когда-нибудь ломается. Это утверждение верно
и для баз данных в программе 1С. Сбои бывают двух видов — внешние и
внутренние. Внешний сбой не влияет на содержимое БД, после его устранения можно спокойно продолжать работу. Внутренний сбой может повлечь
потерю хранимых данных — документов, карточек, справочников и т. д.
Самым распространенным внешним сбоем, пожалуй, является ошибка при
запуске 1С, при которой появляется окно с сообщением: "Run time error…".
Это происходит из-за ошибки в одном из файлов БД. Этот файл содержит
протокол работы пользователей (кто, что и когда делал). Он хранится в папке Syslog, которая находится внутри папки с БД. Например, путь к этой
папке для базы данных на рис. 1.4 будет такой: С:\1Ct\ЧП Крутых\SysLog\.
Для того чтобы попробовать решить проблему запуска 1С-папку SysLog
нужно переименовать. При следующем запуске программа создаст новый
(не сбойный) каталог Syslog, что, возможно, устранит проблему.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
17
Ðèñ. 1.8
Другой проблемой может быть невозможность запуска 1С после восстановления из архива или копирования (переноса) из другого места. При этом выдается сообщение об ошибке при открытии файлов БД. Это происходит потому,
что программа не может открыть файлы БД, которые после разархивирования
или переноса получили атрибут "архивный". Для исправления данной ситуации следует открыть папку, в которой находится папка с БД (рис. 1.8).
Далее следует щелкнуть правой кнопкой мыши на папке с БД и выбрать
в контекстном меню Свойства.
В окне Свойства следует снять метку, показывающую, что эта папка предназначена только для чтения (рис. 1.9). Если система задает вопрос: "Применить данное изменение ко всем вложенным папкам и файлам?", следует ответить Да.
К счастью, внешние сбои возникают очень редко и быстро устраняются.
Более серьезную проблему представляют собой внутренние сбои в БД.
Причин возникновения внутренних сбоев может быть много:
аварийное отключение питания компьютера, на котором находится БД,
в момент работы с 1С;
медленная работа локальной сети;
внутренние неисправности компьютера (жесткого диска, оперативной
памяти и т. п.);
действие вирусов.
В результате сбоев происходит нарушение содержимого файлов БД.
Если в программе появляются непонятные ошибки, например, в журнале
документов не показываются некоторые реквизиты, которые должны там
присутствовать, причем в самих документах они заполнены, то это явный
признак сбоя в БД.
18
Ãëàâà 1
Признак архивирования
Ðèñ. 1.9
Проблему сбоев можно решить самостоятельно, без помощи программиста.
Конфигуратор располагает встроенными средствами устранения ошибок.
Первое, что необходимо сделать — создать копию базы данных (см. разд.
"Как сделать архив базы данных"). Она необходима на случай сбоя во время
тестирования и исправления базы данных.
Для того чтобы протестировать БД, следует выполнить следующую цепочку
действий:
1. Запустить 1С Конфигуратор.
2. Выбрать меню Администрирование.
3. Выбрать пункт меню Тестирование и исправление базы данных.
Программа напомнит о необходимости сделать резервную копию перед тестированием. После предупреждения появится окно мастера тестирования и
исправления (рис. 1.10). Все необходимые параметры уже выставлены по
умолчанию.
Остается запустить тестирование, нажав кнопку выполнить. Процесс может
длиться от получаса до нескольких часов. Время работы тестирующей программы зависит от мощности компьютера и размера БД.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
19
Ðèñ. 1.10
Во время тестирования программа восстановит БД, сообщит об обнаруженных
ошибках, например, о том, что произошел разрушительный сбой и дальнейшая
работа с базой данных невозможна — в этом случае без помощи программиста не
обойтись. Если тестирование завершилось успешно, то можно продолжать работу.
Если же проблема осталась, попробуйте пересчитать бухгалтерские итоги.
Êàê ïåðåñ÷èòûâàòü áóõãàëòåðñêèå èòîãè
Бухгалтерские итоги пересчитывают, когда не сходятся бухгалтерские отчеты, например отчет по субконто с оборотно-сальдовой ведомостью.
Прежде чем обращаться к программисту за помощью, необходимо самостоятельно пересчитать итоги.
Для полного пересчета бухгалтерских итогов необходимо:
запустить программу в монопольном режиме;
войти в меню Операции;
выбрать пункт Управление бухгалтерскими итогами;
нажать кнопку Полный пересчет итогов.
После этого программа полностью пересчитает все итоги с начала ведения
учета. Процедура может занять значительное время, которое зависит от размера базы данных и скорости работы компьютера.
Êàê èçìåíèòü ñïèñîê ïîëüçîâàòåëåé
Данный список определяет пользователей, которые могут работать с базой.
Каждому пользователю назначается тип интерфейса и прав доступа к объектам базы данных. Для доступа может быть установлен пароль.
20
Ãëàâà 1
Можно выполнять следующие операции над списком пользователей: добавлять пользователей, изменять пароль, тип интерфейса или набор прав.
Все эти действия можно производить без помощи программиста.
Для редактирования списка пользователей необходимо выполнить следующие действия:
запустить 1С в режиме Конфигуратора;
открыть меню Администрирование;
выбрать пункт Пользователи.
Программа покажет форму списка пользователей (рис. 1.11).
Ðèñ. 1.11
Для ввода нового пользователя необходимо выбирать щелчком мыши пользователя с правами и интерфейсом, наиболее подходящими для нового
пользователя, после чего нажать клавишу <Insert> или щелкнуть мышью
значок "новый" и добавить нового пользователя.
В появившемся окне (рис. 1.12), на закладке Атрибуты следует заполнить
поля Имя и Полное имя. В поле Рабочий каталог указываем папку, в которой будут храниться данные пользователя.
Ðèñ. 1.12
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
21
Ðèñ. 1.13
На закладке Роль назначаются права и интерфейс пользователя (рис. 1.13).
Интерфейс определяет внешний вид меню пользователя. Права разрешают
или запрещают пользователю следующие действия над объектами:
чтение;
редактирование;
удаление;
снятие пометки на удаление;
проведение документов;
перепроведение документов и др.
Обычно для разных групп пользователей определяют разные наборы прав и
интерфейсы.
Например, кассиру задают интерфейс, в котором присутствуют кассовые
документы, а в правах доступа запрещается изменять товарные документы.
Атрибут Отключить контроль прав на закладке Роль дает пользователю исключительные права на любые действия над всеми объектами программы
в режиме 1С:Предприятие.
Для того чтобы изменить пароль выбранного пользователя, следует нажать
иконку с изображением замка (рис. 1.11). Для сохранения изменений в списке пользователей необходимо после закрытия списка утвердительно ответить на вопрос программы о их сохранении.
Êàê íàñòðîèòü èíòåðôåéñ ïîëüçîâàòåëÿ
Перегруженный интерфейс пользователя замедляет работу. Интерфейс должен соответствовать уровню пользователя, то есть не иметь избыточных
функций, но содержать все необходимые.
22
Ãëàâà 1
Ðèñ. 1.14
Изменить существующий интерфейс или создать новый можно в конфигураторе, используя, своего рода, конструктор интерфейсов. Настройка интерфейса по силам любому пользователю. Для этого совсем не обязательно
приглашать программиста.
Для того чтобы реконфигурировать интерфейс пользователей, необходимо
выполнить следующие действия:
запустить 1С в режиме Конфигуратора;
открыть меню Конфигурация;
выбрать пункт Открыть конфигурацию;
выбрать закладку Интерфейсы в форме Конфигурация (рис. 1.14).
Интерфейс пользователя состоит из двух частей: меню и инструментальной
панели. У каждого интерфейса может быть подчиненный интерфейс
(на рис. 1.14 подчиненный интерфейс "Продавец" прикреплен к интерфейсу
"Администратор"). Подчиненный интерфейс наследует вид родительского
интерфейса (допустим, если в родительском интерфейсе отсутствует общий
журнал, то и в подчиненном он также будет отсутствовать).
Создать новый интерфейс можно тремя путями.
Создать новый интерфейс с нуля.
Создать подчиненный интерфейс.
Создать интерфейс копированием свойств существующего интерфейса
(копируется интерфейс при помощи контекстного меню, так же как
в Windows копируются файлы и папки — щелчком правой кнопки мыши
и выбором пункта меню Копировать, а затем Вставить).
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
23
Для того чтобы создать новый интерфейс или новый подчиненный интерфейс, необходимо выполнить следующие шаги:
1. Внутри окна Интерфейсы правой кнопкой мыши вызвать контекстное меню и выбрать пункт Новый интерфейс или Новый подчиненный
интерфейс.
2. В окне Свойства пользовательского интерфейса задать название интерфейса и его общие настройки (рис. 1.15).
Ðèñ. 1.15
Окно Свойства пользовательского интерфейса также можно вызвать щелчком
правой кнопкой мыши на его названии. Опция Отключить меню "Операции"
отключает меню Операции из интерфейса, что закрывает доступ к константам, перепроведению документов, управлению бухгалтерскими и оперативными итогами. Опция Использовать при отключенной авторизации позволяет
указать, какой пользовательский интерфейс следует применять, если отсутствует список пользователей системы 1С:Предприятие. Данная опция позволяет создавать индивидуальный интерфейс для случая, когда система
1С:Предприятие используется в однопользовательском режиме (например,
после восстановления из архива или когда не задан список пользователей).
Опция Использовать при отключенной авторизации может быть одновременно включена только у одного интерфейса из списка. Интерфейс, у которого
включена эта опция, в списке помечается специальным знаком.
Завершив настройку, нужно нажать кнопку ОК.
При создании нового интерфейса копированием воспроизводятся все настройки исходного интерфейса.
Ðèñ. 1.16
24
Ãëàâà 1
Новый интерфейс, полученный при использовании пункта Новый интерфейс, пуст и требует настройки меню и панелей инструментов. Для редактирования интерфейса необходимо дважды щелкнуть по его наименованию.
Появится окно выбора области редактирования (рис. 1.16). При выборе
пункта Меню будет редактироваться структура меню интерфейса пользователя, а при выборе пункта Панели инструментов — набор иконок интерфейса пользователя.
Ñîçäàíèå íîâîãî ìåíþ
выполните следующую последовательность действий:
запустить 1С в режиме Конфигуратора;
открыть меню Конфигурация;
выбрать пункт Открыть конфигурацию;
перейти на закладку Интерфейсы в форме Конфигурация;
нажать <Insert>;
в форме Новый интерфейс щелкнутьть правой кнопкой мыши;
выбрать в контекстном меню пункт Редактировать меню;
нажать правую кнопку мыши и выбрать пункт Конструктор.
Если все выполнено верно, появится форма Конструктор меню (рис. 1.17).
Список Колонки конструктора меню позволяет настраивать вид колонок
и их содержимое. Элементы списка Пункты "Справочники.Открыть"
и "Документы.Открыть" выключены по умолчанию, поскольку в случае, когда эти пункты включены, открывается полный доступ ко всем объектам
этого меню.
После того как все работы с колонками и пунктами выполнены, следует
нажать кнопку Построить и Конфигуратор построит меню пользователя
в соответствии с выбранными настройками.
Дальнейшая настройка меню (создание разделителей и подменю) производится вручную. Для этого в редакторе необходимо выбрать пункт интерфейса, помеченный как "Новый", и дважды щелкнуть по нему левой кнопкой
мыши (рис. 1.18).
Поле Тип формы Свойства элемента меню может принимать следующие значения.
Команда (например, "открыть справочник", "новый документ", "журнал
документов" и т. д.)
Разделитель — линия, разделяющая области меню.
Подменю — подчиненное меню, открывающееся из текущего.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
Ðèñ. 1.17
Ðèñ. 1.18
25
26
Ãëàâà 1
Кроме того, форма содержит следующие поля.
Название — это та надпись, которая будет отображаться в строке меню в
режиме 1С предприятие.
Объект — это элемент метаданных, который будет соответствовать новому
пункту меню.
выбор объекта типа "Справочники" подразумевает возможность открытия
окна соответствующего справочника. Некоторые типы объектов, такие как
"Календари", "Операция", "Проводка" требуют уточнения команды, применяемой к объекту. В этом случае обязательно нужно указать в поле Команда,
какая именно команда подразумевается.
Подсказка — это текстовое поле. Введенный в него текст увидит пользователь, выделив курсором данный пункт меню в режиме 1С:Предприятие.
Закладка Параметры определяет дополнительные свойства объекта, например, для справочника будет предложен выбор — открывать поле справочника в стандартном виде или в виде списка (рис. 1.19).
Закладка Акселератор позволяет определить сочетание клавиш, одновременное нажатие которых будет равнозначно выбору данного пункта меню в режиме 1С:Предприятие (рис. 1.19).
Ðèñ. 1.19
Для упорядочивания элементов меню можно перетаскивать их мышью вверх
и вниз, а также использовать типы "разделители" и "подменю".
Редактирование меню подчиненного интерфейса сводится к редактированию созданного ранее интерфейса унаследованного от родительского
(рис. 1.20).
Для редактирования панелей инструментов используется редактор панели
инструментов (рис. 1.21). Его окно состоит из трех частей:
Список панелей, где находятся или куда добавляются новые панели инструментов;
Состав панели — набор иконок и наименований кнопок инструментов;
Библиотека пиктограмм — коллекция значков для кнопок инструментов.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
27
Ðèñ. 1.20
Создать
Удалить
Вниз
Разделитель
Вверх
Ðèñ. 1.21
28
Ãëàâà 1
Ðèñ. 1.22
Для того чтобы создать новую панель инструментов, следует нажать кнопку
Создать, которая находится над списком панелей. В появившемся окне
(рис. 1.22) следует ввести название панели и будущее положение на экране
(сверху, снизу, слева или справа), Переключатель Показывать определяет,
будет ли показываться панель по умолчанию. Переключатель Располагать
с новой строки определяет, следует ли поместить панель на новой строке
панели инструментов.
После создания панели можно указать, какие кнопки будут располагаться на
ней. Каждой кнопке поставлена в соответствие команда. При создании новой кнопки следует задать окно свойств (такое же, как при создании нового
пункта меню, рис. 1.22). Отличие от создания пункта меню заключается
в закладке Образ, на которой следует выбрать, что будет на кнопке изображено — иконка или надпись. Если была выбрана пиктограмма, то после нажатия кнопки ОК необходимо перетащить левой кнопкой мыши любую
пиктограмму из библиотеки на соответствующее поле в окне панели. Для
разделения панели на разделы нажимаем кнопку Разделитель.
Êàê íàñòðîèòü ïðàâà äîñòóïà
Ограничение прав доступа дает возможность разрешить (запретить) пользователю действия, не входящие в круг его обязанностей, и избежать возможности несанкционированного доступа к объектам базы данных.
Например, доступ пользователя к проведенным документам запрещают для
того, чтобы избежать изменения таких документов. Если доступ к проведенным документам разрешен, то не исключена ситуация, когда печатная форма документа не соответствует его электронной форме.
Так же запрет доступа к проведенным документам предотвращает несанкционированные изменения документов "задним числом". Это предупреждает
возможность следующей махинации. Менеджер оптового склада приобретает
у оптового поставщика товар. Затем, по мере продажи этой партии товара
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
29
менеджер исправляет приходную накладную, удаляя из нее уже проданный
товар. выручку за проданный товар менеджер присваивает. Обнаружится
махинация только при сверке с поставщиком, а если менеджер вступил
в сговор с поставщиком, то об изменениях в документах никто не узнает.
Дополнительную информацию о способах краж см. в разделе "Воруют, а где —
не пойму" главы 6.
Права пользователей создаются и редактируются в режиме конфигуратора.
Для того чтобы изменить права пользователя, следует выполнить следующие
действия:
запустить 1С:Конфигуратор;
открыть меню Конфигурация;
выбрать Открыть конфигурацию;
открыть закладку Права окна Конфигурация;
выбрать Набор прав;
два раза нажать левую кнопку мыши.
Если все сделано верно, появится окно, как на рис. 1.23.
Ðèñ. 1.23
Для изменения прав доступа пользователя к конкретному объекту программы необходимо поставить или убрать галочку в соответствующем переключателе формы Свойства элемента прав.
Если выбрать корневой элемент редактора пользовательских прав, то программа позволит редактировать права на "Административные функции", например, запуск внешних отчетов.
30
Ãëàâà 1
Ðèñ. 1.24
На рис. 1.24 показано, как разрешить просмотр и введение новых документов, но запретить корректировку и пометку документов на удаление.
Ðàáîòà ñ ìîíèòîðîì ïîëüçîâàòåëåé
Монитор пользователей является дополнительным средством для администрирования системы 1С:Предприятие. Он позволяет просматривать список
активных пользователей, то есть тех, которые в данный момент работают
с информационной базой. Кроме того, монитор позволяет анализировать
журнал регистрации действий, выполняемых пользователями за любые периоды времени (историю работы пользователей).
Наибольшую ценность механизм монитора представляет при работе с многопользовательской версией 1С:Предприятия. Однако он может применяться и для однопользовательской версии, например, если с информационной
базой работают поочередно разные пользователи. С его помощью можно
определить, кто в данный момент работает с информационной базой. Анализ истории работы также может быть весьма интересен при работе одного
пользователя.
Монитор пользователей (просмотр списка активных пользователей и журнала регистрации) может быть вызван из 1С:Предприятия. Если Монитор запускается в специальном режиме, пользователь может выполнять архивирование истории журнала регистрации.
Режим запуска "Монитор" может быть применен для определения того, кто
работает с информационной базой в монопольном режиме.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
31
Çàïóñê ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
â ðåæèìå "Ìîíèòîð"
Для запуска 1С:Предприятия в режиме "Монитор" выберите пункт Монитор
пользователей в меню Пуск > Программы > 1С:Предприятие. Кроме того,
режим
запуска
"Монитор"
можно
выбрать
в
диалоге запуска
1С:Предприятия. При работе в Конфигураторе запустить 1С:Предприятие в
режиме "Монитор" можно, выбрав пункт Монитор пользователей в меню
Сервис главного меню Конфигуратора.
Главное меню в режиме запуска "Монитор" имеет стандартные пункты:
Файл, Сервис, Окна и Помощь. Функции, вызываемые из них, аналогичны стандартным функциям этих пунктов в других режимах запуска
1С:Предприятия. Для вызова собственно функций Монитора пользователей
предназначен пункт Монитор.
Êàê ïðîñìîòðåòü ñïèñîê
àêòèâíûõ ïîëüçîâàòåëåé
è Æóðíàë ðåãèñòðàöèè
Под активными понимаются пользователи, в текущий момент работающие
с базой данных. Для вызова основных функций Монитора пользователей
в режиме запуска "Монитор" используются пункты Активные пользователи и
Журнал регистрации пункта Монитор главного меню или соответствующие
кнопки панели инструментов. Работа с этими функциями ведется так же,
как и в режиме запуска "1С:Предприятие".
Основным отличием от режима запуска "1С:Предприятие" является отсутствие возможностей открытия объекта из журнала регистрации и установки
фильтра по существующему объекту путем выбора его из списка. В колонке
Объект окна журнала отображается не актуальное на текущий момент представление объекта, а его внутренняя идентификация, которая может быть
использована только для установки фильтра по объекту в виде строки.
Пункт Активные пользователи позволяет увидеть, какие пользователи и на
каких компьютерах в данный момент работают с базой данных. Это полезно, если необходимо войти в базу монопольно.
Пункт Журнал регистрации позволяет открыть журнал регистрации действий
пользователей. Это дает возможность проследить за деятельностью любого
пользователя, изменениями документов, записей справочников и т. д. Для
этого в журнале существует возможность выборки, облегчающая работу.
32
Ãëàâà 1
Àðõèâèðîâàíèå æóðíàëà ðåãèñòðàöèè
Журнал регистрации хранится в файле 1cv7.mlg, расположенном в каталоге
Syslog, который находится в каталоге информационной базы. При интенсивной работе большого количества пользователей за продолжительный
период времени текущий журнал может иметь большой размер. Архивирование журнала позволяет уменьшить размер текущего журнала путем помещения определенной его части или всего журнала в архив. В архиве данные журнала хранятся в сжатом виде. Файлы архива также хранятся в каталоге Syslog.
Режим просмотра журнала регистрации дает возможность просматривать
события из текущего журнала, а также события тех периодов, которые помещены в архив. При этом, если выбранный для просмотра интервал включает периоды, события которых помещены в архив, извлечение данных из
архива происходит автоматически. Разумеется, при обращении к данным
архива на извлечение необходимой информации будет тратиться дополнительное время.
Для вызова функции архивирования журнала регистрации следует выбрать
команду меню Архивирование журнала из пункта Монитор главного меню
или нажать соответствующую кнопку панели инструментов.
Режим архивирования может быть вызван только в случае, когда с данной
информационной базой больше не работает ни один пользователь ни в одном из режимов запуска 1С:Предприятия.
При вызове режима архивирования появляется диалоговое окно, в нем устанавливается период, за который данные журнала регистрации должны быть
помещены в архив. В верхней части окна выводится начальная и конечная
даты текущего журнала (рис. 1.25).
Ðèñ. 1.25
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
33
Архивирование всегда выполняется начиная с самых ранних событий текущего журнала; фактически, верхняя граница архивируемого периода всегда
совпадает с началом текущего журнала. В диалоге задается нижняя граница
периода архивирования.
В поле Пароль архива можно указать пароль. В этом случае при обращении
к журналу регистрации за данный период будет запрашиваться пароль.
Òàáëèöà 1.1. Âàðèàíòû óêàçàíèÿ íèæíåé ãðàíèöû
Âåñü æóðíàë ðåãèñòðàöèè
â àðõèâ áóäóò ïîìåùåíû âñå ñîáûòèÿ æóðíàëà;
Äî íà÷àëà òåêóùåãî ìåñÿöà
â àðõèâ áóäóò ïîìåùåíû âñå ñîáûòèÿ, ïðåäøåñòâóþùèå òåêóùåìó ìåñÿöó;
Äî íà÷àëà òåêóùåé íåäåëè
â àðõèâ áóäóò ïîìåùåíû âñå ñîáûòèÿ, ïðåäøåñòâóþùèå òåêóùåé íåäåëå;
Äî íà÷àëà òåêóùåé äàòû
â àðõèâ áóäóò ïîìåùåíû âñå ñîáûòèÿ, ïðåäøåñòâóþùèå òåêóùåé äàòå;
Äî íà÷àëà äàòû ....
â àðõèâ áóäóò ïîìåùåíû âñå ñîáûòèÿ, ïðåäøåñòâóþùèå óêàçàííîé äàòå
Для выполнения архивирования следует нажать кнопку ОК, для отказа от
архивирования — Отмена.
Имейте в виду, что журнал регистрации очень легко уничтожить. Архивируйте весь каталог с базой данных каждый день. Копируйте архивы на CD,
чтобы сохранить возможность обращения к несанкционированно измененным данным.
Ðàáîòà ñ æóðíàëîì ðåãèñòðàöèè
При помощи журнала регистрации можно определить, кто произвел конкретное изменение в документе или справочнике. Также журнал регистрации записывает момент запуска завершения работы программы. Рассмотрим случай, когда была несанкционированно изменена цена товара
в справочнике. Как найти конкретного пользователя, который изменил
справочник? выполним следующую последовательность действий.
1. Записываем данные измененного объекта: "наименование объекта", "дата
изменения цены", если они есть.
2. Загружаем базу данных в режиме "Монитор".
3. Открываем меню Монитор > Журнал регистрации.
4. В появившемся окне фильтра журнала регистрации на закладке Общие
параметры (рис. 1.26) указываем дату события, если она известна.
34
Ãëàâà 1
Ðèñ. 1.26
5. На закладке Объекты вводим наименование товара или копируем его из
карточки товара. В нашем случае это "Холодильник «BOSCH»".
6. Нажимаем ОК для запуска журнала регистрации.
После этого получаем окно (рис. 1.27).
Ðèñ. 1.27
Как видно из рис. 1.27, были произведены изменения в карточке товара
пользователем "менеджер". Чтобы уточнить, какие именно изменения были
сделаны, попробуем снять фильтр и просмотреть событие еще раз. Теперь
мы уже знаем, что искать (нужно проанализировать действия "менеджера").
На рис. 1.28 представлен результат поиска. Видно, что был записан новый
элемент справочника "Цены", а затем записан искомый элемент "Холодильник «BOSCH»". Так как каждый элемент справочника "Цена" принадлежит
какому-то конкретному товару, делаем вывод, что была создана новая цена
для товара "Холодильник «BOSCH»". Автор изменений — пользователь "менеджер".
Так же при помощи монитора можно проверить загруженность работой
пользователей (например, операторов), для этого на закладке Общие параметры следует выбрать пользователя и интервал времени (рис. 1.26).
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
35
Ðèñ. 1.28
Ýêñïîðò äàííûõ èç 1Ñ:Òîðãîâëÿ
â 1Ñ:Áóõãàëòåðèÿ
Экспорт данных позволяет избежать ручного дублирования однажды выполненных в 1С:Торговля операций. Чтобы экспортировать данные, необходимо
сначала выгрузить их в файл, а затем загрузить из файла в 1С:Бухгалтерия.
Для выгрузки данных следует выполнить следующие действия:
1. Запустить 1C:Торговля.
2. Открыть меню Сервис.
3. Выбрать выгрузка в 1С:Бухгалтерия.
4. Выбрать В 1С:Бухалтерия 7.7.
Появится окно процедуры выгрузки (рис. 1.29).
В окне следует указать период, за который будут выгружаться данные. Также
следует указать полное имя файла выгрузки данных. Для того чтобы было
проще его потом найти, лучше указать отличный от того, что дан по умолчанию, путь, например С:\выгрузка.xml. Документы из 1С:Торговля выгружаются в 1С:Бухгалтерия в виде операций. Обязательно выбрать юридическое лицо. Пункт Периодичность определяет степень детализации переноса
данных — если указана периодичность месяц, то все хозяйственные операции будут сведены в одну бухгалтерскую операцию.
Группа выгружать позволяет выбрать выгружаемые объекты. Чтобы избежать
двойных проводок, включаем переключатель При повторной загрузке….
36
Ãëàâà 1
Ðèñ. 1.29
Поле Журнал проводок используется для указания наименования журнала
проводок. Если его оставить пустым, используется наименование по умолчанию.
После выгрузки данных из 1С:Торговли можно загрузить их в 1С:Бухгалтерию.
Для этого следует выполнить следующие действия:
1. Запустить 1С:Предприятие.
2. Открыть меню Сервис.
3. Выбрать Обмен данными.
4. Выбрать Загрузка данных.
5. Указать путь к файлу загрузки.
Если все сделано верно, перед вами откроется форма, как на рис. 1.30.
Ðèñ. 1.30
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
37
В поле Имя и путь файла загрузки следует указать путь к файлу с выгруженными из 1С:Торговля данными. После завершения загрузки в журнале операций можно проверить ее результаты. Если в форме выгрузки была включен переключатель При повторной загрузке…, все ранее загруженные данные
из 1С:Торговля будут помечены на удаление. В журнале операций в графе
Содержание будет указан документ, операция по которому выгружалась из
1С:Торговля (рис. 1.31).
Ðèñ. 1.31
Êàê îáíîâëÿòü êâàðòàëüíûå îò÷åòû
â 1Ñ:Áóõãàëòåðèÿ
Регламентные отчеты — это отчеты, формируемые в 1С:Бухгалтерия,
1С:Предприниматель и 1С:Комплексная конфигурация, для сдачи в налоговые органы. Формы регламентных отчетов обновляются фирмой 1С
в соответствии с законодательством РФ и поставляются клиентам на дисках Информационно-технического сопровождения (ИТС) через партнеров
фирмы 1С.
Для обновления регламентных отчетов выполните следующую цепочку действий:
1. Запустите диск ИТС фирмы 1С.
2. Нажмите кнопку Просмотр CD.
3. В стартовом меню выберете пункт Формы отчетности….
4. Откройте Формы отчетности за … квартал….
5. Выберите нужные формы отчетности.
Рассмотрим обновление на примере конфигурации 1С:Бухгалтерия.
38
Ãëàâà 1
По умолчанию оболочка ИТС диска предлагает сохранить файлы отчетности
в папку на жестком диске компьютера. Для сохранения форм отчетностей
в отдельную папку следует выбирать вариант, показанный на рис. 1.32.
Файлы отчетностей находятся в папке CD: R:\1CitsFr\EXE\Fo04_3\B77\
GENERAL\Forms.New, можно загружать их прямо оттуда.
Ðèñ. 1.32
Ðèñ. 1.33
После того как регламентные файлы скопированы на жесткий диск, можно
загрузить их, пользуясь средствами 1С:Предприятие. Для начала ознакомьтесь с файлом Rp***.txt, находящемся в папке со скопированными на диск
файлами. Для третьего квартала 2004 года этот файл будет называться
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
39
Rp04Q3.txt. В нем перечисляются конфигурации, для которых предназначены отчеты. В той же папке находится файл Loadlst.txt, содержащий список
форм отчетов, предлагаемых к загрузке.
Для того чтобы загрузить формы отчетов, необходимо войти в БД в режиме
"1С:Предприятие", открыть меню Отчеты и выбрать пункт Регламентированные.
Далее нажать кнопку Загрузить и в открывшемся окне выбрать папку, в которую были скопированы файлы отчетов (см. предыдущие разделы). выбрать необходимые для загрузки регламентированные отчеты, например,
стандартные бухгалтерские отчетности за квартал — файл BUH. Программа
выделит форму, как на рис. 1.33. Далее необходимо выбрать необходимые
отчеты из списка, затем нажать кнопку ОК.
Áëîêèðîâêà ïðîãðàììû 1Ñ
Недобросовестный работник может воспользоваться сеансом другого пользователя, для того чтобы внести изменения от его лица, либо сделать отчет,
на который у пользователя есть права. Для того чтобы этого не произошло,
используют блокировку программы. Для этого необходимо выполнить следующую последовательность действий:
1. Открыть меню Сервис.
2. Выбрать Временная блокировка.
Для разблокирования программы следует ввести пароль пользователя.
Êàê ïðîèçâîäèòü èçìåíåíèÿ
â êîíôèãóðàöèè
Изменения, вносимые в конфигурацию, приводят к тому, что программа
становится закрытой для обновлений новыми релизами фирмы 1С.
Обычно релизы типовых конфигураций выходят один раз в месяц и связаны
с исправлением ошибок, выявленных в предыдущих выпусках, изменениями
в формах документов, механизме формирования проводок, вследствие изменений в законодательстве. Типовые конфигурации обкатываются на тысячах предприятий. Их доработка осуществляется силами специалистов
фирмы 1С.
После изменений в конфигурации предприятие привязывается к конкретной версии и пользуется ей в течение одного — двух лет, до тех пор, пока не
сменится главный бухгалтер или коллектив программистов.
Еще более неприятная ситуация ожидает тех, кто пишет программу с нуля.
В этом случае нужно будет отрабатывать все тонкости, связанные с возвратами, взаиморасчетами, книгами продаж, и сделать полную привязку к команде
программистов.
40
Ãëàâà 1
Нет однозначного ответа на вопрос, что лучше — использовать стандартные
конфигурации или прокладывать свой путь. Например, в типовой конфигурации нет механизма расчета акцизов — значит, если это необходимо, придется его дописывать. Однако лучший вариант — относится к конфигурации
как к священной корове и вносить изменения, используя внешние отчеты.
Это позволит быть независимым от капризов программистов.
Такой подход, правда, сделает невозможным изменения форм документов.
Это приводит к напряженным отношениям с программистами, которые вынуждены отвечать отказом на просьбу о косметических изменениях (пользователь далек от того, можно это сделать или нельзя — раз не смог сделать,
значит непрофессионал). Однако в долгосрочном плане преимуществ гораздо больше, чем недостатков — стандартные конфигурации должны быть менее трудоемкими в обслуживании.
Êàê èçìåíèòü ïëàí ñ÷åòîâ
Допустим, нам необходимо добавить новый счет в план счетов. Пусть это
будет счет 0.1. Запускаем базу данных в режиме конфигуратора, открываем
конфигурацию и находим пункт План счетов Основной (рис. 1.34).
Ðèñ. 1.34
Новый счет добавляем нажатием клавиши <Insert>. Пусть это будет забалансовый счет для учета товара в пути. Соответственно проставляем
реквизиты.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
41
Íàèìåíîâàíèå êîëîíêè â ïëàíå ñ÷åòîâ
Çíà÷åíèå ðåêâèçèòà
Êîä
0.1
Íàèìåíîâàíèå
Òîâàð â ïóòè
Âàë. (ÿâëÿåòñÿ ñ÷åò âàëþòíûì)
Êîë (ÿâëÿåòñÿ ñ÷åò êîëè÷åñòâåííûì)
+
Çàá (ÿâëÿåòñÿ ñ÷åò çàáàëàíñîâûì)
Àêò (ÿâëÿåòñÿ ñ÷åò àêòèâíûì)
À
Ñóáêîíòî1
Íîìåíêëàòóðà
Ñóáêîíòî 2
Êîíòðàãåíòû
Код и наименование прописываются вручную. Остальные реквизиты выбираются из выпадающих списков, которые появляются после двойного щелчка по соответствующей клетке окна плана счетов.
Получаем новый счет (рис. 1.35).
Ðèñ. 1.35
Êàê âûðåçàòü ôðàãìåíò ëîãà ôàéëà
æóðíàëà äåéñòâèé ïîëüçîâàòåëåé
è ïîñëàòü åãî ïî ïî÷òå
Чтобы определить местонахождения логов (списка выполняемых программой 1С команд), выполните следующие действия:
1. Запустить 1С:Предприятие.
2. Открыть меню Помощь.
3. Выбрать О программе.
4. Выпишите на листок значение поля Информационная база.
42
Ãëàâà 1
Затем в Проводнике Windows откройте информационную базу (используя
путь, который вы только что записали на листок), найдите в каталоге Syslog
файл 1cv7.mlg и откройте его с помощью программы Блокнота. Перейдите в
конец файла, выделите нужные строки и прикрепите их к письму.
Êàê ñäåëàòü ñêðèíøîò ïðîãðàììû 1Ñ
Следует выполнить следующую последовательность действий:
1. Вывести нужное окно на экран.
2. Нажать <Alt+Print Scrn>.
3. Запустить программу Paint Brush.
4. Щелкнуть правой кнопкой мыши и выбрать Вставить.
5. Сохранить изображение в формате gif или jpg в папке "Мои документы".
В Paint Brush можно выделить кружками нужные поля. Кстати, все скриншоты в этой книге выполнялись описанным выше способом.
Ðåêîìåíäàöèè. Âîïðîñû è îòâåòû
Ðàáîòà ñ êîíñòàíòàìè
Такие действия, как "Редактирование документов задним числом" и "Контроль отрицательных остатков МПЗ на складах" в 1С:Предприятии можно
запрещать или разрешать при помощи соответствующих констант. Программист может добавить строки в программу базы данных, чтобы эти константы автоматически при запуске 1С:Предприятия устанавливались на запрет, а также выдать права на их изменение выбранным пользователям,
которые и будут нести ответственность за их использование.
КонтрольОтрицательныхОстатковМПЗ=Перечисление.Булево.Да;
Попросите своего программиста добавить эту строку в глобальный модуль,
в процедуру "ПриНачалеРаботыСистемы()".
Как было сказано ранее, редактирование проведенных документов задним
числом может привести к нежелательным результатам. Поэтому использование этой константы, как показала практика, дает хорошие результаты, если
сделать заказ программисту на автоматическое выставление этой константы
равной вчерашней дате при каждом запуске программы. Также нужно назначить человека с правом изменения этой константы для разрешения правки документов задним числом.
Вот текст строки программы, решающий проблему:
Константа.ДатаЗапретаРедактирования=НачМесяца(ТекущаяДата());
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
43
Попросите своего программиста добавить эту строку в глобальный модуль,
в процедуру "ПриНачалеРаботыСистемы()".
Êàê ïîëüçîâàòüñÿ
ïàêåòíîé îáðàáîòêîé äîêóìåíòîâ
Если возникает необходимость произвести действие над группой документов, например, распечатать реестр расходных накладных по определенному
контрагенту или перепровести документы определенного вида, можно использовать функцию "Обработка документов". Запуск обработки производится из меню Сервис командой Обработка документов (рис. 1.36).
Ðèñ. 1.36
При помощи этой функции можно выполнить следующие действия:
1. Распечатать реестр (краткая форма).
2. Распечатать реестр с комментарием.
3. Включить проводки.
4. Выключить проводки.
5. Пометить документы на удаление.
6. Снять у документов пометку на удаление.
44
Ãëàâà 1
7. Сделать документы не проведенными.
8. Провести документы.
Определенные пользователем действия будут произведены над документами,
которые выбираются из списка Виды обрабатываемых документов.
Поле Обрабатывать документы по контрагенту позволяет детализировать обработку по контрагенту документа.
Поле Комментарий документа включает строку позволяет включить комментарий в реестр.
Поле Обработка позволяет выбрать вид выполняемого действия из приведенных в списке выше.
Поле Содержание операции включает строку позволяет выбрать те же действия, что и с комментарием документа.
Поле Обрабатывать документы позволяет уточнить список обрабатываемых
документов (проведенные, непроведенные и т. д.).
Данная процедура значительно облегчает работу бухгалтера.
×òî äåëàòü, åñëè ïðîãðàììà íå çàïóñêàåòñÿ
è âûäàåò ñîîáùåíèå "Íå íàéäåí êëþ÷ çàùèòû"
Варианты решения зависят от того, стоит у вас сетевая версия или локальная. Начнем с локальной, как с более простого случая. Мы предлагаем вам
выполнить следующие действия. После каждой попытки, пожалуйста, попробуйте запустить 1С:Предприятие. Возможно, что проблема решится на
первом же шаге, и тогда все последующие будут не нужны.
1. Перезагрузите компьютер, нажав Пуск - Завершение работы - Перезагрузить компьютер - ОК. Подождите, пока компьютер перезагрузится, затем
еще раз попробуйте запустить 1С.
2. Возможно, вы забыли установить драйвер защиты при инсталляции программы. Тогда вам нужно запустить его, нажав Пуск - Программы 1С:Предприятие 7.7 - Установка драйвера защиты. Перезагрузите компьютер и попробуйте еще раз запустить 1С:Предприятие.
3. Проверьте физическое наличие ключа на компьютере, может быть, ктото его задел и он выпал из компьютера. Для этого нужно добраться до
задней стенки корпуса компьютера, туда, где подключаются провода.
Важно: крайне рекомендуется предварительно выключить компьютер.
Ключ выглядит как брусок размером примерно 3×4×1 см. Скорее всего,
он будет красного или белого цвета. Ключ вставляется в LPT-порт (туда
же, куда и принтер). В любом случае, вы сможете вставить ключ только в
LPT-порт. Важно: не нужно прилагать большую силу, усилия должны
быть сравнимы с усилиями при поднятии стакана чая. Если ключ не вхо-
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
45
дит в порт, не пытайтесь вставить его любой ценой, так как либо это не
ключ, либо вы вставляете его не в LPT-порт. Лучше позовите человека,
отвечающего в вашей фирме за компьютеры, или позвоните специалисту.
После того как вы вставили ключ в порт, включите компьютер и попробуйте снова запустить 1С:Предприятие.
4. Иногда принтер и другая техника, поставленная "поверх" ключа, может
мешать его определению сервером защиты. Предварительно выключив
компьютер и принтер, попробуйте отсоединить периферию (чаще всего
принтер) от компьютера, оставив ключ на месте. Теперь включайте компьютер и попробуйте запустить 1С. Конечно, в этом случае вы не сможете пользоваться отключенным устройством.
Если у вас используется сетевая версия и ключ расположен не на вашем
компьютере, рекомендуется обратиться за помощью к человеку, который
отвечает за работоспособность компьютеров или выполнить следующие действия:
1. Убедитесь, что проблемный компьютер "видит" сервер, на котором находится ключ. Можно пропинговать сервер из командной строки, запустив
программу ping с проблемного компьютера с именем сервера в качестве
параметра. Например, c: ping server1c. Либо вы можете просто проверить наличие сервера в списке доступных для клиента компьютеров,
щелкнув по иконке "Мое сетевое окружение". Если выяснится, что проблемный компьютер не "видит" сервер, понадобится провести стандартную проверку работы сети. Рекомендуем начать с проверки целостности
кабелей (отсутствие обрывов), работоспособности хаба, сетевой карты
(горит ли лампочка, выполняется ли команда ping 127.0.0.1). Кроме
того, следует убедиться в наличии необходимых сетевых протоколов
и правильности их настройки.
2. Убедитесь в том, что на компьютере с ключом запущена программа "Сервер защиты". Это программа необходима для работы клиентов
1С:Предприятие в сетевом варианте. вы можете запустить ее, нажав Пуск
Программы - 1С:Предприятие 7.7 - Сервер защиты.
3. На каждом компьютере с 1С:Предприятие есть файл nethasp.ini, который
по умолчанию находится в каталоге C:\Program Files\1Cv77\BIN. В этом
файле содержатся настройки программы, проверяющей наличие ключа в
сети. Файл достаточно хорошо документирован, и вы наверняка сможете
разобраться в его структуре. Мы рекомендуем вам обратить особое внимание на строки используемых протоколов (возможно, там остался один
IPX/SPX, который вообще в вашей сети не используется), время ожидания поиска ключа (при медленно работающей сети программа может
просто не успеть найти его) и ссылки на компьютер-сервер (возможно,
такого компьютера уже не существует, он перемещен или переименован).
46
Ãëàâà 1
Ïðè çàïóñêå 1Ñ:Ïðåäïðèÿòèå ïðîãðàììà
íå çàãðóæàåòñÿ è âûäàåò ñîîáùåíèå
íàïîäîáèå "Êàòàëîã áàçû íå îáíàðóæåí C:\1C"
Это произошло из-за того, что недоступна папка, в которой находится база 1С.
Если база находится на вашем компьютере, то, скорее всего, вы ее куда-то
переместили. Вспомните, перемещали ли вы какие-либо каталоги в последнее
время. Если вы знаете точно, куда была перемещена база, или вам кажется,
что перемещенная недавно папка является базой, то при запуске 1С в диалоговом окне выберите кнопку Изменить (справа от списка баз под кнопками ОК, Отмена). Укажите новый путь к базе и, нажав кнопку ОК, запустите
1С:Предприятие еще раз.
Если база находится не на вашем компьютере, а на удаленном сервере, то
лучше обратиться за помощью к специалисту. Если вы все же решили самостоятельно решить проблему, то, во-первых, необходимо проверить наличие
связи между двумя компьютерами (вы можете просто проверить наличие
компьютера-сервера в списке доступных для клиента компьютеров, щелкнув
по иконке Мое сетевое окружение). Во-вторых, нужно узнать местонахождение каталога с базой на сервере. После этого, щелкнув по кнопке Изменить
в диалоговом окне запуска 1С:Предприятие, выберите "Мое сетевое окружение", зайдите на сервер, на котором находится база, и укажите путь к базе.
Теперь еще раз попробуйте запустить 1С:Предприятие.
Íå óäàåòñÿ çàïóñòèòü 1Ñ:Ïðåäïðèÿòèå,
ïðîãðàììà îñòàíàâëèâàåòñÿ è âûâîäèò ñîîáùåíèå
"Îøèáêà áëîêèðîâêè äàííûõ.
Âîçìîæíî, äàííûå èñïîëüçóþòñÿ äðóãîé çàäà÷åé"
1С:Предприятие может запускаться в двух режимах: Монопольный и Разделенный. При монопольном режиме базу может открыть только один пользователь. вышеуказанное сообщение указывает на то, что кто-то уже вошел в
базу в монопольном режиме (возможно, это вы).
Первым делом нужно проверить свой компьютер. Посмотрите на панель
задач (справа от кнопки "Пуск"), если вы видите там надпись "1С:Предприятие", то щелкните по ней и закройте ее. Это был ранее запущенный экземпляр программы. Запустите 1С:Предприятие еще раз.
Если 1С:Предприятие в монопольном режиме запущено не на вашем компьютере, то возможны два варианта действий.
Первый вариант применим, если в сети немного компьютеров, использующих 1С:Предприятие, и они расположены недалеко друг от друга. Тогда можно
подойти к каждому компьютеру и, выбрав пункт меню 1С:Предприятие >
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
47
Помощь > О программе, вы увидите в самой последней строке Режим работы.
Если слева написано "Монопольный", то нужно закрыть 1С:Предприятие
на этом компьютере и запустить на своем. Скорее всего, проблема будет
решена.
Второй вариант нужно применять тогда, когда компьютеров в сети много
и их слишком долго обходить по одному. Тогда нужно запустить режим
Монитор командой Пуск > Программы > 1С:Предприятие > Монитор
пользователей. Запустив монитор, нужно выбрать пункт меню Монитор >
Активные пользователи. Перед вами появится список компьютеров, на которых в данный момент используется база (каждая строка — запущенный
компонент 1С:Конфигуратор, Предприятие, Монитор, Отладчик). Если вы
обратите внимание на самый левый столбец, то можете заметить, что на одном из компьютеров запущено 1С:Предприятие в монопольном режиме (это
отображается красным восклицательным знаком рядом с иконкой). Подойдите к этому компьютеру и закройте там 1С:Предприятие. Проблема теперь
должна быть решена.
Иногда возможен вариант, что какой-то компьютер некорректно завершил
работу (или просто завис), тогда нужно выключить его и включить еще раз.
Если невозможно определить, какой компьютер занял базу, а в Мониторе не
указан компьютер, использующий монопольный режим, необходимо перезагрузить компьютер, на котором находится база данных 1С.
Ïðîãðàììà íå çàïóñêàåòñÿ è âûäàåò ñîîáùåíèå
"Îøèáêà çàãðóçêè ìåòàäàííûõ"
Здесь нет общего решения проблемы. Сначала убедитесь, что указан правильный путь к базе. вы можете проверить это, взглянув на надпись в самом
низу окна запуска 1С:Предприятие. Там должен значиться путь к базе (чтонибудь вроде C:\1C). Если вы не знаете, тот ли этот путь, то прочитайте ответ на вопрос "При запуске 1С:Предприятие программа не загружается и
выдает сообщение наподобие «Каталог базы не обнаружен C:1C»". Если это
не помогло, то попробуйте обратиться к специалисту.
Ïðîãðàììà íå çàïóñêàåòñÿ è âûäàåò ñîîáùåíèå
"Îøèáêà îòêðûòèÿ èíäåêñíîãî ôàéëà òàáëèöû.
Äëÿ âîññòàíîâëåíèÿ èíäåêñíûõ ôàéëîâ
çàïóñòèòå ïðîãðàììó â ìîíîïîëüíîì ðåæèìå"
Для решения этой проблемы нужно запустить программу в монопольном
режиме (поставьте галочку в поле Монопольно при запуске программы). Конечно, предварительно придется попросить всех пользователей выйти из
1С:Предприятие. На предложение восстановления индексных файлов нужно
48
Ãëàâà 1
ответить утвердительно. Этот процесс может занять значительное время, от
1–2 минут для баз в 5–10 Мбайт до примерно часа для больших баз. Если
вам не удается запустить систему в монопольном режиме, хотя вы уверены,
что все пользователи вышли из программы, сначала проверьте свой компьютер, возможно, там осталась запущенная копия программы. Если и это не
помогло, то попробуйте выключить клиентские машины (можно по одной,
с проверкой после каждой). Вероятно, что одна из программ была некорректно завершена и не освободила базу.
Ïðîãðàììà íå çàïóñêàåòñÿ
è âûäàåò ñîîáùåíèå
"Ïîâðåæäåí ôàéë æóðíàëà ðåãèñòðàöèè"
В каталоге вашей базы (путь к базе написан слева внизу в окне запуска) есть
подкаталог Syslog. В этом каталоге находится файл 1cv7.mlg, это и есть файл
журнала. Переместите его в другой каталог; если вы считаете, что файл журнала вам не нужен, можете его удалить. Главное — убрать файл журнала из
этого каталога. При следующем запуске 1С:Предприятие программа должна
успешно загрузиться и создать пустой файл журнала.
Ïðè çàïóñêå ïðîãðàììû
ïîÿâëÿåòñÿ îêíî ñ íàäïèñüþ 1Ñ:Ïðåäïðèÿòèå
è òóò æå èñ÷åçàåò
Данная проблема возникла из-за того, что запрещена запись в каталог базы
данных. Чтобы исправить ситуацию, с сервера, на котором находится база,
выберите общий ресурс (диск или каталог с базой), щелкните правой кнопкой мыши, выберите меню Свойства, вкладку Доступ, поставьте значение
"Полный" (или включите переключатель Открыть общий доступ к папке для
Windows 2000). Сохраните изменения, попробуйте запустить 1С:Предприятие
еще раз.
Ïðè ïîïûòêå îòêðûòü áàçó äàííûõ ïðîãðàììà
îñòàíàâëèâàåòñÿ ñ ñîîáùåíèåì îá îøèáêå:
"Ïîðÿäîê ñîðòèðîâêè, óñòàíîâëåííûé
äëÿ áàçû äàííûõ, íå ñîâïàäàåò ñ ñèñòåìíûì"
Для того чтобы исправить эту ошибку, щелкните по иконке Мой компьютер >
Панель управления > Языки и стандарты. Установите значение "Русский" и
перезагрузите компьютер.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
49
Ïðè çàïóñêå ïðîãðàììà îñòàíàâëèâàåòñÿ
ñ ñîîáùåíèåì îá îøèáêå:
"Runtime Error! Program c:\Program Files\
1Cv77\Bin1\Cv77.exe. Abnormal termination"
Возможно несколько причин возникновения этой ошибки. Сначала скопируйте каталог вашей базы в другое место, чтобы даже при наихудшем исходе
(в процессе работы выключили свет) вы могли вернуться к первоначальной
ситуации. вы можете самостоятельно предпринять следующие шаги для исправления этой ошибки. После каждого шага попытайтесь запустить
1С:Предприятие.
1. Перезагрузите компьютер.
2. Переустановите 1С:Предприятие.
3. Скопируйте файл 1Cv7.md, который находится в каталоге NEW_STRU
вашей базы в каталог вашей базы. Например, если ваша база находится
в каталоге c:\1Cbase, то нужно скопировать файл 1Cv7.md из
c:\1Cbase\NEW_STRU в c:1\Cbase. На вопрос: "Заменить ли текущий
файл?" следует ответить Да.
4. Запустите Конфигуратор, выберите пункт меню Администрирование Тестирование и исправление ИБ. Нажмите на кнопку выполнить.
Если ошибка не была исправлена, то, видимо, вам придется обратиться
к специалисту.
Ïðè çàïóñêå ïðîãðàììà ñíà÷àëà
çàïðàøèâàåò êîäèðîâêó (êîäîâóþ ñòðàíèöó
è ïîðÿäîê ñîðòèðîâêè), à ïîòîì çàãðóçêà
îñòàíàâëèâàåòñÿ ñ ñîîáùåíèåì îá îøèáêå:
"Íåâîññòàíîâèìàÿ îøèáêà áàçû äàííûõ.
Êîä – 10. Îøèáêà îòêðûòèÿ ñëîâàðÿ áàçû äàííûõ"
Скопируйте файл 1Cv7.dd, который находится в каталоге NEW_STRU вашей
базы в главный каталог базы. Например, если ваша база находится в каталоге c:\1Cbase, то нужно скопировать файл 1Cv7.dd из c:\1Cbase\NEW_STRU
в c:\1Cbase. На вопрос: "Заменить ли текущий файл?" следует ответить Да.
Если такого файла в каталоге NEW_STRU не существует, но вы знаете пароль для входа в конфигурацию, можно исправить проблемы, переименовав
какой-либо объект метаданных самого в себя (например, в идентификаторе
константы "ОснФилиал" стереть последнюю букву "л" а затем снова ее вставить). Сохраните конфигурацию.
50
Ãëàâà 1
Êàê îïðåäåëèòü, ãäå íàõîäèòñÿ
áàçà 1Ñ:Ïðåäïðèÿòèå?
Когда вы запускаете 1С:Предприятие или Конфигуратор, перед вами появляется окно запуска. Если выделена нужная база (большое поле почти посередине окна), то внизу вы можете увидеть путь к базе. Он должен выглядеть
примерно как C:\1Cbase.
Ïðè çàïóñêå ñ òðåòüåãî-÷åòâåðòîãî êîìïüþòåðà
ïðîãðàììà íå çàïóñêàåòñÿ ñ ñîîáùåíèåì
íàïîäîáèå "Îøèáêà äîñòóïà ê òàáëèöå DT****"
Скорее всего, база данных находится на компьютере под управлением
Windows 98. Дело в том, что операционная система Windows 98 не позволяет
держать открытыми больше 1024 файлов единовременно. Необходимо перенести базу на компьютер с другой операционной системой (рекомендуется
Windows 2000).
1Ñ:Ïðåäïðèÿòèå î÷åíü äîëãî îòêðûâàåò áàçó
Возможно, это происходит из-за того, что сканер антивируса проверяет все
*.dbf- и *.cdx-файлы, которые хочет открыть программа. Для решения проблемы нужно исключить проверку файлов этого типа (например, в программе AVP Монитор это называется Исключить по маске). вы можете не
опасаться проникновения вирусов из *.dbf-файлов базы и индексных файлов.
Ïàðàìåòðû êîìàíäíîé ñòðîêè
äëÿ ôàéëà 1cv7.exe
1cv7.exe MODE [ /M | /D | /U | /N | /P ],
где MODE — режим запуска, может принимать только одно из трех значений :
config — режим конфигуратора;
debug — режим отладчика;
enterprise — нормальный (рабочий) режим 1С:Предприятие.
Можно применять следующие ключи:
/M — запуск программы в монопольном режиме;
/D — каталог базы данных;
/U — рабочий каталог пользователя (каталог из списка пользователей игнорируется);
/N — имя пользователя;
/P — пароль пользователя;
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
51
/T<путь> — путь к временным файлам;
/@<ИмяФайла> — для режима конфигуратора с указанием файла пакетного
запуска;
/W — инициализация Web расширения.
Пример: 1cv7 enterprise /Dc:1cmainbase /NИванов /P123.
В этом случае произойдет запуск программы без вывода диалогов о выборе
базы и режима работы, а также без запроса имени и пароля пользователя.
Ñâåðòûâàíèå áàçû äàííûõ 1Ñ:Áóõãàëòåðèÿ
Новую базу данных начинают в следующих случаях.
1. Прежняя база данных достигает больших размеров, что приводит к замедлению работы.
2. Происходит открытие нового юридического лица с перенесением всех
справочников из старой базы данных в новую.
3. Изменение внутренних стандартов ведения учета.
4. Смена главного бухгалтера.
5. Попытка начать работу с чистого листа.
Для того чтобы иметь возможность работать со старыми данными, следует
сделать копию и работать в копии. Как сделать копию базы данных, читайте
в разделе "Как сделать архив базы данных" данной главы.
Пошаговая инструкция для свертывания базы данных:
1. Закройте все программы на компьютерах пользователяй.
2. Проверьте, все ли пользователи вышли из 1С (см. раздел "Запуск системы
1С:Предприятие в режиме "Монитор").
3. Скопируйте базу данных в другое место (см. раздел "Как сделать архив
базы данных").
4. Переименуйте старую базу данных в стартовом меню запуска 1С (переименование необходимо для того, чтобы пользователи случайно не продолжили работу в старой базе).
5. Зарегистрируйте новую базу данных (см. раздел "Как указать путь к базе
данных").
6. Запустите пакетный файл wrap.ert, (он находится на диске ИТС). Если
вы не нашли его на диске, попробуйте поискать в Интернете. Если поиск
в Интернете ни к чему не привел, можно попросить выслать вам его на
одном из форумов, посвященных 1С.
Пакетный файл wrap.ert пометит на удаление документы в старом периоде
и создаст начальные остатки.
52
Ãëàâà 1
При свертывании базы данных все операции помечаются на удаление. Для
того чтобы сформировать начальные остатки, программа формирует проводки, как, например, эти:
62/00/100-00 руб.
50/00/100-00 руб.
00/60/200-00 руб.
Дебет и кредит на счете 00 уравновешиваются и дают сальдо, равное нулю,
поэтому нарушений в балансе в результате использования счета 00 не будет.
Если сальдо на 00 счете отлично от нуля, следует перепроверить оборотносальдовые ведомости старой и новой базы.
Стоит отметить, что помечаются на удаление также операции с оборотными
счетами, например с 90-м счетом. Поэтому если информация по оборотным
счетам важна, то свертывать базу в середине года нельзя. Лучшее время
инициации новой базы данных — 1 января.
Перед свертыванием базы данных следует сделать ее архивную копию.
При запуске операции свертывания помните, что она занимает очень много
времени.
После этого первоначальные остатки будут находиться в последнем дне
свернутой базы данных, то есть если вы свертывали базу данных на 31.12.04,
то для корректировки первоначальных остатков следует просмотреть в журнале операций операции на 31.12.04.
×òî äåëàòü ïðè ïåðåõîäå ñ òîðãîâëè èëè
êîìïëåêñíîé áóõãàëòåðèè íà áóõãàëòåðèþ
Переход с торговли на бухгалтерию — более трудоемкая задача, по сравнению со свертыванием базы данных однотипной конфигурации. Лучше обратиться к программисту.
В любом случае перед установкой любой из программ следует хорошо подумать и взвесить все за и против. Ставить ли бухгалтерию или комплексную
конфигурацию. Поставить просто, а вот переходить с одной конфигурации
на другую сложно.
Многие программисты предпочитают работать с торговлей или бухгалтерией. Другие предпочитают комплексные конфигурации. Но полагаться на
мнение одного программиста в этом деле не нужно. Проведите опрос. Зайдите на интернет-форумы, задайте интересующий вас вопрос.
Êàê îïðåäåëèòü ôðîíò ðàáîò ïðîãðàììèñòà
ïî ïåðåíîñó äàííûõ èç îäíîé áàçû â äðóãóþ
Трудоемкость переноса объекта определяется следующим перечнем (в порядке возрастания сложности).
Уровень сложности 1 — перенос справочников:
1. Задача по формированию структуры подчиненности справочников.
Àäìèíèñòðèðîâàíèå ñèñòåìû 1Ñ:Ïðåäïðèÿòèå
53
2. Задача по переносу полей в справочнике.
3. Задача по переносу подчиненных справочников.
Уровень сложности 2 — перенос документов:
1. Задача по формированию структуры подчиненности документов.
2. Задача по переносу полей в справочнике.
3. Задача по переносу подчиненных справочников.
4. Перенос шапок документов.
5. Перенос табличной части документов.
Перенос документов из одной базы данных в другую — в два раза более трудоемкая задача, чем перенос справочников.
Îïðåäåëåíèå ïëàíà ïåðåíîñà äàííûõ
Составьте список объектов, которые должны быть перенесены. Для этого
нужно просто открыть рабочую базу и просмотреть все справочники и документы. Отмечайте так же примерное количество переносимых объектов.
Определите, какие справочники будут переноситься программистом, а
какие — вручную. Если объем справочника меньше 50 элементов, проще
переносить его вручную. Можно, конечно, поручить перенос небольших
справочников и программисту, но при этом не следует забывать, что за программистом нужно все проверить и суммарный объем работы программиста
и поверяющего будет больше, чем при ручном переносе.
Помните, что перенос документов без табличной части как минимум в два раза
более трудоемкий процесс по сравнению с переносом справочников, а перенос
документов с табличной частью — как минимум в три раза. Табличная часть,
например, приходной накладной представляет собой следующий список:
1. Список элементов справочника "Номенклатура".
2. Список значений перечисления "Ставки НДС".
3. Список числовых значений реквизитов "Количество", "Цена", "Сумма".
Поэтому для переноса документа "Приходная накладная" необходимо переносить и справочник "Номенклатура".
Если ресурсы программистов ограничены, имеет смысл поручить программисту переносить справочники и документы вносить вручную.
Подготовка переноса данных должна начинаться за несколько недель до
начала работы. Также необходимо сделать хотя бы один пробный перенос
документов.
54
Ãëàâà 1
Ãëàâà 2
Ïðîñòåéøåå êîíñòðóèðîâàíèå
Êàê èçìåíèòü ñïðàâî÷íèê "Íîìåíêëàòóðà"
áåç ïîìîùè ïðîãðàììèñòà
Вспомним начало 2004 года, когда изменилась ставка НДС с 20% на 18% и
был отменен НП (налог с продаж).
Очередное обновление от 1С изменило конфигурацию. НДС 18% появился
везде, где нужно, кроме справочника "Номенклатура". Обычный пользователь может самостоятельно, без помощи программиста, исправить эту ситуацию.
При работе со справочниками нужно помнить о некоторых тонкостях. Реквизиты элемента справочника могут быть периодическими, то есть их значение зависит от даты выборки: на дату "01.01.05" значение может быть одним, а на дату "02.01.05" — другим. Поэтому прежде чем изменять реквизит,
нужно определить, является ли он периодическим.
Мы изменим ставку НДС при помощи конструкторов, находящихся в распоряжения пользователя.
Èçìåíåíèå ñòàâêè ÍÄÑ
Сделайте резервную копию базы. Эту операцию следует сделать не только
в случае, когда работает неопытный пользователь, но и перед началом работы
опытного программиста.
выполните следующую последовательность действий:
откройте меню Конфигурация;
выберите Открыть конфигурацию;
56
Ãëàâà 2
раскройте дерево "Справочники", элемент "Номенклатура";
посмотрите свойства реквизита "СтавкаНДС", перейдите на закладку
Дополнительно и проверьте, включен ли переключатель Реквизит периодический. Если нет, то этот реквизит не периодический.
Запустите 1С в режиме Конфигуратор. Найдите кнопку Новый Отчет (волшебная палочка на фоне листа бумаги со знаком суммы
ните следующие действия:
). Или выпол-
войдите в меню Конструкторы;
откройте Новый Отчет;
выберите пункт Внешний отчет и в открывшемся поле укажите нужный
каталог и напишите имя отчета "Изменение НДС";
Внешним отчетом в системе 1С:Предприятие называется отчет, хранящийся
вне конфигурации, в отдельном файле. Поэтому нужно указать имя файла.
установите галочку Использовать конструкторы для создания новых
объектов;
нажмите кнопку Далее (этот отчет предназначен для однократного использования, поэтому его незачем включать его состав конфигурации);
установите галочку вызвать конструктор запросов;
нажмите кнопку Готово.
Для изменения ставки НДС с 20% на 18% в справочнике номенклатуры
нужно составить программу со следующим алгоритмом:
1. Определить переменную типа объект "справочник Номенклатура".
2. Перебрать все элементы справочника "Номенклатура".
3. Выбрать только те элементы, у которых ставка НДС равна 20% (Следует
пропускать все элементы, ставка которых 0% или 10%).
4. Установить ставку НДС в значение 18% с 01.01.2004.
5. Сохранить изменения в элементе справочника.
В рассматриваемой конфигурации 1С:Бухгалтерия 7.7.460 реквизит "СтавкаНДС" периодический. Если реквизит не является периодическим, то пункт 4
описанного выше алгоритма будет звучать так: "Установить ставку НДС в значение 18%".
Часть алгоритма можно сконструировать при помощи конструктора запросов.
После нажатия кнопки Готово запустится пошаговое меню Конструктора.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
57
В первой форме конструктора появился вопрос: "Введите имя запроса:", где
по умолчанию стоит текст: "Сформировать". При желании вы можете поменять на любое имя запроса (задавать отличенное от имени "Сформировать"
имеет смысл в том случае, когда отчет имеет несколько запросов).
Нажмите кнопку OK, и процесс конструирования отчета перейдет на этап
выбора интервала времени обработки базы данных.
Если отчет использует дату, то следует включить переключатели Период и
Период будет выбираться в диалоге формы.
Параметр Обрабатывать может принимать три значения: "Все", "НеПомеченныеНаУдаление", "ПомеченныеНаУдаление". Установите в этом отчете
значение "Все" (то есть будут обрабатываться все элементы, как помеченные, так и не помеченные на удаление). Галочку Без итогов устанавливать
не нужно. Нажмите кнопку Далее.
Конструктор отчета перейдет к третьему этапу.
Для работы запроса нужно определить переменные, с которыми запрос будет работать. Для этого нажмите кнопку Добавить переменную. В поле Имя
переменной вводим "Ном". Откройте дерево "Справочники" "Номенклатура" "ТекущийЭлемент". Нажмите кнопку Стрелка влево
.
Нажмите кнопку Добавить переменную. Откройте дерево объектов "Справочники" "Номенклатура" "СтавкаНДС". Нажмите кнопку Стрелка влево. Как видите, в поле "Имя переменной" появилось слово "СтавкаНДС".
Нажмите кнопку Добавить переменную. Откройте дерево "Справочники" "Номенклатура" "СтавкаНДС" "Ставка". Нажмите кнопку Стрелка влево.
Если вы все сделали правильно, должна получиться форма, как на рис. 2.1.
Нажмите кнопку Далее.
Иногда, в процессе ввода переменных, у вас могут возникнуть ошибки, например, в нижней строке, над кнопками <Назад и Далее> появляется надпись "Переменные различных типов данных". Это означает, что вы не создали новую
переменную, а пытаетесь к одной переменной добавить все значения. Для решения проблемы нужно кнопкой Удалить переменную удалить все переменные и пройти третий этап заново.
Конструктор отчета перейдет к четвертому этапу.
Нажмите кнопку Добавить функцию. Измените пункт "Сумма" на "Счетчик".
У вас получится форма, как на рис. 2.2.
58
Ãëàâà 2
Ðèñ. 2.1
Ðèñ. 2.2
Ïðîñòåéøåå êîíñòðóèðîâàíèå
59
Если у вас получился другой результат, нажимайте кнопку Удалить функцию
до тех пор, пока не очистите экран внизу. После этого повторите создание
функции сначала и добейтесь сходства своего экрана с рис. 2.2
Нажмите кнопку Далее.
Конструктор отчета перейдет к пятому этапу.
Нажмите кнопку Добавить группировку. Значение поля Группировка должно
быть "Ном".
Ðèñ. 2.3
Установите галочку без групп. Это позволяет выбрать элементы без наименований родительских элементов (наименований папок, в которые входят
элементы справочника). Группы в справочнике не содержат реквизита
"СтавкаНДС", поэтому при выполнении обработки возникнут ошибки.
Нажмите кнопку Далее.
Чтобы выбрать только заменяемую ставку НДС, нужно добавить функцию. Для этого нажмите кнопку Добавить условие. Установите галочку
Элементарное условие. В крайнем левом поле выберите "Ставка" в следующем за ним " = " и установите галочку Выбирать в диалоге. Если все верно,
должна получиться форма, как на рис. 2.4.
60
Ãëàâà 2
Ðèñ. 2.4
Ðèñ. 2.5
Нажмите кнопку Далее.
Все отчет готов, нажмите кнопку Готово.
На экране должна появиться форма, как на рис. 2.5.
Первый пункт алгоритма изменения НДС вы выполнили.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
61
Переходите ко второму пункту плана — замене значения элементов справочника номенклатуры с НДС 20% на НДС 18%. Удобнее всего задавать
ставки в диалоговой форме. Для этого нажмите в главном меню Вставить и
воспользуйтесь еще одним конструктором Элемент диалога. выберите "Реквизит диалога" и установите значение поля Тип равным "Справочник.СтавкиНДС". В поле Идентификатор введите "НоваяСтавка", в поле Заголовок напишите "Новая ставка" и нажмите кнопку OK.
Ðèñ. 2.6
На экране появляется крестик для размещения на форме выбранного элемента. Укажите на место, немного ниже "Ставки", и нажмите кнопку OK.
Ðèñ. 2.7
Теперь нужно расширить окошки, передвинуть их так, чтобы с ними было
удобно работать в будущем. Попробуйте достичь варианта, как на рис. 2.8.
62
Ãëàâà 2
Ðèñ. 2.8
В рассматриваемой конфигурации 1С:Бухгалтерия 7.7.460 реквизит "СтавкаНДС" является периодическим. Поэтому нужно задать дату, на которую
следует установить новую ставку. Чтобы вставить реквизит даты в форму
отчета, воспользуйтесь конструктором. вас интересует тип "Дата". В заголовке напишите "На дату" и нажмите кнопку OK.
Появится крестик для размещения на форме выбранного элемента. Укажите
на место, немного правее "НоваяСтавка", и нажмите кнопку OK (рис. 2.9).
Ðèñ. 2.9
Обычно перед тем, как запускать на выполнение обработку реальных изменений в базе данных, программист несколько раз вхолостую прогоняет отчет,
Ïðîñòåéøåå êîíñòðóèðîâàíèå
63
на случай, если не учел что-либо в алгоритме. Возможно, программа изменит все элементы справочника, включая и те, что имеют НДС = 0%. Исправление ошибок — более сложная процедура, по сравнению с простым
изменением одних параметров на другие.
Обычно для того, чтобы обработка делала реальные изменения в базе данных, на форме обработки устанавливается переключатель. Если он включен,
программа производит запись изменений, если нет, изменения не сохраняются. Чтобы это сделать, нужно еще раз воспользоваться конструктором.
Вставьте на форму отчета поле реквизита диалога типа "Флажок". Назовите
его "Запись". Наберите слово "Запись" в строке Идентификатор и нажмите
кнопку ОК (рис. 2.10).
Ðèñ. 2.10
Переключитесь на закладку Модуль (закладки расположены в нижней части
формы отчета).
Если вы все сделали правильно, то перед вашими глазами должен появиться
следующий текст.
Листинг 2.1. Процедура генерации запроса Сформировать
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
64
Ãëàâà 2
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с выбНачПериода по выбКонПериода;
|Ном = Справочник.Номенклатура.ТекущийЭлемент;
|СтавкаНДС = Справочник.Номенклатура.СтавкаНДС;
|Ставка = Справочник.Номенклатура.СтавкаНДС.Ставка;
|Функция Счётчик = Счётчик();
|Группировка Ном без групп;
|Условие(СтавкаНДС = выбСтавкаНДС);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.вывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.высотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Ном
Таб.вывестиСекцию("Ном");
КонецЦикла;
// Заполнение полей "Итого"
Таб.вывестиСекцию("Итого");
// вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Найдите строку:
"//Создание объекта типа Запрос".
Строка выделена зеленым цветом. Добавьте после нее еще две строки:
Спр = СоздатьОбъект("Справочник.Номенклатура");
Ïðîñòåéøåå êîíñòðóèðîâàíèå
65
Эта команда создает объект типа номенклатура. Переменная "Спр" становится объектом справочника номенклатуры. Обращаясь к ней можно производить выборку элементов справочника, записывать новые элементы, изменять реквизиты справочника.
Спр.ИспользоватьДату(выбДата);
Команда определяет дату, с которой будет работать справочник.
После строки
"Таб.вывестиСекцию("Ном");"
(команда, которая выводит в печатную форму строку "Ном" из шаблонной
таблицы) добавьте строки:
Спр.НайтиЭлемент(Запрос.Ном);
Команда указывает объекту "Спр" найти элемент, который равен переменной запроса "Запрос.Ном"
Сообщить(сокрлп(Спр.Наименование) + " старая ставка " + Спр.СтавкаНДС);
Команда выводит в окно сообщений строку из наименования товара (наименование товара может как начинаться, так и заканчиваться пробелами,
поэтому функция сокрлп убирает лишние пробелы), надписи "старая ставка"
и ставки НДС.
Спр.СтавкаНДС = НоваяСтавка.ТекущийЭлемент();
Команда присвоения значения НоваяСтавка.ТекущийЭлемент() реквизиту
сравочника "СтавкаНДС". Спр — название объекта справочника, как было
указано выше. Эта команда устанавливает новую ставку НДС.
Сообщить(сокрлп(Спр.Наименование) + " НОВАЯ СТАВКА " + Спр.СтавкаНДС);
Команда выводит на зкран сообщение, что товару "Спр.Наименование" присвоена "НОВАЯ СТАВКА", равная "ставка НДС".
Если писать = 1 Тогда
Это условие проверяет, если переменная "писать" равна 1, тогда выполняется условие
Спр.Записать();
Записать объект
КонецЕсли;
Эта команда указывает на конец условия.
Переменная "писать" — это та переменная, которую вы создали и разместили
на форме.
66
Ãëàâà 2
При написании программы следует быть внимательным в использовании
знаков препинания. Особенно следует обратить внимание на точки между
командами программы и точки с запятой в конце командных строк. Запомните: внутри команд запятой быть не может! Запятая вместе с пробелом являются разделителем между словами в команде. Точка с запятой заканчивает
строку команды. Внимательно пишите строку "Если писать = 1 Тогда" —
точка с запятой в конце этой строки не ставится.
Получится следующий код.
Листинг 2.2. Процедура генерации запроса Сформировать
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Спр = СоздатьОбъект("Справочник.Номенклатура");
Спр.ИспользоватьДату(выбДата);
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с выбНачПериода по выбКонПериода;
|Ном = Справочник.Номенклатура.ТекущийЭлемент;
|СтавкаНДС = Справочник.Номенклатура.СтавкаНДС;
|Ставка = Справочник.Номенклатура.СтавкаНДС.Ставка;
|Функция Счётчик = Счётчик();
|Группировка Ном без групп;
|Условие(Ставка = выбСтавка);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
Ïðîñòåéøåå êîíñòðóèðîâàíèå
67
// Заполнение полей "Заголовок"
Таб.вывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.высотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Ном
Таб.вывестиСекцию("Ном");
Спр.НайтиЭлемент(Запрос.Ном);
Сообщить(сокрлп(Спр.Наименование) + " старая ставка " + Спр.СтавкаНДС);
Спр.СтавкаНДС = НоваяСтавка.ТекущийЭлемент();
Сообщить(сокрлп(Спр.Наименование) + " НОВАЯ СТАВКА " + Спр.СтавкаНДС);
Если писать = 1 Тогда
Спр.Записать();
КонецЕсли;
КонецЦикла;
// Заполнение полей "Итого"
Таб.вывестиСекцию("Итого");
// вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Сравните этот код со своим и добейтесь полного сходства. Важно все: точки
с запятой, запятые. Обычно новички забывают ставить знаки препинания.
Для проверки правильности написания воспользуйтесь синтаксическим
(Лист бумаги
контролем. Найдите кнопку "Синтаксический контроль"
с птичкой синего цвета). Или откройте меню Действия, выберите Синтаксический контроль. Внизу появится окно с сообщением "Синтаксических ошибок не обнаружено!". Если же ошибки есть, конфигуратор укажет, в какой
строке допущена ошибка и что она означает.
Сохраните обработку. Для этого нажмите иконку с изображением дискеты
или откройте меню Файл и выберите Сохранить.
Все пункты плана по изменению ставки НДС выполнены, осталось увидеть
результаты работы программы.
Запустите 1С в режиме "1С:Предприятие". Нажмите кнопку Открыть или
в меню Файл выберите Открыть. Найдите сохраненный файл и нажмите
кнопку Открыть.
выберите период из одного дня, установите ставку 20, новую ставку 18%,
в поле "выбДата" укажите нужное число (например, 01.01.04), галочку Запись
68
Ãëàâà 2
уберите (чтобы не изменить данные сразу, посмотрите сначала на результат
и, если он вас удовлетворит, ставьте галочку). Нажмите кнопку Сформировать.
В нижней части экрана появится окно сообщений, в котором будут следующие строки:
Ботинки женские демисезонные старая ставка 20%
Ботинки женские демисезонные НОВАЯ СТАВКА 18%
Ботинки женские демисезонные старая ставка 20%
Ботинки женские демисезонные НОВАЯ СТАВКА 18%
Кроме этого появится таблица со списком номенклатуры с 20% НДС. Этот
список можно распечатать.
После того как вы убедились в корректности ваших действий, можно приступать к реальной работе. Установите галочку Писать и нажмите кнопку
Сформировать.
Если какая-то из номенклатурных карточек будет открыта, кроме указанных
сообщений будет выдано еще вот такое сообщение:
Спр.Записать();
{C:\ИСПРАВЛЕНИЕ НДС.ERT(42)}: Объект заблокирован: Ботинки женские натуральная кожа
Программа обработала часть справочника и прервалась на открытой карточке. Нужно закрыть эту карточку и еще раз запустить программу. Если вы все
же не смогли обнаружить, какой из компьютеров использует злополучную
карточку, обратитесь к главе "Администрирование".
Закройте отчет.
Задача выполнена. Для проверки откройте любую позицию номенклатуры,
установите дату значения периодических реквизитов равной "выбДата" и
увидите результат изменений. Также можно убрать галочку Писать, выбрать
Ставка 18 %, получить список номенклатуры с 18 % НДС и проверить ее.
В данном примере мы показали, как использовать конструктор запроса. Но все
действия описаны так, чтобы показать, как пользоваться конструктором. Если
бы программист писал программу, которая изменяет ставку НДС, получился бы
следующий код:
Тов=СоздатьОбъект("Справочник.Номенклатура");
Тов.ИспользоватьДату('01.01.05');
Тов.выбратьЭлементы();
Пока Тов.ПолучитьЭлемент()=1 Цикл
Тов.СтавкаНДС=Константа.ОсновнаяСтавкаНДС;
Тов.Записать();
КонецЦикла;
Ïðîñòåéøåå êîíñòðóèðîâàíèå
69
Приведенный ранее отчет можно найти по адресу:
www.prosto1C.by.ru/file01.zip.
Ïîèñê îøèáîê â ñ÷åò-ôàêòóðàõ
В этом разделе рассматривается поиск возможных ошибок в счет-фактурах.
Этот документ в "1С:Торговля" не выполняет никаких функций, кроме формирования книги продаж. Однако, если данные передаются в
"1С:Бухгалтерия", очень важно, чтобы связки "РасходнаяНакладная" —
"СчетФактуравыданный" были корректны.
Ðåàëèçàöèÿ ïîèñêà îøèáîê â ñ÷åò-ôàêòóðàõ
Самая распространенная ошибка — отсутствие связи между расходной накладной и счет-фактурой. Метод обнаружения ошибки следующий:
1. Получить реестр расходных накладных за определенный период.
2. Получить реестр счет-фактур с указанием, к какой расходной накладной
относится конкретная счет-фактура.
3. Сравнить реестр расходных накладных c реестром счет-фактур и связанными с ними накладными.
4. В результате сравнения будет выявлен список счет-фактур, не связанных
с расходными накладными, и список расходных накладных без привязанных к ним счет-фактур.
Проблему можно решить вручную. Например, формировать книгу продаж
за каждый день и сравнивать ее с реестром расходных накладных. Можно
просмотреть все накладные и проверить наличие связи между накладной и
счетом-фактурой. Хорошо, если накладных не много, однако если ежедневно выписывается более двухсот накладных, работа по поиску ошибок будет
занимать один-два дня.
Можно пригласить программиста, который напишет программу по сверке
накладных. Однако, на мой взгляд, решение проблемы вполне по силам
бухгалтеру. Мы рассмотрим, как при помощи конструкторов составить все
необходимые реестры, и покажем, как вручную, или при помощи Excel, за
несколько минут произвести сверку.
Ïîøàãîâàÿ èíñòðóêöèÿ ðåøåíèÿ ïðîáëåìû
Запустите 1С в режиме Конфигуратор. Найдите кнопку Новый Отчет (волшебная палочка на фоне листа бумаги со знаком суммы
). Или откройте
70
Ãëàâà 2
в меню Конструкторы и выберите Новый Отчет. выберите пункт Внешний
отчет.
Внешним отчетом (обработкой) в системе 1С:Предприятие называется отчет, хранящийся вне конфигурации, в отдельном файле внешнего отчета.
Поэтому в появившемся окошке нужно указать имя файла. вы можете воспользоваться кнопкой или указать имя файла в окошке. Расширение указывать не нужно. Теперь нажмите кнопку Далее.
На следующей форме вы видите переключатель Вставить команду в пользовательское меню. Прежде чем установить или сбросить галочку, нужно подумать, как часто будет использоваться этот отчет. Если отчет будет использоваться часто, нужно установить галочки здесь и далее (рис. 2.11).
Ðèñ. 2.11
Если отчет будет использоваться редко, никаких галочек устанавливать не
нужно и отчет будет зарегистрирован как внешний относительно текущей
конфигурации.
Нажмите кнопку Далее.
В следующей форме поставьте галочку в пункте вызвать конструктор запросов.
Нажмите кнопку Готово. Перед вами появится форма отчета, как на рис. 2.12.
Теперь можно создать запрос.
В появившемся окне вам предлагается выбрать имя запроса. Ничего не меняйте. Нажмите кнопку OK.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
71
Ðèñ. 2.12
Новая форма предлагает выбрать период и методы обработки данных. Поскольку документы будут выбираться за определенный период, галочка
в пункте Период должна быть установлена. Установите также галочку Период
будет выбираться в диалоге формы. Параметр ОбрабатыватьДокументы установите в режим "Проведенные". Поскольку проведенные документы не могут быть удаленными, в параметре Обрабатывать укажите "Все". Галочку Без
итогов устанавливать не нужно.
Если вы все сделали правильно, должна получиться форма, как на рис. 2.13.
Ðèñ. 2.13
Нажмите кнопку Далее. Конструктор перейдет на этап определения переменных.
72
Ãëàâà 2
Ðèñ. 2.14
Ðèñ. 2.15
Ïðîñòåéøåå êîíñòðóèðîâàíèå
73
Теперь необходимо определить переменные, с которыми запрос будет работать. Нажмите кнопку Добавить переменную (рис. 2.14). В поле Имя переменной
введите "Док" (рис. 2.15). Найдите в дереве объектов объект "Документы" и
выберите "РасходнаяНакладная", нажмите кнопку Стрелка влево
.
У вас должна получиться форма, как на рис. 2.16.
Ðèñ. 2.16
Если вы получили другой результат, нажимайте кнопку Удалить переменную
до тех пор, пока не очистите поле внизу. После это повторите создание переменной и добейтесь полного сходства с рис. 2.16.
Нажмите кнопку Далее. Конструктор перейдет на этап определения
функций.
Нажмите кнопку Добавить функцию. Измените значение "Сумма" на
"Счетчик".
У вас получится форма, как на рис. 2.17.
74
Ãëàâà 2
Ðèñ. 2.17
Ðèñ. 2.18
Ïðîñòåéøåå êîíñòðóèðîâàíèå
75
Если вы получили другой результат, нажимайте кнопку Удалить функцию до
тех пор, пока не очистите поле внизу. После этого повторите создание функции
сначала и добейтесь полного сходства с рис. 2.17.
Нажмите кнопку Далее. Конструктор отчета перейдет на этап группировки.
Нажмите кнопку Добавить группировку. Конструктор добавит в поле Группировка список элементов, сгруппированных по переменной "Док".
Получится форма, как на рис. 2.18.
Если вы получили другой результат, нажимайте кнопку Удалить группировку
до тех пор, пока не очистите поле внизу. После этого повторите добавление
группировки сначала и добейтесь полного сходства с рис. 2.18.
Нажмите кнопку Далее. Конструктор перейдет к выбору условий.
В вашем алгоритме никаких условий создавать не нужно. Пропустите этот
этап конструктора. Если по каким-то причинам в нижнем табло окна есть
условия, нужно их удалить кнопкой Удалить условие (рис. 2.19).
Ðèñ. 2.19
76
Ãëàâà 2
Ðèñ. 2.20
Нажмите кнопку Далее. Конструктор перейдет на заключительный этап своей
работы. На этом этапе менять ничего не нужно. Нажмите кнопку Готово.
На экране компьютера должна появиться форма, как на рис. 2.20.
Первый пункт плана выполнен. Переходите на выполнение второго пункта
(Получить реестр счет-фактур с указанием, к какой расходной накладной
относится конкретная счет-фактура).
Запустите конструктор запросов. Для этого следует нажать кнопку со значком
или открыть меню Конструкторы и выбрать Запрос. Появится диалоговое окно, как на рис. 2.21.
Ðèñ. 2.21
Этот диалог предлагает выбрать запрос, который вы будете редактировать,
существующий (тот, который вы формировали на предыдущих этапах) или
новый. В настоящем случае вам нужен новый запрос. выберите "Новый запрос" и нажмите кнопку ОК.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
77
Перед вами появится форма, схожая с формой, которая уже рассматривалась
на рис. 2.12, однако в этот раз на вопрос об имени запроса нужно набрать
имя, отличное от имени "сформировать". Например, можно выбрать имя
"СФ". Нажмите кнопку OK.
Дальше появляются уже знакомые вам по предыдущему запросу формы, которые мы рассматривали на рис. 2.13–2.19. Установите галочки в пунктах
Период и Период будет выбираться в диалоге формы.
Нажмите кнопку Далее.
Окно переменных уже знакомо нам по рис. 2.14 — 2.16, однако на этот раз
нужно выполнить немного другие действия. Добавьте переменную, назовите
ее "СФ" и в окне справа выберите "Документ", затем "СчетФактура". Нажмите кнопку Стрелка влево.
Добавьте переменную, назовите ее "Док" и в окне справа выберите "Документ", затем "СчетФактура", далее "Шапка" и "ДокументОснование". Через
эту переменную осуществляется связь между документами.
У вас должна получиться форма, как на рис. 2.22.
Нажмите кнопку Далее.
Добавьте функцию "Счетчик".
Ðèñ. 2.22
78
Ãëàâà 2
Ðèñ. 2.23
Ðèñ. 2.24
Ïðîñòåéøåå êîíñòðóèðîâàíèå
79
Нажмите кнопку Далее.
Добавьте группировку по переменной "Док". Должна получиться форма, как
на рис. 2.23.
Нажмите кнопку Далее.
Указывать условия не нужно. Нажмите еще раз кнопку Далее.
вы увидите окно Конструктор запросов: Текст запроса (рис. 2.24). Обратите
внимание на поле Новая кнопка и его значение — "Сф". Это пригодится
в дальнейшем.
Нажмите кнопку Готово.
Перед вами появится форма, как на рис. 2.25.
Ðèñ. 2.25
При нажатии кнопки Сформировать в режиме 1С:Предприятие вы получите
реестр расходных накладных, а по нажатию на кнопки Сф — реестр счетфактур с указанием расходных накладных, на основании которых они выписаны.
Пока нажимать на кнопки бесполезно — программа не выдаст желаемых
реестров, поскольку вы находитесь в режиме конфигуратора (в котором пишут программы), а не в режиме Предприятия, в котором программы исполняются.
Перейдите на закладку формы отчета Модуль. Вы должны увидеть следующий текст (листинг 2.3).
80
Ãëàâà 2
Листинг 2.3. Процедура генерации запроса Сформировать
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с выбНачПериода по выбКонПериода;
|Док = Документ.РасходнаяНакладная.ТекущийДокумент;
|Функция Счётчик = Счётчик();
|Группировка Док;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.вывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.высотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Док
Таб.вывестиСекцию("Док");
КонецЦикла;
// Заполнение полей "Итого"
Таб.вывестиСекцию("Итого");
// вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Ïðîñòåéøåå êîíñòðóèðîâàíèå
Листинг 2.4. Процедура генерации запроса Сф
//*******************************************
// Процедура генерации запроса Сф.
//
Процедура Сф()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сф)
|Период с выбНачПериода по выбКонПериода;
|СФ = Документ.СчетФактура.ТекущийДокумент;
|Док = Документ.СчетФактура.ДокументОснование;
|Функция Счётчик = Счётчик();
|Группировка Док;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сф");
// Заполнение полей "Заголовок"
Таб.вывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.высотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Док
Таб.вывестиСекцию("Док");
КонецЦикла;
// Заполнение полей "Итого"
Таб.вывестиСекцию("Итого");
// вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сф", "");
КонецПроцедуры
81
82
Ãëàâà 2
Поздравляю, вы написали программу как настоящий программист. Только
в отличие от программиста вы не стали концентрироваться на синтаксисе
команд, а сосредоточились на правильности постановки задачи.
Если у вас получился не такой код, как в листингах 2.3 и 2.4, нужно будет
исправить текст.
В отчет по умолчанию вставляются только строки с функцией и группировкой, то есть вот эти строки из текста запроса:
|Функция Счётчик = Счётчик();
|Группировка Док;
Однако в отчете нужен не счетчик, а ссылки на документы. К сожалению,
функции над документами в рамках конструктора запроса производить невозможно, поэтому придется дополнить отчет нужными функциями вручную.
Для того чтобы расходные накладные и счет-фактуры появились в печатной
форме, нужно изменить макет отчета.
В отчете указываются документы отгрузки, в строке "Итого" стоит формула
расчета количества документов. Замените формулу "Счетчик" ссылкой на
счет-фактуру. После того как все будет сделано, нужно расширить колонки
отчета, чтобы наименование документов полностью помещались в предназначенные для них ячейки.
Для того чтобы отредактировать печатную форму документа, следует перейти на закладку СФ формы отчета. Работа с макетом отчета напоминает работу с Excel (рис. 2.26).
Ðèñ. 2.26
Левее номеров строк отображены наименования секций. выберите секцию
"Док" и в ячейке на пересечении "Счетчика" и секции "Док" напишите "Запрос.Сф". Это нужно для вывода документа "СчетФактуравыданный". Помните, как вы назвали переменную для "СчетФактуравыданный"? Вместо
надписи "Счетчик" введите "СФ". Должно получиться вот так.
Расширьте колонки № 2 и № 3 формы отчета так, как вы обычно это делаете в Excel. Подведите курсор мыши к разделителю между колонками 2 и 3.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
83
Добейтесь изменения формы курсора мыши. Нажмите левую кнопку мыши
и, удерживая ее, передвиньте мышь вправо. В результате манипуляций колонка №2 расширится. Не переусердствуйте, колонка не должна быть
слишком широкой. Расширить нужно и колонку № 3 (рис. 2.27). Документ
с названием, номером и датой занимает много места, а в отчете получилась
узкая колонка, что может привести к тому, что нужный текст будет обрезан.
Поскольку в колонке "Сф" было число, а нужно, чтобы был текст, нужно
изменить метод отображения значения ячеек. Для этого выберите ячейку
"ЗапросСф", нажмите правую кнопку мыши и в контекстном меню выберите пункт Свойства. Появится форма, как на рис. 2.28.
Ðèñ. 2.27
Ðèñ. 2.28
Установите поле Контроль в режим "Переносить". Нажмите кнопку OK.
Второй пункт плана по решению проблемы выполнен. Начнем выполнять
третий пункт — сравнить реестр расходных накладных c реестром счетфактур и связанными с ними накладными.
Сохраните отчет. Для этого нажмите на значок дискеты или выполните
следующую последовательность действий: открыть меню Файл, выбрать
Сохранить.
Модуль готов. Для того чтобы сформировать отчеты, запустите 1С в режиме
1С:Предприятие. Нажмите кнопку Открыть или в меню Файл выберите
Открыть. Найдите сохраненный файл и нажмите кнопку Открыть.
84
Ãëàâà 2
Ðèñ. 2.29
Ðèñ. 2.30
Укажите период, за который следует обрабатывать документы, и нажимайте
кнопки Сформировать и Сф.
Получатся два отчета: "Сформировать" и "СФ" — см. рис. 2.29, 2.30.
Напомню, что первый отчет представляет собой реестр расходных накладных, а второй — реестр счетов фактур с привязанными к ним накладными.
Обратите внимание на колонки первого отчета. В них даты документов немного срезаны. Если вы привыкли работать с Excel, можете перенести туда
оба отчета и отформатировать. Если же нет, нужно выполнить следующие
действия. В нижней части экрана найдите группу значков
Крайний справа,
.
сейчас нажат, это означает, что редактировать таблицу
нельзя. Нажмите на него мышью, и он примет вид
ровать таблицу. Затем нужно нажать на значок
. Теперь можно редакти, он примет вид
,
что означает, что заголовки колонок и строк включены и теперь можно изменить размер колонки. Расширьте колонки с помощью мыши. Отчет готов
для печати.
Дополнение
Для сохранения в Excel любой печатной формы из программы 1С нужно выбрать в меню Файл команду Сохранить как и в появившемся окне ввести имя
файла и указать папку для его размещения (рис. 2.31). В поле Тип файла следует выбрать пункт "Таблица Excel (*.xls)". После того как отчет сохранен, с ним
можно работать как с обычной электронной таблицей в формате Excel.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
85
Ðèñ. 2.31
Работа с 1С на этом закончена.
Итак, вы сформировали реестр накладных в следующем виде (табл. 2.1).
Òàáëèöà 2.1
Äîê
Ñ÷åò÷èê
Îòãðóçêà òîâàðîâ, ïðîäóêöèè 00000001 (01.01.05)
1
Îòãðóçêà òîâàðîâ, ïðîäóêöèè 00000002 (06.01.05)
1
Èòîãî
2
Также вы сформировали реестр счетов фактур в следующем виде (табл. 2.2).
Òàáëèöà 2.2
Äîê
Ñô
Ñ÷åò-ôàêòóðà, âûäàííûé 00000002 (06.01.05)
Îòãðóçêà òîâàðîâ, ïðîäóêöèè
00000002 (06.01.05)
Ñ÷åò-ôàêòóðà, âûäàííûé 00000001 (06.01.05)
Èòîãî
2
Теперь можно распечатать и вручную сравнить оба отчета.
Третий пункт плана по решению проблемы привязки документов решен.
Осталось сверить полученный результат.
86
Ãëàâà 2
Çàêëþ÷åíèå
Конечно, программист сразу написал бы программу, которая показывает
отсутствие привязок. Такая программа требует профессиональных знаний,
что в нашем случае невозможно. Поэтому мы применяем комбинацию из
пользовательских средств 1С и MS Excel.
Приведенный ранее отчет можно найти по адресу: www.prosto1C.by.ru/file02.zip.
Ïîèñê îäèíàêîâûõ ýëåìåíòîâ
â ñïðàâî÷íèêàõ
Время от времени у бухгалтера возникает проблема — дублирование карточек в справочниках. Рассмотрим ее на примере карточек справочника клиентов (контрагентов). Появление одинаковых элементов связано с тем, что
заводит новую карточку тот, кто не знает о существовании старой. Очень
часто это происходит при передаче данных из торговли в бухгалтерию. Дублированные карточки могут использоваться в учете или не использоваться.
Поэтому решение проблемы состоит из двух частей. Во-первых, нужно определить, какие карточки повторяются, а во-вторых — какие из них используются в учете.
Àëãîðèòì ïîèñêà îäèíàêîâûõ ýëåìåíòîâ
Метод решения таков:
1. Получить реестр карточек контрагентов.
2. Отсортировать реестр по наименованию, если у каждого контрагента
должен быть ИНН, отсортировать по ИНН и наименованию.
3. Определить одинаковые элементы.
4. Пометить ненужные элементы на удаление.
5. Запустить стандартную процедуру удаления помеченных объектов.
6. Удалить одинаковые элементы.
Можно решить проблему с помощью существующих отчетов. Например,
сформировать анализ субконто по виду субконто "контрагент". Дополнительную информацию (группу, в которую входит контрагент, ИНН контрагента и т. д.) нужно будет добавить вручную. Кроме того, таким способом
будут определены только используемые в обороте одинаковые элементы.
Можно пригласить программиста, который напишет отчет, выдающий только повторяющиеся наименования, а можно написать собственный. выбирать
Ïðîñòåéøåå êîíñòðóèðîâàíèå
87
метод решения вам. Мы предлагаем написать собственный отчет, вам вполне это по силам.
Описанный нами способ удаляет все помеченные на удаление объекты, которые можно удалить. Поэтому будьте очень внимательны к помеченным на удаление объектам. Никогда не помечайте на удаление объект, если вы его не хотите удалять. В случае, если вам нужно убрать, а не удалять документ –
снимите с него отметку о проведении. Помеченный на удаление документ рано
или поздно будет удален. Не искушайте судьбу.
Ïîøàãîâàÿ èíñòðóêöèÿ ðåøåíèÿ ïðîáëåìû
Прежде всего, обязательно создайте резервную копию базы данных. Как это
сделать, читайте в главе "Администрирование".
Создайте новый отчет, как это сделать, вы уже знаете. Для тех, кто не прочитал описанные ранее задачи, повторяем.
Запустите 1С в режиме Конфигуратор. Найдите кнопку Новый Отчет (волшебная палочка на фоне листа бумаги со знаком суммы
). Или выполните следующие действия: откройте меню Конструкторы, выберите Новый
Отчет и далее Внешний отчет.
На рис. 2.32 вы видите переключатель Вставить команду в пользовательское
меню. Прежде чем установить или сбросить галочку, вам нужно подумать,
как часто вы будете использовать этот отчет. Если отчет будет использоваться часто, вам нужно установить галочку здесь и у каждого пункта в поле
ниже.
Если отчет будет использоваться редко, то никаких галочек устанавливать не
нужно, и отчет будет зарегистрирован как внешний относительно текущей
конфигурации. Скорее всего, проблема будет возникать при каждой передаче данных. Если это так, включите отчет в конфигурацию.
Нажмите кнопку Далее.
В следующей форме установите галочку в пункте вызвать конструктор
запросов (рис. 2.33).
Нажмите кнопку Готово. Перед вами появится форма отчета, как на рис. 2.33.
Теперь можно создать запрос.
В появившемся окне вам предлагается выбрать имя запроса. Ничего не меняйте. Нажмите кнопку OK.
Новая форма предлагает выбрать период и методы обработки данных. Поскольку вас интересует справочник, а реквизиты "Наименование" и "ИНН"
не являются периодическими, галочка в пункте Период и Период будет
88
Ãëàâà 2
выбираться в диалоге формы не ставится. Режим параметра ОбрабатыватьДокументы не важен (вы выбираете элементы справочника). Параметр
Обрабатывать установите "НеПомеченныеНаУдаление". Галочку Без итогов
устанавливать не нужно.
Ðèñ. 2.32
Ðèñ. 2.33
Ïðîñòåéøåå êîíñòðóèðîâàíèå
89
Ðèñ. 2.34
Если вы все сделали правильно, то должна получиться следующая форма
(рис. 2.35).
Ðèñ. 2.35
Нажмите кнопку Далее. Конструктор перейдет на этап определения переменных.
Нужно определить переменные, с которыми запрос будет работать. Нажмите
кнопку Добавить переменную. Найдите в дереве объектов объект "Справочники" (рис. 2.36), выберите "Контрагенты". Нажмите кнопку Стрелка влево
У вас должна получиться следующая форма (рис. 2.37).
.
90
Ãëàâà 2
Ðèñ. 2.36
Ðèñ. 2.37
Ïðîñòåéøåå êîíñòðóèðîâàíèå
91
Если у вас получился другой результат, нажимайте кнопку Удалить переменную до тех пор, пока не очистите экран внизу. После это повторите создание
переменной и добейтесь сходства с рис. 2.37.
Нажмите кнопку Далее. Конструктор перейдет на этап определения функций.
Никаких функций создавать не нужно.
Нажмите кнопку Далее. Конструктор отчета перейдет на этап группировки
(рис. 2.38).
Нажмите кнопку Добавить группировку. Конструктор сам добавит в поле
Группировка группировку по элементу "Контрагенты". вы увидите следующее окно.
Ðèñ. 2.38
Если у вас получился другой результат, нажимайте кнопку Удалить группировку до тех пор, пока не очистите экран внизу. После этого повторите добавление группировки и добейтесь сходства с рис. 2.38.
Нажмите кнопку Далее. Конструктор перейдет к выбору условий (рис. 2.39).
92
Ãëàâà 2
Ðèñ. 2.39
В вашем случае никаких условий создавать не нужно. Пропустите этот этап
конструктора. Если по каким-то причинам в нижнем табло есть условия,
нужно их удалить кнопкой Удалить условие.
Нажмите кнопку Далее. Конструктор перейдет на заключительный этап своей работы. На этом этапе менять ничего не нужно. Нажмите кнопку Готово.
На экране компьютера должна появиться следующая форма (рис. 2.40).
Сохраните отчет. Для этого нажмите на иконку с изображением дискеты
или выполните следующую последовательность действий: открыть меню
Файл выбрать команду Сохранить. Конфигуратор закрывать не нужно.
Запустите 1С в режиме "1С:Предприятие", откройте сохраненный отчет
с помощью кнопки
или с помощью меню Файл, команда Открыть.
В появившемся окне отчета нажмите кнопку Сформировать. Получится
примерно такая форма (рис. 2.41).
В этой форме группы и элементы справочника не разделены. Если в вашем
предприятии не ведется учет по поставщикам и покупателям отдельно, вряд
ли вам нужно, чтобы один и тот же контрагент встречался в разных группах.
Тогда предлагаю поэкспериментировать с вариантами выдачи отчета.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
93
Ðèñ. 2.40
Ðèñ. 2.41
94
Ãëàâà 2
Ðèñ. 2.42
Переключитесь в конфигуратор. Запустите конструктор запросов. Для этого
следует нажать кнопку со значком
или в меню Конструкторы выбрать
Запрос. Появится диалоговое окно, как на рис. 2.42.
вам необходимо выбрать запрос, который вы будете редактировать, существующий (тот, который вы формировали на предыдущих этапах) или новый.
В настоящем случае нужно выбрать "Сформировать" и нажать кнопку ОК.
Перед вами появится форма, схожая с показанной на рис. 2.35. Уберите галочку в пункте Период. Больше ничего менять не нужно.
Нажмите кнопку Далее.
Пропустите все последующие формы, кроме Группировки, как на рис. 2.38.
Если группы при выводе таблицы вам мешают, установите флажок без групп.
Если ИНН должен быть у всех элементов, добавьте с помощью кнопки стрелка
влево реквизиты "Контрагенты.ИНН" и "Контрагенты.Наименование". В результате получится следующая форма (рис. 2.43).
вы можете поэкспериментировать с сортировками и добиться того варианта,
который в вашем случае наиболее предпочтителен.
Нажимайте кнопку Далее, ничего не изменяя, до появления кнопки Готово,
как на рис. 2.44.
Сохраните отчет. Переключитесь в "1С:Предприятие". Обязательно закройте
отчет и откройте его заново. У вас получится следующая форма (рис. 2.45).
Таким образом, в этом отчете будут видны все повторяющиеся ИНН и наименования, что позволит найти одинаковые элементы.
Далее нужно определить, какой из нескольких контрагентов является правильным, и пометить на удаление все остальные.
Затем нужно загрузить "1С:Предприятие" в монопольном режиме и выбрать
в меню Операции команду Удаление помеченных объектов…. Если у вас есть
открытые окна в программе 1С, нужно их закрыть. На экран будет выведено
предупреждение (рис. 2.46).
Ïðîñòåéøåå êîíñòðóèðîâàíèå
95
Ðèñ. 2.43
Ðèñ. 2.44
96
Ãëàâà 2
Ðèñ. 2.45
Ðèñ. 2.46
Ответьте Да. Программа проведет анализ удаляемых объектов и выдаст следующее сообщение (рис. 2.47).
Нажмите кнопку Контроль.
Появится сообщение о возможности удаления объектов (рис. 2.48).
Это означает, что из помеченных на удаление шести объектов возможно
удалить только два. Остальные удалить невозможно. Нажмите кнопку OK.
На экране появится форма, похожая на изображенную на рис. 2.47, только
кнопка Удалить будет подсвечена, а кнопка Контроль затенена. В окошке
Ссылки на удаляемый объект будут выведен список объектов.
Нажмите кнопку Удалить.
Программа выдаст предупреждение. Ответьте Да. Все помеченные на удаление объекты будут удалены. Список этих объектов вы увидите в появившемся окне сообщений.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
97
Ðèñ. 2.47
Ðèñ. 2.48
Теперь немного о тех объектах, которые невозможно удалить. Объекты, которые в окошке (рис. 2.47) выберите объекты для удаления не отмечены галочкой, удаляться не будут, потому что на них существуют неудаленные
ссылки. Например, по документу "расходная накладная" отпущен товар клиенту, который помечен на удаление. Такого клиента удалять нельзя. Если
его удалить, в расходной накладной не будет указан клиент. Подобные
ошибки программа 1С не позволяет делать.
Такие объекты я не советую удалять. По этому вопросу нужно обратиться
к программисту. В данной книге этот вопрос не рассматривается.
Приведенный выше отчет можно найти по адресу: www.prosto1C.by.ru/file03.zip.
98
Ãëàâà 2
Äâèæåíèå òîâàðîâ
В 1С:Торговля ведомость по остаткам ТМЦ формируется в более лаконичной, чем в 1С:Бухгалтерия форме (смотрите рис. 2.49).
Ðèñ. 2.49
Конечно, бухгалтер может тоже сформировать подобный отчет, но он будет
менее наглядным и будет занимать больше места. Давайте попробуем сконструировать такой отчет в 1С:Бухгалтерия, и чтобы он формировался так же,
как в 1С:Торговля.
Ñîçäàíèå îò÷åòà "Äâèæåíèå òîâàðîâ"
Алгоритм действий таков:
1. Получить сальдо начальное, конечное и обороты за период по счету 41.1
по всей номенклатуре и по выбранному складу.
2. Оформить табличную форму отчета как в отчете "Ведомость по остаткам
ТМЦ".
Можно для реализации этой идеи сконструировать журнал-ордер по субконто. Этот отчет предоставит исчерпывающую информацию по товару. Переконфигурировав его, мы получим нужный результат. Можно попросить программиста, и он напишет красивый отчет, выдающий всю необходимую
информацию. Я же предлагаю вам написать собственный отчет, который
будет не таким красивым, как результат работы программиста, и не таким
исчерпывающим, как журнал-ордер, но зато будет более лаконичен. Это
займет у вас всего 30 минут.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
99
Ïîøàãîâàÿ èíñòðóêöèÿ ïî íàïèñàíèþ îò÷åòà
Прежде всего, обязательно создайте резервную копию базы данных. Как это
сделать, читайте в главе "Администрирование".
Создайте новый отчет, как это сделать, вы уже знаете из предыдущих задач.
Повторим для тех, кто пропустил предыдущие разделы.
Запустите 1С в режиме Конфигуратор. Найдите кнопку Новый Отчет (вол). Или выполшебная палочка на фоне листа бумаги со знаком суммы
ните следующие действия: откройте меню Конструкторы, выберите Новый
Отчет и затем Внешний отчет.
На рис. 2.50 вы видите переключатель Вставить команду в пользовательское
меню. Ставить или не ставить галочку — решать вам. Если этот отчет будет
использоваться регулярно, для сверок со складом или подготовки отчета директору, лучше поставить галочку здесь, против каждого пункта. Мой опыт
подсказывает, что если директор увидел отчет, который ему понравился, он
захочет видеть его регулярно. Поэтому я рекомендую поставить все галочки.
Ðèñ. 2.50
Нажмите кнопку Далее.
В следующей форме (рис. 2.51) установите галочку вызвать конструктор бухгалтерских запросов.
Нажмите кнопку Готово. Перед вами появится форма Новый запрос, как
на рис. 2.52.
100
Ãëàâà 2
Ðèñ. 2.51
Ðèñ. 2.52
Теперь можно создать бухгалтерский запрос. В программе 1С есть два вида
запросов. Бухгалтерский запрос — это анализ бухгалтерских итогов (проводок, остатков по счетам, субконто). Простой запрос — это обработка документов, справочников, регистров (любых, кроме бухгалтерских итогов).
В появившемся окне вам предлагается выбрать имя запроса. Ничего не меняйте. Нажмите кнопку OK.
Следующая форма (рис. 2.53) предлагает выбрать схему обработки бухгалтерских итогов.
Выберите режим Произвольная.
Нажмите кнопку Далее. Конструктор перейдет на этап выбора периода.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
101
Ðèñ. 2.53
Ðèñ. 2.54
102
Ãëàâà 2
Установите переключатель в положение За период и поставьте галочку
Период будет выбираться в диалоге формы. Если все сделано правильно, то
должна получиться форма, как на рис. 2.54. Нажмите кнопку Далее.
Конструктор перейдет на этап выбора счетов и субконто. Установите переключатель на выбирать счет в диалоге формы. Нажмите кнопку Добавить.
Появится пустая строка в окошке Ограничить получение итогов конкретными
значениями субконто:. Нажмите кнопку … (многоточие) справа от поля Вид.
Ðèñ. 2.55
Появится окно выбора вида субконто (рис. 2.56).
Установите переключатель в положение Конкретный вид субконто, а в открывшемся окне выберите вид субконто "МестаХранения". Нажмите кнопку OK.
Установите переключатель в режим выбор в диалоге. Если все сделано правильно, у вас получится форма, как на рис. 2.55.
Нажмите кнопку Далее. Конструктор перейдет на этап выбор "Кор. счета".
Пропустите этот этап.
Нажмите кнопку Далее. Конструктор перейдет на этап Отборы (рис. 2.57).
Ïðîñòåéøåå êîíñòðóèðîâàíèå
103
Ðèñ. 2.56
Ðèñ. 2.57
104
Ãëàâà 2
Этот этап позволяет выбрать вид валюты, разделители учета и планы счетов.
В рассматриваемой конфигурации выбор не требуется, поэтому нажмите
кнопку Далее.
Конструктор перейдет на этап конструирования строк и колонок отчета
Ðèñ. 2.58
Нажмите кнопку Добавить, выберите в поле Строки "Субконто" по "Номенклатура".
Таким же образом установите "Период" по "Проводка".
Аналогичным образом в поле Колонки добавьте "Счет".
Установите все галочки в группах По дебету, По кредиту и Данные по количеству.
Сбросьте галочки Итоговая строка и Дт/Кт раздельно.
В результате у вас должна получиться форма, как на рис. 2.58.
Нажмите кнопку Далее.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
105
Ðèñ. 2.59
Конструктор перейдет на этап определения кнопок и процедур (рис. 2.59).
На этом этапе ничего менять не нужно.
Нажмите кнопку Готово.
В результате получится форма, как на рис. 2.60.
Первый этап завершен. Теперь нужно немного поколдовать над оформлением шаблона печатной формы таблицы. Переключитесь на закладку Сформировать формы отчета.
Найдите ячейку "Нач. остаток". Эта ячейка объединенная. Нужно ее разделить. Это делается нажатием кнопки
либо через меню Таблица,
командой Разъединить.
Также нужно разделить ячейку "Ит.Счет". Если вы этого не сделаете, часть
описанных ниже операций будет невозможна.
После этого выделите колонку "Кредит" (это колонка № 4). Для выделения
колонки нажмите кнопку 4, которая находится в верхней части таблицы,
затем нажмите правую кнопку мыши. Появится меню, как на рис. 2.61.
106
Ãëàâà 2
Ðèñ. 2.60
Ðèñ. 2.61
выберите пункт Удалить.
выделите ячейки "Нач. остаток" и "Дебет" и нажмите Объединить. Операции
"Объединить" и "Разъединить" выполняются одной и той же кнопкой или
пунктом меню. Наименование изменяется в зависимости от того, объединены или разъединены ячейки в данный момент.
Разделите ячейку "Оборот", над "Дебет" напишете "Приход", над "Кредит" —
"Расход". Объедините ячейки "Приход" с "Дебет" и "Расход" с "Кредит".
Разделите ячейку "Кон. остаток". Удалите колонку "Кредит" (№7). Объедините ячейку "Кон. остаток" с "Дебет".
Ïðîñòåéøåå êîíñòðóèðîâàíèå
107
Выделите ячейку "Ит.Счет" и три ячейки справа от нее (с колонки 3 по колонку 6) и объедините их.
Если вы все сделали верно, у вас получится следующая форма (рис. 2.62).
Ðèñ. 2.62
Ну как, похоже на отчет из 1С:Торговля? По-моему, похоже.
Приведенный выше отчет можно найти по адресу: www.prosto1C.by.ru/file04.zip.
Ðååñòð òîâàð — êëèåíò
Создадим отчет на основе проведенных расходных документов. Он будет
содержать информацию о том, какой товар отгружен клиентам. Пользоваться таким отчетом можно в ограниченных случаях, поскольку он не учитывает возвраты товара и ручные проводки. Тем не менее, он может быть полезным. Если результаты отчета выгрузить в Excel, можно будет группировать
их различными способами и изменять систему группировок (Товар — Клиент или Клиент — Товар).
Ïîøàãîâàÿ èíñòðóêöèÿ
ñîçäàíèÿ ðååñòðà
Прежде всего, создайте резервную копию базы данных. Как это сделать, читайте в главе "Администрирование".
108
Ãëàâà 2
Запустите 1С в режиме Конфигуратор. Нажмите кнопку Новый Отчет (волшебная палочка на фоне листа бумаги со знаком суммы
) или откройте:
меню Конструкторы, выберите Новый Отчет, затем Внешний отчет. В открывшемся списке выберите нужный каталог. Назовите отчет так: "Реестр
товар — клиент". Нажмите кнопку Далее.
На следующей форме (рис. 2.63) вы видите переключатель Вставить команду
в пользовательское меню. Если отчет будет использоваться часто, например,
для сверок отгрузки со складом или для анализа продаж товара, галочку
лучше поставить.
Нажмите кнопку Далее.
В следующей форме установите галочку в пункте Вызвать конструктор
запросов (рис. 2.64).
Нажмите кнопку Готово. Перед вами появится форма отчета, как
на рис. 2.65.
В появившемся окне вам предлагается выбрать имя запроса. Ничего не изменяйте. Нажмите кнопку OK.
Новая форма предлагает выбрать период и метод обработки данных
Ðèñ. 2.63
Ïðîñòåéøåå êîíñòðóèðîâàíèå
109
Ðèñ. 2.64
Ðèñ. 2.65
Ðèñ. 2.66
110
Ãëàâà 2
Реестр документов нельзя выдать на определенную дату, необходимо задавать период, даже в том случае, если нужны документы за один день. Поэтому следует установить галочки в пунктах Период и Период будет выбираться в диалоге формы. В данном случае будут обрабатываться проведенные
документы. Выберите в поле ОбрабатыватьДокументы значение "Проведенные". Проведенные документы не могут быть удаленными, поэтому в поле
Обрабатывать выберите значение "Все". Если все сделано правильно, должна получиться форма, как на рис. 2.66.
Нажмите кнопку Далее. Конструктор перейдет на этап создания переменных (рис. 2.67).
Ðèñ. 2.67
Для работы запроса нужно определить переменные.
Нажмите кнопку Добавить переменную. В дереве метаданных справа раскройте "Документы", далее "РасходнаяНакладная", "Шапка", выберите
"Контрагент" и нажмите кнопку (стрелка влево).
Еще раз нажмите кнопку Добавить переменную. На этот раз добавим "Документы", "РасходнаяНакладная", "Табличная часть", "Товар". Рядом в списке
находятся переменные "Количество" и "Всего". Добавьте их таким же образом.
Если все сделано правильно, у вас получится форма, как на рис. 2.68.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
111
Ðèñ. 2.68
Если вы получили другой результат, нажимайте кнопку Удалить переменную
до тех пор, пока не очистите экран внизу. После этого повторите создание переменной и добейтесь сходства с рис. 2.68.
Нажмите кнопку Далее. Конструктор перейдет на этап задания функций
запроса.
С помощью кнопки Добавить функцию добавьте функцию "Сумма" к переменной "Количество" и назовите результат "КолСум".
Далее нужно добавить еще одну функцию. Нажмите кнопку Добавить функцию и конструктор вновь добавит вам сумму количества. Но на этот раз вам
нужна общая сумма. Измените слово "Количество" на "Всего" и задайте имя
переменной "Сум". Если все сделано правильно, у вас должна получиться
форма, как на рис. 2.69.
Если вы получили другой результат, нажимайте кнопку Удалить функцию до
тех пор, пока не очистите экран внизу. После этого повторите создание функции сначала и добейтесь сходства с рис. 2.69.
112
Ãëàâà 2
Ðèñ. 2.69
Нажмите кнопку Далее. Конструктор перейдет на этап выбора группировки.
Нажмите кнопку Добавить группировку. В поле Группировка должно стоять
значение "Контрагент". Если у вас по-другому, исправьте. Установите галочку без групп. Это позволит вам получить итоги по группе контрагентов из
справочника контрагентов.
Еще раз нажмите кнопку Добавить группировку. В поле Группировка должно
стоять значение "Товар". Если у вас по-другому, исправьте. Установите галочку без групп.
У вас должна получиться форма, как на рис. 2.70.
Если вы получили другой результат, нажимайте кнопку Удалить группировку
до тех пор, пока не очистите экран внизу. После этого повторите добавление
группировок сначала и добейтесь сходства с рис. 2.70.
Нажмите кнопку Далее. Конструктор перейдет на этап выбора условий.
Просто пропустите этот этап.
У вас должна получиться форма, как на рис. 2.71.
Ïðîñòåéøåå êîíñòðóèðîâàíèå
113
Ðèñ. 2.70
Ðèñ. 2.71
114
Ãëàâà 2
Если вы получили другой результат, нажимайте кнопку Удалить условие до
тех пор, пока не очистите экран внизу.
Нажмите кнопку Далее. Следующая форма — итог всех ваших стараний. В ней ничего менять не нужно. Проверьте сходство вашей формы
с рис. 2.72.
Ðèñ. 2.72
Ðèñ. 2.73
Ïðîñòåéøåå êîíñòðóèðîâàíèå
115
Если ваш запрос выглядит не так, как на рис. 2.72, исправьте его.
Нажмите кнопку Готово.
Конструктор выдаст результат своей работы. Форма отчета выглядит, как
на рис. 2.73.
Переключитесь на закладку Модуль, и вы увидите следующий код программы.
Листинг 2.5. Процедура генерации запроса Сформировать
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Контрагент = Документ.РасходнаяНакладная.Контрагент;
|Товар = Документ.РасходнаяНакладная.Товар;
|Количество = Документ.РасходнаяНакладная.Количество;
|Всего = Документ.РасходнаяНакладная.Всего;
|Функция КолСум = Сумма(Количество);
|Функция Сум = Сумма(Всего);
|Группировка Контрагент без групп;
|Группировка Товар без групп;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
116
Ãëàâà 2
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Контрагент
Таб.ВывестиСекцию("Контрагент");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Товар
Таб.ВывестиСекцию("Товар");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Сохраните отчет. Для этого нажмите на иконку с изображением дискеты
или откройте меню Файл и выберите Сохранить.
Для того чтобы запустить отчет на выполнение, запустите 1С в режиме
"1С:Предприятие". Если вы устанавливали галочку Вставить команду в пользовательское меню, отчет находится в меню Отчеты самым последним
в списке и называется Реестр товар - клиент (см. рис. 2.74). Если помните,
название отчета мы задали в самом начале раздела. Если же вы не ставили
галочку, как на рис. 2.61, то нажмите кнопку Открыть или в меню Файл выберите Открыть. Найдите сохраненный файл с отчетом и нажмите кнопку
Открыть.
В дальнейшем печатную форму этого отчета можно сохранить в Excel и поработать с ней. О том, как это сделать, читайте в главе 3.
Приведенный
выше
отчет
www.prosto1C.by.ru/file05.zip.
можно
найти
по
адресу:
Ïðîñòåéøåå êîíñòðóèðîâàíèå
117
Ðèñ. 2.74
118
Ãëàâà 2
Ãëàâà 3
Ðàáîòà ñ Excel
Программа Microsoft Excel предоставляет возможность числовой обработки
данных, внесенных в электронную таблицу (ЭТ). ЭТ позволяет производить
арифметические операции над ячейками (находить сумму ряда чисел, выполнять вычитание, находить процент от общей суммы), сортировать строки
и столбцы, фильтровать данные, строить графики и т. д.
Анализ отчетов, полученных в 1С:Предприятие, лучше всего делать в Excel,
это в ряде случаев позволяет обойтись без помощи программиста.
Èìïîðò äàííûõ èç 1Ñ
Перенести данные из печатной формы 1С в Excel можно следующим образом:
1. Вывести печатную форму на экран, выделить область данных, которые
следует перенести в Excel, нажать правую кнопку мыши и выбрать операцию Копировать.
2. Запустить Excel. Выделить любую ячейку ЭТ. Нажать правую кнопку
мыши и выбрать команду Вставить.
Для облегчения работы с данными придерживайтесь следующих правил.
Заголовок ЭТ должен быть отделен от данных не менее чем одной
строкой.
Между данными в строках и столбцах и результатами вычислений необходимо оставлять одну пустую строку.
В ЭТ можно вносить два типа данных — константы и формулы.
Константы — это числа, текст, время, даты, практически все типы данных,
кроме формул.
Формулы — это тип данных, который определяет алгоритм вычислений. Результат вычисления отображается в той же ячейке, где находится формула,
а сама она отображается в строке формул.
120
Ãëàâà 3
Для того чтобы создать формулу, нужно выделить ячейку и нажать клавишу
<=>. Также можно нажать кнопку
на панели инструментов или
в меню Вставка выбрать Функция. Чтобы вставить в формулу ссылку на
какую-либо ячейку, нужно ввести ее адрес вручную или, установив курсор
мыши на необходимую ячейку, нажать ее левую клавишу, после чего имя
ячейки автоматически будет вставлено в редактируемую формулу.
Для копирования формулы методом автозаполнения можно использовать
маркер заполнения (в правом нижнем углу выделенной ячейки). При копировании формул необходимо учитывать, что ссылки на адреса ячеек могут
быть относительными и абсолютными. Также формулы можно копировать
при помощи буфера обмена.
Иногда необходимо зафиксировать адрес ссылки, чтобы он не изменялся
при копировании формулы. Тогда запись формулы принимает такой вид:
=СУММ(А1:А4; $А$5), где, $А$5 — фиксированное имя ячейки, так, при
копировании в колонку В, формула автоматически преобразуется в
=СУММ(В1:В4; $А$5).
Такая запись имени ячейки, с использованием знака "доллар" ($), называется абсолютным адресом ячейки.
Àâòîñóììèðîâàíèå
Кнопка Автосуммирование
вынесена на стандартную панель инструментов. Чтобы провести суммирование с помощью этой функции, выберите
ячейку, в которой будет находиться сумма. Постарайтесь, чтобы ячейка располагалась в самом низу столбца, если будет производиться суммирование
значений ячеек по столбцу, или справа от всех суммируемых ячеек строки — этим вы поможете программе "догадаться", какие ячейки нужно суммировать (по вертикали или по горизонтали).
Если автоматически выделились не те ячейки, которые необходимы, выделите
нужные ячейки вручную или введите в строке формул правильные адреса.
Ïðèìåíåíèå ôóíêöèé
Возможность использования функции дает особые преимущества ЭТ по
сравнению с их бумажным аналогом. Простейшим примером расчетов является операция сложения.
Введите в следующие ячейки такие значения: B1=1, B2=1, B3=3.
В ячейку C1 введите следующую формулу: "=B1+B2+B3".
В ней появится результат — число 5 (1+1+3=5).
Ðàáîòà ñ Excel
121
Формулы конструируются при помощи следующих операторов (табл. 3.1 и 3.2).
Òàáëèöà 3.1. Àðèôìåòè÷åñêèå îïåðàòîðû
Îïåðàòîð
Ôóíêöèÿ
Ïðèìåð
+
ñëîæåíèå
=A1+1
-
âû÷èòàíèå
=4-Ñ4
*
óìíîæåíèå
=A3*X123
/
äåëåíèå
=D3/Q6
Òàáëèöà 3.2. Îïåðàòîðû ñâÿçè è ñîåäèíåíèÿ
Îïåðàòîð
Ôóíêöèÿ
Ïðèìåð
:
äèàïàçîí
=ÑÓÌÌ(A1:C10)
;
îáúåäèíåíèå
=ÑÓÌÌ(A1;A2;A6)
&
ñîåäèíåíèå òåêñòîâ
=A3&B3
Следующие формулы идентичны:
=B1+B2+B3+B4+B5+B6+B7
=СУММ(B1;B2;B3;B4;B5;B6;B7)
=СУММ(B1:B7).
Но на написание третьей формулы уйдет меньше времени, и она будет корректнее.
Двоеточием в формулах обозначается диапазон ячеек, а точкой с запятой
разделяются аргументы функций. Например:
=СУММ(А1:А7;А3;А4).
Мастер функций (рис. 3.1) будет полезен в случае, когда точно не известен
синтаксис функции.
Все функции организованы в группы (или категории), такие как "Финансовые", "Статистические", "Текстовые" и др. Мастер функций выводит краткое
описание каждой функции, благодаря которому пользователь может выбрать
нужную функцию. Кроме того, мастер облегчает ввод аргументов функции и
поясняет, для чего они нужны.
Для того чтобы воспользоваться мастером функций, необходимо выполнить
следующие действия:
1. Выделить ячейку, в которую нужно поместить функцию, открыть меню
Вставка и выбрать команду Функция.
2. В списке Категория: открывшегося окна диалога указать нужную категорию.
122
Ãëàâà 3
Ðèñ. 3.1
3. Выбрать функцию из списка. При выделении функции, в нижней части
окна диалога появится ее описание — прочитайте его и убедитесь, что
эта та функция, которая нужна. Нажмите кнопку ОК.
4. Под строкой формул появится окно — так называемая палитра формул.
Следует ввести аргументы в соответствующие поля. Можно вводить значения или адреса ячеек вручную, а можно щелкать на нужных ячейках
мышью или выделять нужные диапазоны.
5. Чтобы завершить ввод функции, следует нажать кнопку ОК.
Íåêîòîðûå êàòåãîðèè ôóíêöèé
Àðèôìåòè÷åñêèå
è òðèãîíîìåòðè÷åñêèå ôóíêöèè
Арифметические и тригонометрические функции позволяют производить
простые и сложные математические вычисления, например вычисление
суммы диапазона ячеек, вычисление суммы ячеек диапазона, удовлетворяющих указанному условию, округление чисел и прочие. Например, функция ABS возвращает абсолютную величину числа (число без знака).
Синтаксис функции следующий: ABS(число), где "число" — это действительное число, абсолютную величину которого требуется найти.
Ðàáîòà ñ Excel
123
Ëîãè÷åñêèå ôóíêöèè
Логические функции предназначены для проверки выполнения условия или
нескольких условий. Так, функция ЕСЛИ позволяет определить, выполняется ли указанное условие, и возвращает одно значение, если условие истинно, и другое, если оно ложно.
Синтаксис функции: ЕСЛИ (лог_выражение; значение_если_истина; значение_если_ложь). Например: ЕСЛИ (А1>15; A1*15; 0), что означает:
если условие А1>15 выполняется, то содержимое ячейки, в которую помещена функция, вычисляется по формуле A1*15. Если это условие не выполняется, то содержимое ячейки равно 0.
В следующем примере, если значение ячейки A10 равно 100, то
"лог_выражение" имеет значение ИСТИНА и вычисляется сумма для ячеек
B5:B15. В противном случае "лог_выражение" имеет значение ЛОЖЬ и
возвращается пустой текст (""), очищающий ячейку, которая содержит
функцию:
ЕСЛИ(A10=100;СУММ(B5:B15);"").
Ôóíêöèè îáðàáîòêè òåêñòà
С помощью функций обработки текста можно, используя формулы, производить действия над строками текста, например, изменить регистр или определить длину строки. Можно также объединить несколько строк в одну.
Ôèíàíñîâûå ôóíêöèè
С помощью финансовых функций осуществляются такие типичные расчеты,
как вычисление суммы платежа по ссуде, объем периодической выплаты по
вложению или ссуде, стоимость вложения или ссуды по завершении всех
отложенных платежей.
Аргументами финансовых функций часто являются следующие величины:
будущее значение — стоимость вложения или ссуды по завершении всех
отложенных платежей;
количество выплат — общее количество платежей или периодов выплат;
выплата — объем периодической выплаты по вложению или ссуде;
текущее значение — начальная стоимость вложения или ссуды, которая
равна, собственно, сумме займа;
ставка — процентная ставка или скидка по вложению или ссуде;
режим выплат — период, с которым осуществляются выплаты (в конце
или в начале месяца).
124
Ãëàâà 3
Ôóíêöèè ññûëêè è àâòîïîäñòàíîâêè
Если необходимо осуществлять поиск в списках или таблицах или найти
ссылку на ячейку, можно воспользоваться функциями ссылки и автоподстановки. Например, для поиска значения в таблице можно использовать
функцию ВПР.
Если вы хотите больше узнать о работе с Excel, попробуйте найти информацию в Интернете, например на сайте рефератов www.referat.ru. Зачем покупать книги, если есть возможность получить информацию бесплатно.
Ñîðòèðîâêà äàííûõ â òàáëèöå
Отсортируем данные в таблице в алфавитном порядке по отделам и по
Ф. И. О. Для этого выделяем всю таблицу и выбираем в меню Данные команду Сортировка. На экране появится окно Сортировка диапазона. В области окна Сортировать по выбираем по возрастанию. В раскрывающемся списке слева выбираем "Отдел". В следующей области Затем по выбираем
сортировку по возрастанию и по "Ф. И. О". Нажимаем ОК. Результат сортировки должен быть таким:
Îòäåë
Äîëæíîñòü
Ô. È. Î.
Òàá. ¹
Áóõãàëòåðèÿ
Ãë. áóõãàëòåð
Ïåòðîâ Ê. Ñ.
156
Áóõãàëòåðèÿ
Áóõ. ìàòåðèàëèñò
Ñèäîðîâ Ñ. Ñ.
58
Áóõãàëòåðèÿ
Êàññèð
Ïîääóáíûé Ç. Ç.
75
Ðåàëèçàöèè
Íà÷àëüíèê
Èâàíîâ È. È.
45
Ðåàëèçàöèè
Ìåíåäæåð
Ãðèãîðüåâ Ï. Ï.
56
Ðåàëèçàöèè
Îïåðàòîð
Ñèäîðîâ Ñ. Ñ.
23
Ñíàáæåíèÿ
Íà÷àëüíèê
Êîâàëåíêî Ê. Ê.
16
Ñíàáæåíèÿ
Îïåðàòîð
Êîâàëü Â. Â.
13
Ñíàáæåíèÿ
Ìåíåäæåð
Ïåòðåíêî Ï. Ê.
123
Èñïîëüçîâàíèå ôèëüòðîâ
Фильтры помогают быстро выделить из списка определенное значение.
Чтобы применить фильтр к списку, выделите любую ячейку списка, выберите команду Фильтр в меню Данные, а затем выберите команду Автофильтр. Справа от заголовков столбцов появятся стрелки. Чтобы выбрать
нужное значение из списка, щелкните стрелку, а затем выберите в списке
нужное значение.
Ðàáîòà ñ Excel
125
После применения фильтра в списке остаются только строки, содержащие
указанное значение. Фильтрованные объекты выделяются специальным образом, а номера отфильтрованных строк становятся голубыми. Стрелки автофильтра в столбцах, по значению которых отбирались строки, также выделяются голубым.
Фильтр может быть применен к значениям списка несколько раз.
Îòîáðàæåíèå ñòðîê ñïèñêà
ñ èñïîëüçîâàíèåì ôèëüòðà
Для начала необходимо отметить, что фильтры могут быть использованы
одновременно только для одного списка. Что же касается отображения
строк списка с использованием фильтра, то для этого необходимо выполнить следующие действия:
1. Укажите ячейки в фильтруемом списке.
2. Выберите пункт Фильтр в меню Данные, а затем команду Автофильтр.
3. Чтобы отфильтровать строки, содержащие определенное значение, нажмите кнопку со стрелкой в заголовке столбца, в котором содержатся искомые данные.
4. Выберите значение в списке.
Повторите шаги 3 и 4, чтобы ввести дополнительные ограничения для значений в других столбцах.
Чтобы отфильтровать список по двум значениям в одном столбце или применить отличные от равенства операторы сравнения, нажмите кнопку со
стрелкой, а затем выберите пункт "Условие".
Если данные уже отфильтрованы по одному из столбцов, то при использовании фильтра для другого столбца будут предложены только те значения,
которые видны в отфильтрованном списке. С помощью команды Автофильтр к столбцу можно применить до двух условий. Используйте расширенный фильтр, если требуется применить три или более условий, скопировать записи в другое место или отобрать данные на основе вычисленного
значения.
Список — это набор строк таблицы, содержащий связанные данные, например база данных счетов или набор адресов и телефонов клиентов. Список может использоваться как база данных, в которой строки выступают
в качестве записей, а столбцы являются полями. Первая строка списка при
этом содержит заголовки столбцов.
126
Ãëàâà 3
Ïðèìåíåíèå ôóíêöèè Èòîãè
С помощью команды Итоги из меню Данные можно вставить в таблицу
строки с итогами. При расчете строк итогов программа автоматически помещает в конец таблицы данных строку общих итогов.
С помощью команды Итоги из меню Данные можно выполнить следующие
операции:
выбрать одну или несколько групп для автоматического подведения итогов по группам;
выбрать функцию для подведения итогов;
выбрать данные, по которым нужно подвести итоги.
Кроме подведения итогов по одному столбцу, автоматическое подведение
итогов позволяет:
выводить одну строку итогов по нескольким столбцам;
выводить многоуровневые и вложенные строки итогов по нескольким
столбцам;
выводить многоуровневые строки итогов с различными способами вычисления для каждой строки;
скрывать или показывать детальные данные в этом списке.
Команда Итоги вставляет в таблицу новые строки, содержащие специальную
функцию. Ее синтаксис: ПРОМЕЖУТОЧНЫЕ.ИТОГИ (номер_функции;
ссылка).
Для того чтобы воспользоваться данной функцией, выполните следующие
действия:
1. Выполните сортировку столбца таблицы, по которому будут определяться
группы данных для итогов. Например, в реестре документов лучше рассортировать таблицу по контрагентам.
2. С помощью команды Итоги меню Данные запустите мастер итогов.
3. В пункте При каждом изменении в: выберите столбец, по которому будут
отбираться группы для итогов (отсортированный ранее).
4. В пункте Операция: выберите операцию для итогов.
5. Установите дополнительные настройки.
Преобразованная таким образом таблица называется списком. Под каждой
группой выбранного в пункте При каждом изменении в: столбца появится
строка с итогом по этой группе. Также появится строка с общим итогом по
таблице. Слева от таблицы будет находиться поле, показывающее иерархическую структуру полученного списка. Отдельные группы списка можно
отображать или скрывать, пользуясь кнопками, расположенными в этом поле напротив строк итогов групп.
Ãëàâà 4
Ôîðìû ðàáîòû ïðîãðàììèñòà
è çàêàç÷èêà
1С-программист из меня получился
никудышный,
клиентов обанкротил,
пришлось переквалифицироваться
в 1С-аналитики.
Ïî÷åìó íåò èäåàëüíîé ñèñòåìû?
В конце XIX века итальянский экономист В. Паретто сформулировал закон
неправильного распределения, более известный, как правило "80/20" — 20%
клиентов выпивают 80% пива. Если применить этот принцип к программным продуктам, то получится, что продукты, в которых представлено 20%
возможных функций, удовлетворяют не менее 80% потенциальных пользователей. Остальные же функции направлены на удовлетворение специфических потребностей оставшейся части покупателей.
С ростом потребностей часть функций из дополнительных переходит в базовые, но этот процесс обязательно сопровождается общим расширением
функциональности, поэтому соотношение 80/20 сохраняется.
На рынке программных систем нет продукта, в котором присутствуют абсолютно все функции. Поэтому при выборе программного обеспечения нет
смысла искать систему на все случаи жизни. Кроме того, разработчики в
ряде случаев согласны на адаптацию своих систем в соответствии со специфическими потребностями заказчиков.
Óíèâåðñàëüíûé àëãîðèòì ðåøåíèÿ ïðîáëåì
Опыт общения программистов с заказчиками показывает, что из 10 заказчиков только один может четко сформулировать цели автоматизации.
Прежде всего, запишите цель на листке бумаги.
128
Ãëàâà 4
Потом проведите анализ программных продуктов. Составьте список возможных партнеров. Решите для себя, что не согласитесь на предложение
первых пяти фирм. Просите провести выездную демонстрацию типовой
конфигурации каждого продавца.
Проанализируйте презентацию первого продавца. Сравните их предложение
со своими целями. На основании презентации определите ряд функций, которыми вы пользуетесь наиболее часто. Во время презентаций других фирм
спросите, каким образом выполняются требуемые вам операции. Не торопитесь с ответом. Проверьте, ответит ли другая фирма на тот же вопрос.
Определите для себя, на сколько отличается ваша модель от предлагаемых
(чем больше расхождений, тем больше средств потребуется для доведения
программы до нужного вам состояния). Ни в коем случае не соглашайтесь
сотрудничать с первыми пятью фирмами — они приглашаются не для этого,
а для того чтобы определить спектр возможных решений.
На основании презентаций предыдущих фирм, определите оптимальное для
себя решение и представьте его оставшимся фирмам из составленного списка. Выберите лучшую фирму для сотрудничества.
13 шагов алгоритма постановки цели.
Письменно сформулируйте цель.
Убедитесь в том, что текущая цель входит в систему более долгосрочных
задач.
Опишите цель так, чтобы результат был конкретным, четким, измеримым.
Убедитесь в том, что вы четко представляете, как именно вы будете определять достижение цели.
Убедитесь в том, что вы и исполнитель одинаково понимаете, что и
в каком виде должно быть сделано.
Определите сроки достижения результата. Например, среда, 23 июля или
к определенному времени (к 17:00), устанавливать время и конкретную
дату следует даже в случае, когда они могут измениться.
Убедитесь в достижимости цели. Иными словами, достаточно ли времени, материальных и трудовых ресурсов.
Определите, что требуется для достижения этой цели, и обеспечьте необходимые ресурсы и требуемые условия.
Определите, как достижение этой цели скажется на остальных, для чего
и ради чего это делается.
Убедитесь в том, что исполнитель четко представляет себе, для чего это
делается, причем для него эта причина убедительна.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
129
Определите либо помогите исполнителю определить способы достижения
цели и план ее достижения. Установите промежуточные этапы на пути
к цели.
Доведите цель до исполнителя и убедитесь в принятии им на себя обязательств по достижению соответствующих результатов в оговоренные сроки.
Контролируйте достижение цели на промежуточных этапах. Если, допустим, к концу дня должен быть составлен документ, то к 12 часам должно
быть сделано 50% работы.
Возможны два варианта работы с программистом.
Работа по жесткому ТЗ (техническому заданию), четкий просчет затрат и
сроков внедрения.
Свободная форма работы (выполняются все капризы заказчика).
Второй вариант многие считают более затратным, но это верно только на
первый взгляд. Если вы столкнетесь с шарлатанами, которые перед работой
предлагают провести обследование и составить техническое задание, то рискуете заплатить деньги за 20 листов бесполезной информации.
Свободная форма работы тоже таит в себе опасности. Программист будет
исполнять капризы конкретных пользователей в ущерб общему делу.
выход один — работать с мастерами! Они могут работать и по техническому
заданию, и без него. Но найти таких мастеров не просто.
Ïîðÿäîê ñîñòàâëåíèÿ ÒÇ
Понимание проблемы, наличие необходимых ресурсов (людей, времени и
денег) являются исчерпывающими условиями для ее решения.
Техническое задание (ТЗ) — это детальное описание выполняемых исполнителем работ, цель которого — помочь сторонам (исполнителю и заказчику) лучше понять проблемы предприятия, которые должен решить
исполнитель.
Сначала заказчик предоставляет ТТ (технические требования, составленные
на языке заказчика). Потом исполнитель составляет ТЗ (техническое задание, составляется на языке исполнителя).
Постановщик задачи, ответственный за подготовку технического задания,
должен иметь практический опыт решения проблем, которые предстоит
описывать. Кроме того, он должен быть компетентен в вопросах финансов,
экономики, бухучета и управления. Эти знания необходимы для общения
"на одном языке" с представителями заказчика.
Обычно существует отработанный готовый шаблон для составления технического задания, например, стандартная конфигурация 1С.
130
Ãëàâà 4
Казалось бы, ТЗ должен составлять заказчик, а программист обязан его выполнять. Иначе получается противоречие — исполнитель сам себе сформулировал приказ, а потом сам пошел и выполнил его. Однако у заказчика
обычно нет специалистов, способных написать ТЗ. Если бы заказчик смог
сформулировать и детализировать задачу, он бы обошелся внутренними резервами.
Техническое задание делает исполнитель для самого себя или для той
команды, которой будет руководить. Ключевым словом в этом предложении
является "для себя" (а не для других). Доводы типа "мы составим техническое задание, под которое любой другой программист напишет программу",
не должны приниматься. В качестве ответственного за внедрение ТЗ лица
должен выступать тот, кто его составляет.
ТЗ обычно представляют как отдельную услугу, которая стоит от 10 до 30%
стоимости проекта. Поэтому этот вид работ всегда привлекает шарлатанов.
Это наиболее лакомый кусочек проекта внедрения программы. Правильность составления ТЗ можно определить только после того, как система установлена, поэтому пусть ответственность за внедрение ТЗ несет тот, кто его
составляет.
Возможно, вы полагаете, что ТЗ должна составлять солидная фирма. Однако
шарлатаны встречаются и в солидных программистских фирмах. Ведь штат
фирмы комплектуется из обыкновенных людей. На исполнение отдельных
договоров солидная фирма может пригласить стороннего программиста, который окажется некомпетентным. Конечно, клиент выплачивает страховку
за общение с солидной фирмой, оплачивая внушительные счета, но стоит
ли овчинка выделки?
К сожалению, процесс составления технического задания не имеет единиц
измерения (штуки, килограммы). За 50 лет существования программирования как отрасли, корпоративное сообщество так и не ответило на вопрос,
как должно составляться ТЗ. Мнения разделились. Трудозатраты можно условно рассчитать при помощи ОСТ (отраслевого стандарта), разработанного
еще во времена СССР (см. приложение 4). Шаблоны ТЗ есть у каждого программиста, но если это не отписка, то для каждого конкретного случая составляется свое ТЗ. Поэтому шаблоны здесь вряд ли помогут.
Обычно в ТЗ описываются крупные блоки и упускаются подробности. Чем
более краткосрочен план, тем конкретнее должны быть цифры.
В процессе написания ТЗ используются компьютерные программы, например, Visio, а сам процесс разбивается на несколько этапов.
Изложение кратких пожеланий. Документы заполняются сотрудниками
заказчика.
На основании кратких пожеланий составляется общая проектная документация (что предлагается сделать и для чего это нужно).
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
131
Схема подробно документируется с помощью компьютерной программы,
например Visio, CorelDraw и др.
Подход к составлению ТЗ может быть формальным. Например, исполнитель
составляет 3–5 страниц текста, насыщенного "научными" терминами. Заказчик читает и, ничего не поняв, подписывает. Объясняется это просто: если
заказчик не будет доволен результатом, он не будет платить.
Шарлатаны и любители легких денег делают ответный ход — уговаривают
заказчика на предоплату. Те тоже не остаются в долгу: исправно оплачивая
первый счет, затягивают оплату следующих на несколько месяцев, а потом
меняют команду программистов. Так происходит до тех пор, пока не находится умелец, который из того, что есть, успеет сделать за три месяца работоспособную систему.
Если в результате работы по техническому обследованию должны получиться 20–30 листов ни к чему не обязывающего текста, то так и получается. Все
довольны. Шарлатан получил деньги, клиент тоже доволен — он получил
опыт, который позже использует, работая с другими программистами: до тех
пор, пока не будет доволен, не станет платить.
Из этого следует наиболее тонкий способ обмана клиентов. Делать довольными представителей заказчиков и за это каждый раз выставлять счета.
Чтобы бороться с такими "психологами человеческих душ", нужно быть
подкованным в вопросах технологий программирования.
Êàêèå ðàçäåëû
äîëæíî âêëþ÷àòü ÒÇ
Раздел 1. Общее описание проекта. Обычно данный раздел содержит пожелания заказчика в свободной форме по будущему проекту.
Раздел 2. Перечень шаблонов с кратким описанием назначения каждого.
Раздел 3. Структура проекта, первый, второй, третий уровни. Перечень всех
страниц с привязкой к конкретному шаблону.
Раздел 4. Описание модулей, главного меню, функций поиска, форума, архива, каталога и прочего. Подробно. Очень подробно.
Раздел 5. Модульная сетка каждого меташаблона с полным описанием всех
входящих в его состав информационных полей. Сетку можно оформить
в виде таблицы.
Раздел 6. Описание переходов. Карта ссылок между страницами.
Раздел 7. Описание этапов работы и порядка ее утверждения. Раздел выполняется настолько подробно, насколько это возможно.
132
Ãëàâà 4
Ðàáîòà ïî äîãîâîðó
èëè ïîøàãîâàÿ ñòðàòåãèÿ?
Вот стандартная схема продаж-услуг 1С.
Провести предпроектное обследование.
Написать техническое задание на внедрение программы.
Внедрить программу.
Заключить договор на обслуживание.
Каждый из этапов оплачивается отдельно. Согласно этой стратегии заказчик
видит результаты работы программиста (и может реально вмешаться в процесс внедрения) только на третьем этапе. вы можете возразить, что клиент
сам формулирует и пишет техническое задание. На это я отвечу: техническое задание пишется группой программистов для себя же, а у заказчика
просто нет сотрудников, которые обладали бы квалификацией, достаточной
для составления технического задания.
Возникает противоречие. С одной стороны, разработчик должен начать внедрение программы в соответствии с планом, а с другой — заказчик может
повлиять на ситуацию только после того, как сможет "пощупать" систему
своими руками. выходом может стать пошаговая стратегия.
В своей практике я почти не составляю технических заданий, так как это
все равно, что толочь воду в ступе. Разговор с исполнителем и язык графов
позволяет на ходу составлять спецификацию задачи и почти сразу приступать к программированию.
Пошаговая стратегия осуществляется по следующей схеме.
Определяется участок предприятия, на котором можно провести внедренческий эксперимент. Это может быть филиал, удаленный склад,
кондитерский цех или магазин.
На основании полученного опыта программа внедряется на других участках.
Техническое задание при такой стратегии можно составлять устно. Большее
значение следует придать поддержанию личного контакта с заказчиком, а не
правильности составления бумаг. Вместо этого можно раз в неделю устраивать "разбор полетов" и планировать очередной этап работ.
Положительные стороны пошагового подхода.
По сравнению с традиционным подходом, быстрее становится понятно,
чего заказчик хочет на самом деле (потому что это не всегда совпадает
с тем, что он заявляет как желаемое).
Инкрементальный подход позволяет на ходу внедрять стандартные схемы
работы.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
133
Инкрементальный подход позволяет избежать проблемы "Даты Ч", к которой программа должна быть внедрена.
Отрицательные стороны пошагового подхода.
По сравнению с традиционным подходом, пошаговый подход имеет
больше неопределенности в отношениях программист — заказчик.
Появляется больший риск наслаивания срочных проблем, которые необходимо решать здесь и сейчас.
Из своей практики могу сказать, что даже при общении программистов
с бывшими коллегами, ставшими предпринимателями или менеджерами,
возникает несогласованность в терминах и понимании этапов работ. Инкрементальный подход при программировании сближает стороны, причем
сближение идет с обеих сторон, как со стороны программиста, так и заказчика. Заказчик постепенно начинает понимать возможности и ограничения
системы, а программист — потребности заказчика.
Казалось бы, в случае, когда заключается пошаговый договор, программист
рискует больше, чем когда работа ведется по традиционной схеме. Однако,
начиная сотрудничество, клиент вкладывает ресурсы в покупку новой программы, тратится на обучение, отрабатывает ошибки. В определенный
момент он становится зависим от команды программистов, так что продолжить сотрудничество для него получается гораздо выгоднее, чем прекратить.
Ýêñòðåìàëüíîå ïðîãðàììèðîâàíèå
Можете в качестве модели сотрудничества использовать экстремальное программирование. Экстремальное программирование включает следующие
этапы.
Сбор требований к системе в виде историй пользователя со слов заказчика.
Переработка требований и выпуск черновой версии в соответствии со
сложившейся ситуацией, оценка стоимости версии.
Разработка новой версии.
Чем короче итерации между версиями, тем лучше.
Единицей измерения может служить идеальная неделя разработки. Идеальность подразумевает безотрывную работу над задачей в обычном темпе.
Если программист не может оценить задачу в течении четырех недель, то
заказчик должен ее переформулировать. Идеальной задачей является та,
которая может быть решена за один день. Если на это уходит более продолжительное время, следует попытаться сократить объем задачи.
Такой подход позволяет гибко планировать загрузку программистов, которые иначе могут простаивать в определенные периоды.
134
Ãëàâà 4
После формулирования задачи требуется оценить ее срочность по следующей шкале:
обязательно (система без этого не может работать);
весомо (система может существовать без этого какое-то короткое время);
желательно (система будет работоспособна и без этого, но эта функция
сделает программу более удобной).
Хорошо, когда представители заказчика сами формулируют задачи и описывают их на бумаге.
После сбора заявок, сформулированных на языке заказчика, команда программистов формулирует задачи в своих терминах, затем определяет трудоемкость каждой задачи и, наконец, распределяет задачи между собой в порядке приоритетности.
Программисты должны выбирать себе задачи в количестве, обеспечивающем
равную загрузку всех членов команды, с учетом профессионализма и загруженности каждого.
После оценки трудоемкости каждой задачи определяются сроки выпуска
новой версии.
По ходу работ выполняется корректировка загруженности программистов.
Планирование в экстремальном программировании сопряжено с мониторингом. Планы могут и должны меняться в соответствии со сложившейся
ситуацией. Не должно быть отставших от жизни планов, они должны отражать будущее в соответствии с текущим положением дел.
Дополнительную информацию об экстремальном программировании можно
найти в Интернете.
Чем экстремальный стиль программирования отличается от обычного стиля
работы приходящего программиста, я не заметил. Обычно все заявки программисту записываются в журнал, или во время очередного прихода он обходит всех пользователей. В случае возникновения накладок с очередностью
выполнения заявок программист обращается к куратору, например главному
бухгалтеру, который определяет приоритеты задач.
Как сказал один из соавторов книги: "Экстремальный метод программирования — это метод постановки задачи без постановки задачи". Термин экстремальное программирование пришел в 1С из C++. В С++ барьер между
программистом и заказчиком мог быть очень большим (не так как в 1С, где программист изначально специализируется в области бухгалтерского программного обеспечения). Задача ставится в общем виде и сразу начинается исполнение. После одного короткого раунда программирования результат согласуется
с заказчиком. Затем задание корректируется и начинается следующий раунд
программирования, после чего результат согласуется вторично. Работа с за-
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
135
казчиком ведется непрерывно, на одном компьютере одновременно работают
два человека — программист и заказчик. Никаких команд программистов в экстремальном программировании не предусмотрено.
Òåõíè÷åñêîå çàäàíèå
Работы по привязке и внедрению системы состоят из следующих этапов:
обследование объекта;
организационные мероприятия;
разработка технического задания;
адаптация и доработка программ к специфике предприятия (организации);
внедрение программного продукта.
Следует иметь в виду, что пятый этап описанной выше схемы может быть
не последним в череде этапов внедрения программы. О разочаровании, связанном с итерационностью процесса написания программ, написано множество книг и научных статей.
Íåîïðåäåëåííîñòè ÒÇ
В случае, когда процесс внедрения программы закончен, а заказчик не получил нужного результата, ТЗ страхует исполнителя и является его оружием
в случае конфликтов с заказчиком, ведь все, что было оговорено, выполнено. Работы, выходящие за рамки технического задания и потребность в которых возникла на этапе внедрения, оплачиваются и выполняются по дополнительному соглашению.
Техническое задание разрабатывается на основании результатов обследования объекта и выявленных отклонений действующей системы организации
и методологии учета на предприятии от предусмотренных в программах.
Техническое задание придает определенность плану внедрения программы
для программиста и позволяет определить трудоемкость решения информационной проблемы.
Техническое задание составляется исполнителем для самого себя. На предприятии нет специалистов, понимающих специфику внедрения новых программ. Иначе бы они сами составляли планы и организовывали процесс их
внедрения. В этом-то и заключается проблема. Заказчик не может определить правильность составления ТЗ.
До сих пор не разработана методология оценки ТЗ. То есть в чем должен
выражаться результат — в количестве страниц, потраченного времени, про-
136
Ãëàâà 4
веденных совещаний или специалистов, обследовавших предприятие. До сих
пор составление ТЗ — это искусство, которое зависит от мастерства художника.
Заказчик может определить точность направления только тогда, когда "пощупает" систему. До ее внедрения такие понятия, как ввод одного документа на основании другого, система привязки документов не будут ясны. Многие заказчики путают понятия отчет, элемент справочника, документ,
поэтому формулирование для него документа в терминах, которые он не
понимает, является миной замедленного действия.
Äëÿ ÷åãî íóæíî ÒÇ
В техническом задании устанавливаются:
1. Точный состав и содержание работ.
2. Состав изменений в методике и организации учета на предприятии (организации). Заказчик их утверждает, и их выполнение является обязательной предпосылкой для внедрения системы.
3. Порядок приемки программ, прошедших привязку, и контроля их правильного функционирования.
4. Основные требования, которым должна удовлетворять программа после
ее адаптации и доработки. Договорные документы должны содержать
ссылки на техническое задание.
ТЗ помогает избежать изменений, которые являются следствием субъективного подхода к решению отдельных вопросов сотрудниками заказчика.
На этапе обследования объекта персонал, занимающийся учетом, должен
быть ознакомлен с принятыми в программах функциональными и информационными решениями, и они должны быть ему понятны.
Ñîñòàâ òåõíè÷åñêîãî çàäàíèÿ
Основание для разработки.
Назначение разработки.
Методологические основы решения задач.
Функциональные спецификации и описание алгоритмов.
Условия эксплуатации.
Порядок контроля работоспособности программ и их приемка.
Этапы разработки.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
137
Îïèñàíèå ðàçäåëîâ
òåõíè÷åñêîãî çàäàíèÿ
Ðàçäåë "Îñíîâàíèå äëÿ ðàçðàáîòêè"
В данном разделе идентифицируется работа и ее заказчик, акцентируется
внимание на организационных и методических материалах, положенных
в основу работы.
В разделе указываются:
наименование работы и ее содержание;
наименование организации заказчика;
перечень документов, на основании которых ведется разработка, с указанием полного названия этих документов;
место проведения работ по привязке программ;
наименование программы, принятой для проведения привязки к объекту;
перечень исходных материалов, использованных при разработке технического задания, включая материалы обследования, нормативно-технические
документы, рекомендованные для использования, методические, проектные, научно-исследовательские разработки и т. п.; по каждому из приведенных материалов указываются данные об их утверждении, а также какие именно разделы документов использованы.
Ðàçäåë "Íàçíà÷åíèå ðàçðàáîòêè"
В разделе указывается функциональное назначение разработки. Программы
имеют определенное функциональное назначение. Они ориентированы на
реализацию регламентированного состава учетных задач с фиксированными
алгоритмами решения.
Также здесь приводятся наименования задач в составе программ, которые
будут переработаны; перечисляются задачи, которые будут дополнительно
решены и включены в состав программ.
В разделе указываются отклонения от программ по содержанию задач, поясняется, каким образом будут использоваться результаты решения измененных задач.
Ðàçäåë "Ìåòîäîëîãè÷åñêèå îñíîâû
ðåøåíèÿ çàäà÷"
В этом разделе должна быть приведена аргументация по всем изменениям и
дополнениям к действующим в программах методологическим установкам.
138
Ãëàâà 4
Для задач приводится краткое описание проектных решений по методологии и организации автоматизированного выполнения учета. Это снижает
возможность разработки ошибочных решений.
Если в программах выдерживается строгий методологический подход, то
в изменениях к ним также следует придерживаться строгой регламентации
тех методологических установок, в основу которых положены действующие
законодательные, нормативные, инструктивные и методические документы
по ведению учета.
Методологические решения, заимствованные из действующих регламентирующих документов, не излагаются, на них делаются ссылки.
Описание методологических решений выполняется в виде текста или таблицы, с указанием краткого содержания каждого решения, его обоснования и
ссылки на соответствующий директивный или методологический материал.
Методологические решения не являются описанием алгоритма задач. Они
представляют собой описание задач с позиций методологии учета, раскрывают идею изменений.
В разделе должен быть отражен еще один аспект привязки. При проведении
обследования учетного процесса предприятия (организации) могут быть выявлены необоснованные отклонения от регламентированных положений
учета, предусмотренных в программах. Это может мешать проведению привязки, а в дальнейшем и внедрения. Следует указать сущность отклонений
и обязательства заказчика по их устранению.
Ðàçäåë "Ôóíêöèîíàëüíûå ñïåöèôèêàöèè
è îïèñàíèå àëãîðèòìà"
Раздел должен включать подробное описание изменений в программе. Описание должно быть приведено в такой форме, чтобы его понял заказчик, не
искушенный в тонкостях программирования. Утверждая техническое задание, заказчик подписывается тем самым под изменениями, соглашаясь
с ними. Здесь имеет место не только формальная процедура. Вникая в суть
изменений, заказчик дополнительно страхует исполнителя от возможных
ошибок. Основным правилом при написании этого раздела является акцентирование, "выпячивание" тех аспектов, которые связаны с ломкой действующих на предприятии положений учета.
Одновременно содержание раздела должно быть достаточным для специалистов при переработке или доработке задач.
Раздел может включать следующие основные спецификации:
описание плана счетов
описание справочников
описание субконто
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
139
описание документов
описание отчетов
параметры адаптации
На каждую спецификацию открывается отдельный подраздел.
Ðàçäåë "Óñëîâèÿ ýêñïëóàòàöèè"
В разделе приводятся конкретные задачи, поставленные перед заказчиком и
с решением которых создаются условия для нормальной эксплуатации программ. К ним могут быть отнесены следующие задачи:
обновление технических средств по составу и характеристикам;
наличие необходимого системного программного обеспечения;
обслуживание технических средств;
подготовка персонала.
В дальнейшем, эти условия могут быть использованы при составлении регламентирующих документов по внедрению.
Ïîðÿäîê êîíòðîëÿ ðàáîòîñïîñîáíîñòè ïðîãðàìì
è ñäà÷à-ïðèåìêà ðàáîò ïî ïðèâÿçêå
Результаты выполненных работ по привязке должны контролироваться и
быть принятыми заказчиком. Контроль и приемка распространяется только
на те задачи программы, которые были переработаны или разработаны вновь.
Приемка выполненных работ осуществляется по результатам испытаний на
контрольном примере. Контрольный пример должен обеспечить проверку
функций задач во всех режимах, а также проверку информационных связей
между задачами. Данные контрольного примера должен подготовить заказчик. Специалист проверяет исходные данные, проводит анализ результатов
выполнения контрольного примера и исправляет ошибки, допущенные при
доработке программ.
В разделе следует привести:
перечень задач, подлежащих проверке на контрольном примере;
объем контрольного примера;
содержание контрольного примера (состав первичных документов, справочников и т. д.);
выполнение контрольного примера;
порядок отражения результатов испытаний;
оформление приемки работ.
140
Ãëàâà 4
Контрольный пример должен охватывать ошибочные ситуации, которые
могут возникнуть при эксплуатации программ в результате некорректности
исходной информации. Для этого следует использовать искусственно подобранные ошибочные данные для проверки работоспособности программ.
После завершения этапа контроля и приемки работ, программы могут быть
использованы при внедрении.
Ðàçäåë "Ýòàïû ðàçðàáîòêè"
После того как определен весь список доработок, составляется план работ.
Целесообразно учетным работникам предварительно рассмотреть его и дать
свои замечания и рекомендации. Специально должен быть рассмотрен вопрос очередности внедрения. При наличии значительного количества доработок может быть установлен порядок, при котором первоочередное внедрение одних задач сочетается с проведением привязки по другим задачам.
Таким образом, будет установлена последовательность работ по привязке
и внедрению.
При выборе очередности привязки и внедрения следует учитывать актуальные потребности заказчика (объем, качество выполнения работ), подготовленность заказчика к переходу на автоматизированный учет, информационные взаимосвязи задач, трудоемкость внедрения той или иной
группы задач, технологию обработки, предусмотренную технической документацией программ.
Несмотря на то, что в описании этого раздела темы привязки и внедрения
пересекаются, детально вопросы внедрения здесь не рассмотрены. Техническое задание — основной документ, регламентирующий процесс привязки,
проведение внедрения должно сопровождаться иными документами. Это
позволит разделить различные, по существу, работы по привязке и внедрению и более формально подойти к каждой из них.
В этом же разделе должна быть предусмотрена возможность уточнения и
дополнения технического задания в ходе разработки по согласованию между
заказчиком и исполнителем. Дополнения оформляются в установленном
порядке и являются неотъемлемой частью технического задания.
Этапы работ оформляются в виде таблицы и включают следующие реквизиты:
наименование этапа;
срок выполнения;
наименование документа, завершающего этап.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
141
Ãðàôè÷åñêîå ìîäåëèðîâàíèå
áèçíåñ-ïðîöåññîâ
Многие вещи нам не понятны не
потому, что наши понятия слабы;
но потому, что сии вещи не входят
в круг наших понятий.
К. Прутков
Моделирование процессов является первым пунктом в формулировании задания на программирование.
Моделировать можно в уме или на бумаге. На бумаге можно составить словесное описание, а можно нарисовать граф. Последний способ представления проблемы дает лучшие результаты.
То, что графические средства стимулируют мышление, известно всем. Однако опыт показывает, что далеко не каждый охотно рисует схемы. С другой
стороны, люди со стратегическим мышлением всегда склонны к картированию "боевых действий".
Как бы вы описали следующую задачу: процесс превращения сырья в готовую продукцию?
Вот один способ представления:
передача материалов в производство;
учет общехозяйственных расходов;
учет общецеховых расходов;
выпуск готовой продукции.
Более наглядный способ представления будет таков:
20/10;
20/26;
20/23;
40/20.
А вот наиболее наглядный способ представления процесса производства при
помощи графа (рис. 4.1).
Я специально рисую графы, обозначающие бухгалтерские проводки справа налево, чтобы они полностью соответствовали конструкции "в кредит счета с дебета счета".
142
Ãëàâà 4
10
40
20
23
26
Ðèñ. 4.1
Например, проводку 20/10 нагляднее зарисовывать так (рис. 4.2).
20
10
Ðèñ. 4.2
Чем так (рис. 4.3).
10
20
Ðèñ. 4.3
Ñèñòåìíûé ïîäõîä â ïîñòðîåíèè ãðàôîâ
Каждая фраза разбивается на элементы.
Существительные — это узлы.
Глаголы — это связи.
Фразу "мама мыла раму" можно нарисовать так:
Мама мыла раму.
А вот кодирование фразы в виде графа (рис. 4.4).
мама
мыла
Ðèñ. 4.4
рама
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
143
Ãðàô – àëüòåðíàòèâíûé ñïîñîá
ïðåäñòàâëåíèÿ ñïèñêîâ
Человек может удерживать в своей памяти не более семи объектов одновременно. Сознанию присущи свободные ассоциации разнородных компонентов, и они замечательно укладываются в такие математические структуры,
как графы.
Поэтому в проектировании используются модульные подходы, а также поэтапная декомпозиция, анализ и графическое отражение объектов.
Можно набросать план в виде списка:
1. Первый пункт.
2. Второй пункт.
Подпункт А.
Подпункт Б.
Подподпункт 1.
Подподпункт 2.
3. Третий пункт.
Теперь для того, чтобы вставить между пунктом 1 и пунктом 2 новую позицию, придется переписать весь список.
Альтернативой таким планам служит схематическое отображение мыслей
и идей.
Вот положительные стороны представления информации в виде графа.
Списки организованы линейно, но это не тот путь, по которому следует
наш разум.
Напротив, наш разум работает как интернет-сайт: группы страниц, или
идей и концепций, связаны между собой и имеют выходы на другие
группы.
Обучение комбинирует то, что вы уже знаете, с тем, что хотите узнать.
Память затем обрабатывает новые связи и ассоциации.
Как известно, лучше один раз увидеть, чем сто раз услышать. Руководствуясь этим принципом, авторы текстов дополняют их схемами и диаграммами.
В линиях графов заложено (закодировано, зашифровано) больше информации, чем в словах.
Представление информации в виде картинок, значков, стрелочек, геометрических фигур более наглядно.
Графы позволяют абстрагироваться от действий (связей между узлами)
или от объектов, анализируя при этом связи.
144
Ãëàâà 4
Графы позволяют легко переходить от частного к общему и наоборот.
Графы позволяют легко добавлять новые узлы и идеи.
Графики потока данных, по сравнению с обычным словесным описанием,
позволяют кодировать больше информации на единицу площади рисунка.
Рисование от руки активизирует мышление.
Отрицательные стороны графов.
Граф (в результате большого сжатия информации) рассчитан на того, кто
его рисует. Другой человек может и не понять смысл графа.
Если граф рисуется при помощи программного обеспечения, то все члены группы, на которых рассчитан граф, должны обладать подобным программным обеспечением.
Рисующий граф человек всегда будет ограничен размерами листа или экрана, потому что большой граф трудно рассматривать на экране компьютера (часть графа может не помещаться на экране, а уменьшение размеров графа может скрыть часть надписей).
Конкретный граф применим только к конкретной задаче (это и недостаток и достоинство).
Графы, карты, так же, как и любая знаковая система, требуют однозначного понимания языка, которым пользуется человек при их рисовании.
Поэтому графы до сих пор не вытеснили письменный язык, но широко используются при конспектировании и для описания различных проблем.
Êàê ïðåäñòàâèòü â âèäå ãðàôà
áóõãàëòåðñêèå ñ÷åòà
Сальдо балансового счета увеличивается только в результате уменьшения
сальдо какого-либо другого счета. Балансовые счета образуют замкнутую
цепочку. Сумма прихода на каждый узел (счет) такой цепочки будет равна
сумме расхода на каждый узел (счет) цепочки. Для балансовых счетов действует мнемоническое правило: если вы нарисовали из узла стрелку и написали
над стрелкой 100 рублей, то это значит, что рано или поздно в узел должен
поступить ресурс на 100 рублей. Поэтому, если вам известны обрывочные
сведения о проводках, вы всегда можете восстановить недостающие проводки, построив граф.
Вот так можно зарисовать граф, шифрующий следующие проводки: 60/50, 50/62
(рис. 4.5).
60
100 руб.
50
Ðèñ. 4.5
100 руб.
62
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
145
Забалансовый счет нельзя встраивать в замкнутую цепочку. Например, приход средств на 002 счет можно зарисовать так (рис. 4.6).
002
100 руб.
Ðèñ. 4.6
Ïðèìåð ïðåäñòàâëåíèÿ
â âèäå ãðàôà ñõåìû îïòîâîé òîðãîâëè
В оптовой торговле используется следующий цикл проводок:
41 / 60 — поступление товара (без НДС);
19 / 60 — поступление НДС;
90 / 41 — списание товара по себестоимости (без НДС);
90 / 68 — НДС отгруженный;
62 / 90 — выставление задолженности.
Вот как выглядит упрощенная схема оптовой торговли в виде графа (рис. 4.7).
62
90
41
68
60
19
Ðèñ. 4.7
Использование графов при постановке задачи программисту увеличивает
наглядность схем и увеличивает взаимопонимание.
Ïîèñê íîâûõ èäåé ïðè ïîìîùè ãðàôîâ
(ïðèìåíåíèå êîíöåïòóàëüíîãî êàðòèðîâàíèÿ
äëÿ ïîèñêà ñâåæèõ ðåøåíèé)
Базовые правила концептуального картирования разработал в 60-е годы
ХХ-го века профессор Джозеф Д. Новак из Корнуэльского университета,
который, в свою очередь, исходил из теории Давид Аушубела, показавшего
146
Ãëàâà 4
важность предшествующего опыта для формирования новых концепций. В
дальнейшем этот метод развил Тони Бузан, который сравнил его с методом
мозгового штурма.
Концептуальная карта состоит из центрального объекта, вокруг которого
располагаются от 3 до 10 связанных с ним объектов. Каждый из этих дочерних объектов в свою очередь окружаются 3–10 другими. Полученный граф
позволяет по-новому взглянуть на проблему, найти новые взаимосвязи,
скрытые от привычного взгляда. Пример такой карты приведен на рис. 4.8.
В центре карты расположено понятие 1С, к которому присоединяются другие (Интернет — через него можно получать информацию; обучение, администрирование, работающий с 1С программист). При анализе этой карты
каждый сделает свои выводы, например, о том, что часть информации об 1С
можно получать бесплатно, через интернет-форумы.
Ðèñ. 4.8
Графические структуры значительно облегчают поиск новых идей, а компьютерные технологии позволяют легко реализовать метод концептуального
картирования. Такой подход имеет следующее преимущество: разнообразие
графических объектов, способных структурировать ход мысли, можно неограниченно наращивать. С объектами удобно работать, изменяя их масштабы, пропорции, порядок и цветность. Готовые схемы могут быть плодом
усилий нескольких исследователей.
Человеческое сознание опирается на подсознание, которое может давать
мгновенные ответы, а может — по прошествии некоторого времени (пока
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
147
проблема "отлежится"). В соответствии с этим подходом сначала следует записать проблему на листе бумаги (даже если есть железная уверенность, что
решения не существует). Потом отложить листок в сторону и, через некоторое время, вернуться к рассмотрению проблемы — возможно, подсознание
даст ответ (в поле зрения появятся новые факты или вспомнятся аналогичные случаи).
Êàê ñòðîèòü ãðàô
Граф можно начинать одновременно с нескольких сторон. В этом случае
результат будет достигнут вдвое быстрее, например, замечено, что если писать главы книги параллельно, а не последовательно от введения до заключения, то результат появляется гораздо быстрее.
Часто важен не результат, а сам факт его достижения. Например, для исполнения обременительных дел или тестирования внезапно открывающихся
возможностей, без ущерба для основных планов.
Откажитесь от идеи составления плана, пункты которого изложены предложениями. Оперируйте ключевыми словами и терминами, которые описывают идею. Разберите систему на элементарные части. Зарисуйте элементы на
листке. Может быть, можно еще разделить узлы? А может объединить первый и третий? Или удалить один узел? Попробуйте собрать заново исходный объект. Очень полезным способом избежать влияния фиксированных
частей какой-то проблемы является деление этих частей на еще более мелкие части, а затем составление из них более крупных новых соединений.
Это процесс, частично показанный на основе изменения. Намного легче
собрать мелкие части ситуации в разного рода соединения, чем разбить уже
разделенную ситуацию на новые составные части. Количество различных
возможных подходов ограничивается не только жесткостью составных частей, но и количеством соотношений. Небольшой набор элементов и соотношений приводит к бесплодию.
Чем больший простор открывается для деятельности (больше связей и элементов), тем оригинальнее будут решения.
Не беспокойтесь, если первые попытки построить граф и найти свежую
идею будут бесплодными. Умение придет с практикой.
Ïîïðîáóéòå ðåøèòü ïðîáëåìó
ïðè ïîìîùè ãðàôà
Сформулируйте название проблемы. Например, почему меняются остатки в итогах по счету 62. Набросайте на листке все, что ассоциативно
связано с проблемой. Допустим, имена работников, случаи, когда они
были выявлены.
148
Ãëàâà 4
Объедините элементы в группы (работников перетащите в один угол), случаи воровства в другой.
Объедините близкие по смыслу узлы в один. Попробуйте придумать синонимы к названию каждого узла.
Определите систему логической подчиненности.
Проверьте, правильно ли проведены связующие линии между узлами.
Êîìïüþòåðíàÿ ïðîãðàììà
äëÿ ïîñòðîåíèÿ ãðàôîâ
В качестве примера программы, которая облегчает строительство графов,
можно привести программу Explain. Это бесплатная программа, разработанная российским программистом, позволяет создавать ориентированные графы. При загрузке программы появляется граф с руководством пользователя
и основными примерами, подготовленными автором, что облегчает обучение. Новый узел на поле создается двойным щелчком мыши. Узлы можно
переносить, используя операции Drag&Drop, а при нажатой правой кнопке
мыши рисовать ориентированные связи между узлами.
Нажатием правой кнопки мыши можно вызывать контекстное меню, через
которое можно задавать цвет узла, вносить текстовые комментарии, а также
установить гиперссылку на другие графы, файлы, адреса интернет-сайтов
или исполняемые программы. При помощи Explain были подготовлены графы для этой книги.
Графический язык — наиболее простой способ представления задач. Он позволяет найти общий язык между специалистами разных областей, в том
числе бухгалтеров и программистов. Применение графических средств представления проблемы позволяет гибко менять угол зрения и переходить
с микроуровня на макроуровень. Графический язык облегчает понимание
сути задач. При его освоении сознание может противиться, но когда язык
освоен, он применяется повсеместно. Первоначально этот язык мне преподал отец. Сейчас я считаю, что напрасно не сразу стал им пользоваться.
Èäåàëüíàÿ ïîñòàíîâêà çàäà÷è
(çàäà÷à â ñòèëå ÒÐÈÇ)
Идеальное решение задачи состоит в том, чтобы не решать проблему, то
есть сделать внешнее вмешательство в систему минимальным, а эффект
максимальным. Кажется, такой подход противоречит логике. Люди приходят на работу, чтобы работать. А здесь утверждается обратное. Однако если
проанализировать эволюцию технических средств от счета на пальцах, счетах,
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
149
арифмометре, калькуляторе до компьютера, то окажется, что каждый этап
технической эволюции через изобретение высвобождал человеческие ресурсы.
Идеальное решение должно быть легким — выполняться просто и давать
колоссальный эффект.
В соответствии с таким подходом постоянно загруженный специалист является скорее изображающим деятельность, чем работающим на самом деле,
ведь признаком мастерства является то, что проблема решается одним движением пальца. Возможно, вы возразите, что существуют сложные системы,
на разработку которых уходят годы. На это я отвечу, что вы не научноисследовательский институт, готовый пять лет ждать плодов научнотехнической мысли.
Специалист должен находить наиболее дешевое решение и не тратить много
времени на решение проблемы. Иначе он не специалист.
Существует два варианта решения задачи:
перебор вариантов
системный подход
Системный подход подразумевает решение тех задач, которые действительно важны, в ущерб решению второстепенных задач. Наиболее красивые решения, как правило, отвечают следующим критериям.
Идеальность — нужный результат достигается с меньшими затратами по
сравнению с другими вариантами и отсутствием побочных эффектов.
Внедряемость — идею можно реализовать в тех условиях, которые описаны в задаче.
Оригинальность — идея неочевидна для большинства людей и непохожа
на другие решения.
Òåîðèÿ ðåøåíèÿ èçîáðåòàòåëüñêèõ çàäà÷
Теория решения изобретательских задач (ТРИЗ) описывает приемы, которые позволяют находить красивые решения. Одним из основных понятий
ТРИЗ является понятие противоречия.
Êàê ñôîðìóëèðîâàòü ïðîòèâîðå÷èå
Противоречие формируется так: "данная часть системы должна обладать
свойством "A", чтобы выполнять нужную функцию, и свойством "не A",
чтобы удовлетворять существующим ограничениям и требованиям". Или подругому: "должно выполняться действие "А", чтобы задача была решена,
и "не А", потому что такова реальность".
150
Ãëàâà 4
Научиться выявлять и формулировать противоречия можно, используя следующие приемы:
Наоборот;
Дополнение;
Хорошо — плохо;
Цепочка.
Прием "Наоборот". Можно найти антоним к наименованию предложенной
проблемы, понятия или явления. Например: большой — маленький, день —
ночь, гравитация — антигравитация.
Прием "Дополнение". Следует найти предмет или способ, где противоположности сходятся, объединяются. Например: ребенок — маленький, а взрослый — большой (разделение во времени). Ребенок — маленький, а на плечах у папы — большой (переход в надсистему).
Прием "Хорошо — плохо". Нужно найти в предмете, процессе, явлении как
можно больше хороших и плохих качеств, сторон, свойств. Таким образом
выявляются противоречия и изобретательские задачи. Надо хорошее оставить и развить, а плохое убрать.
Прием "Цепочка". Это игра на основе законов диалектики — перехода количества в качество, единство и борьбы противоположностей. В ходе игры
следует по очереди выстраивать цепочку рассуждений по образцу: "классическая музыка — это хорошо, т. к. настраивает на возвышенный лад, воспитывает и развивает чувства; сильно развитая чувствительность — это плохо,
т. к. ведет к плаксивости, к отрыву от реальной жизни; отрыв от реальной
жизни — это хорошо, можно легко вжиться в любую роль и стать артистом;
быть артистом — это плохо, т. к. часто меняется ритм жизни, приходится
работать по вечерам; работать по вечерам — это хорошо, т. к. утром можно
подольше поспать".
Ищите не просто решение, а красивое решение. Чем красивее решение, тем
меньше затрат на его выполнение.
ÒÐÈÇ. Çàêîíû ðàçâèòèÿ
òåõíè÷åñêèõ ñèñòåì
ТРИЗ позволяет перейти от неясной и расплывчатой проблемы к конкретным задачам и противоречиям; применить к решению задачи приемы
и принципы, превратив творчество в ремесло; получить одновременно
несколько идей, из которых осознанно выбрать наилучшие; прогнозировать
и предупредить будущие проблемы.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
151
Çàêîí ïîëíîòû ÷àñòåé ñèñòåìû
Необходимым условием принципиальной жизнеспособности технической
системы является наличие и минимальная работоспособность ее основных
частей.
Çàêîí ýíåðãåòè÷åñêîé
ïðîâîäèìîñòè ñèñòåìû
Необходимым условием принципиальной жизнеспособности технической
системы является сквозной проход энергии по всем ее частям системы.
Çàêîí ñîãëàñîâàíèÿ
ðèòìèêè ÷àñòåé ñèñòåìû
Необходимым условием принципиальной жизнеспособности технической
системы является согласование ритмики (частоты колебаний, периодичности) всех частей системы.
Çàêîí óâåëè÷åíèÿ ñòåïåíè
èäåàëüíîñòè ñèñòåìû
Развитие всех систем идет в направлении увеличения степени идеальности.
Çàêîí íåðàâíîìåðíîñòè
ðàçâèòèÿ ÷àñòåé ñèñòåìû
Развитие частей системы идет неравномерно. Чем сложнее система, тем неравномернее развитие ее частей.
Çàêîí ïåðåõîäà â íàäñèñòåìó
Исчерпав возможности развития, система включается в надсистему в качестве одной из частей. При этом дальнейшее развитие идет на уровне надсистемы.
Çàêîí ïåðåõîäà
ñ ìàêðîóðîâíÿ íà ìèêðîóðîâåíü
Развитие рабочих органов системы идет сначала на макро-, а затем на микроуровне.
Çàêîí óâåëè÷åíèÿ ñòåïåíè âåïîëüíîñòè
(ñâÿçåé ìåæäó îáúåêòàìè)
Развитие технических систем идет в направлении увеличения числа вещественно-полевых связей.
152
Ãëàâà 4
Íåêîòîðûå ïðèåìû óñòðàíåíèÿ
òåõíè÷åñêèõ ïðîòèâîðå÷èé
Äðîáëåíèå
1. Разделить объект на независимые части.
2. выполнить объект разборным.
3. Увеличить степень дробления.
Èçìåíåíèå êîëè÷åñòâà
1. Перейти от однородной структуры объекта к неоднородной.
2. Разные части объекта должны выполнять разные функции.
3. Каждая часть объекта должна находиться в условиях, наиболее благоприятных для работы.
Îáúåäèíåíèå
1. Соединить однородные или предназначенные для смежных операций
объекты.
2. Объединить во времени однородные или смежные операции.
Óíèâåðñàëüíîñòü
Объект выполняет несколько разных функций, благодаря чему отпадает
необходимость в других объектах.
"Ìàòðåøêà"
1. Один объект размещен внутри другого, который, в свою очередь, размещен внутри третьего и т. д.
2. Один объект проходит сквозь полость в другом объекте.
"Çàðàíåå ïîäëîæåííàÿ ïîäóøêà"
Компенсировать относительно невысокую надежность объекта заранее подготовленными аварийными средствами.
"Íàîáîðîò"
1. Вместо действия, диктуемого условиями задачи, осуществить обратное
действие.
2. Сделать движущуюся часть объекта или внешней среды неподвижной,
а неподвижную — движущейся.
3. Повернуть объект "вверх ногами", вывернуть его.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
153
Äèíàìè÷íîñòü
1. Характеристики объекта (или внешней среды) должны меняться так, чтобы быть оптимальными на каждом этапе работы.
2. Разделить объект на части, способные перемещаться относительно друг
друга.
3. Если объект в целом неподвижен, сделать его подвижным, перемещающимся.
×àñòè÷íîå èëè èçáûòî÷íîå äåéñòâèå
Если трудно получить 100% требуемого эффекта, надо получить "чуть меньше" или "чуть больше" — задача при этом может существенно упроститься.
"Îáðàòèòü âðåä â ïîëüçó"
1. Использовать вредные факторы (в частности, вредное воздействие среды)
для получения положительного эффекта.
2. Устранить вредный фактор за счет сложения с другим вредным фактором.
3. Усилить вредный фактор до такой степени, чтобы он перестал быть
вредным.
"Ïîñðåäíèê"
1. Использовать промежуточный объект, переносящий или передающий
действие.
2. На время присоединить к объекту другой (легко удаляемый) объект.
"Ñàìîîáñëóæèâàíèå"
1. Объект должен сам себя обслуживать, выполняя вспомогательные и ремонтные операции.
2. Использовать отходы (энергии, вещества).
Êîïèðîâàíèå
1. Вместо недоступного, сложного, дорогостоящего, неудобного или хрупкого объекта использовать его упрощенные и дешевые копии.
2. Заменить объект или систему объектов их оптическими копиями (изображениями). Использовать при этом изменение масштаба (увеличить
или уменьшить копии).
3. Видимые оптические копии заменить инфракрасными или ультрафиолетовыми.
154
Ãëàâà 4
Äåøåâàÿ íåäîëãîâå÷íîñòü
âçàìåí äîðîãîé äîëãîâå÷íîñòè
Заменить дорогой объект набором дешевых объектов, поступившись при
этом некоторыми качествами (например, долговечностью).
Ïðèìåð ôîðìóëèðîâàíèÿ
è ðåøåíèÿ ïðîòèâîðå÷èé
Ïðîòèâîðå÷èå "Îøèáêè â ðàçíîñêå äîêóìåíòîâ
áóäóò âñåãäà. Îøèáîê áûòü íå äîëæíî"
При разноске документов кассир допускал ошибки привязки документов
к агенту. Агенты были недовольны работой программы, поскольку их обманывали. Как погасить недовольство?
Решение: пусть сами агенты проверяют привязку документов. Теперь торговые агенты получали на руки распечатки, в которых им предлагалось найти
ошибки. Найденные ошибки исправлялись.
Обычно для контроля работы торговых агентов принимают надсмотрщика
(супервайзера). Как сделать так, чтобы агенты сами контролировали себя?
Супервайзер составляет планы работы агентов, рассчитывает заработную
плату. Проверяет присутствие товара на полках магазинов. Первую часть
задачи можно решить, если агенты сами будут составлять графики посещений клиентов. После этого планы заносят в компьютер. Потом программа
сравнивает план с фактом и сигнализирует о расхождениях.
Êàê ñýêîíîìèòü íà áóõãàëòåðèè?
Бухгалтер должен быть; поскольку он должен быть;… бухгалтера не должно
быть, потому что…...
Выход: вывести функцию бухгалтера за штат фирмы, например, передав
функции бухгалтерии сторонней фирме или заменив трех бухгалтеров одним, взаимодействующим с одним оператором. Оператор вводит документы,
а бухгалтер проверяет их.
Êàê îáîéòèñü áåç òîðãîâûõ àãåíòîâ?
Торговые агенты должны быть, чтобы каждый клиент знал о предложении
торгового предприятия; их не должно быть, поскольку их содержание обходится слишком дорого.
Выход: привлечь сотрудников клиентов — пусть функции агентов выполняют работники покупателей.
Ôîðìû ðàáîòû ïðîãðàììèñòà è çàêàç÷èêà
155
Êàê ñýêîíîìèòü íà ñëóæáå ïîñòàâîê?
Служба снабжения нужна для того, чтобы на складе всегда был товар; службы снабжения не должно быть, потому что работников службы нужно обеспечивать рабочими местами и социальными льготами.
Решение. Сократить службу снабжения можно, если делегировать часть
функций по планированию остатков поставщикам.
Êàê îáîéòèñü áåç ïðîãðàììèñòà?
Программист нужен, чтобы можно было получить мгновенную консультацию. Программиста не должно быть, т. к. он занимает место, компьютеры.
выход: пусть программист будет удаленным, или часть административных
функций выполняет один из работников.
Формулировка противоречия — наполовину решенная задача.
Ñïîñîáû ðàçðåøåíèÿ áóõãàëòåðñêèõ ïðîáëåì
â ñòèëå ÒÐÈÇ
При решении задачи обязательно нужно выполнить два противоположных
требования (условия). Противоречий два, а не одно!
Противоречия могут разрешаться во времени, пространстве (в том числе
структуре), в воздействиях.
Ðàçðåøåíèå ïðîòèâîðå÷èé âî âðåìåíè
В интервал времени Т1 система обладает свойством "А", а в интервал времени Т2 — свойством "не А".
Пример из бухгалтерского учета на эту тему смотрите в разделе "Операции,
продленные во времени" главы 6, в которой обсуждаются распределенные во
времени операции по счету 51.
Ðàçðåøåíèå ïðîòèâîðå÷èé
â ïðîñòðàíñòâå/ñòðóêòóðå
Одна часть системы (или система в целом) обладает свойством "А", а другая
часть (части) — свойством "не А".
Пример из бухгалтерского учета на эту тему смотрите в разделе "Как делать
проводки, не увеличивая дебетовые и кредитовые обороты" главы 6, где обсуждаются распределенные во времени операции по счету 10.
Ðàçðåøåíèå ïðîòèâîðå÷èé â âîçäåéñòâèè
При воздействии-1 система обладает свойством "А", а при воздействии-2 —
свойством "не А".
156
Ãëàâà 4
Пример из бухгалтерского учета на эту тему смотрите в разделе "Как убрать
"пересортицу" счетов?" главы 6, где рассказывается, как убрать пересортицу
между счетами, используя счет 00.
Åñëè íå ìîæåòå îïðåäåëèòü
êîðåíü ïðîáëåìû — óïðîñòèòå çàäà÷ó
Используйте подручные ресурсы. Прежде чем принимать нового работника
на вакантную должность, подумайте, а можно ли поднять по служебной лестнице того, кто уже работает на предприятии. Оригинальное решение подобной проблемы предложил один предприниматель, который, повысив
зарплату на 10%, убедил бухгалтеров задерживаться на 1 час и выходить работать по субботам.
Вместо приема на работу специалиста-универсала, можно договориться
с несколькими предприятиями и взять трех специалистов на 1/3 ставки.
При этом вы получите трех специалистов, а устойчивость системы возрастет
в три раза, поскольку специалисты являются отчасти взаимозаменяемыми.
В основе красивых и эффективных решений лежат ресурсы, уже имеющиеся
в системе (Система — это контекст, в котором возникает задача, ситуация).
Мы ничего не добавляем извне для достижения результата. Решая простую
задачу, нужно просто поискать нужный ресурс.
Ãëàâà 5
Ðàáîòà ñ ïðîãðàììèñòîì
В Интернете множество форумов, где обсуждается, что лучше: свободный
художник (фрилансер), наемный работник или работа с крупной фирмой.
Зайдите на форум, например, www.mista.ru, и почитайте высказывания. Или
воспользуйтесь Яндексом (www.yandex.ru) для поиска соответствующих тем
обсуждения. Например, в поисковой системе можно ввести запрос "как выбрать 1С-программиста +форум" (как правильно писать запрос в поисковую
машину читайте в главе 8).
Однако стоит сказать, что истины вы не найдете, поскольку она всегда лежит где-то посередине.
À ìîæåò áûòü,
îáîéòèñü áåç ïðîãðàììèñòà?
Ìíåíèå 1
Люди, решающие работать с программистами, сродни тем, кто садится на
иглу. Только начни, а дальше нужно будет платить и платить. В то же время,
если подогнать свой стиль работы под стандартный, 95% проблем разрешатся сами собой.
Сначала вы покупаете программу за большие деньги. Потом платите крупную сумму настройщикам. Затем ведете с ними судебные тяжбы, поскольку
их работа показалась вам неудовлетворительной. Оборвите эту цепочку на
втором этапе. Не приглашайте программистов, решайте проблемы сами.
Старайтесь сделать конфигурацию как можно ближе к стандартной. Не меняйте без особой надобности структуру документов, не вводите новые счета
или субконто. Тогда вы будете безболезненно переходить с одной версии на
другую. вы думаете, дураки пишут исходные релизы программ? Уверяю вас,
это делают очень умные люди, они на десять шагов вперед просчитывают
все варианты возможного поведения программы в той или иной ситуации.
158
Ãëàâà 5
Во многих случаях попытка работать с приходящим или постоянным программистом связана с желанием бухгалтера переложить часть ответственности за принимаемые решения на другие плечи. Все знают, что нужно приглашать программистов, вот и приглашают. Такой подход ничего не стоит
бухгалтеру, но вылетает в копеечку предприятию. Директор не разбирается
в программе и платит. Бухгалтер мог бы разобраться, но не хочет. Программист знает, что эта сумма завышена, но молчит.
Ìíåíèå 2
Существует мнение, что задачи надо подстраивать под программу, а не программу под себя. Но где найти такую универсальную программу, чтобы под
нее все задачи подстроить? И как быть с изменением бизнес-процессов или
меняющимися стандартами учета и нестабильным законодательством?
Если не пользоваться услугами программистов (в данном случае правильнее
сказать не программиста, а человека, который знает структуру документов
в 1С), бухгалтерам придется работать с ограниченным количеством документов. Большая часть операций будет вводиться вручную.
И как учитывать документы, которых нет в конфигурации? Покупать другую
программу или все же приглашать программиста?
Ìíåíèå 3
Кадры решают все. Кто-нибудь знает методики тестирования кандидатов на
роль внешнего или внутреннего консультанта? Таких методик нет. Поэтому
прав и сторонник решения проблемы собственными силами, и тот, кто ратует за привлечение сторонних специалистов.
С одной стороны, каждый человек уникален, обладает собственным опытом
автоматизации, общения с людьми. С другой стороны, в процессе внедрения
может быть как успех, так и провал (и у великих художников бывает застой). Поэтому, начиная проект, никто не может быть уверен в конечном
успехе.
Комментарий
Какое мнение верно — самому решать проблемы или приглашать сторонних
специалистов? На интернет-форумах кипят споры о том, нужны ли программисты. Правильно и то и другое мнение. Проблема в том, что для двух различных
фирм одна и та же задача удачно решается разными способами.
В любом случае можно рекомендовать всем внимательнее читать руководства пользователя. Возможно, тогда количество используемых документов
увеличится, а вопросов — уменьшится.
Ðàáîòà ñ ïðîãðàììèñòîì
159
Êàê ðåøèòü ïðîáëåìó áåñïëàòíî?
Действуйте по следующей схеме.
Сформулируйте вопрос "как решить проблему, ничего не изменяя?"
Попробуйте решить проблему за 5 минут. Поищите ответ в документации.
Если не получилось, то попробуйте получить консультацию по телефону
или задайте вопрос на интернет-конференциях.
Задайте вопрос подругам-бухгалтерам.
Просмотрите ИТС-диск сопровождения 1С.
Если нет результата — пригласите специалиста.
Главное — представить, что подобное затруднение уже возникало ранее.
И кто-то уже потратился на решение этой проблемы. Теперь остается найти
того, кто решил задачу и получить от него решение (может быть, даже бесплатно).
Может возникнуть сомнение в том, что кто-то согласится консультировать
вас по телефону, если может на консультации заработать деньги. Но это не
так. Я, например, ценю тех клиентов, которые могут выполнить работу сами
и не дергают программистов по пустякам. С другой стороны, такие клиенты
не снижают профессиональный уровень специалиста, ведь программист может сконцентрироваться на соответствующих своему уровню задачах. Если
специалист не хочет консультировать вас по телефону, поищите лучше другого. Специалистов по 1С достаточно.
Ðàáîòà ñ ãîðÿ÷åé ëèíèåé ôèðìû 1Ñ
У вас есть вопрос, на который вы отчаялись получить ответ? Последней инстанцией может оказаться служба поддержки фирмы 1С.
Перед тем как браться за трубку телефона, выполните несложное задание.
1. Посмотрите серийный номер программы. Вспомните, посылали ли вы
регистрационные карточки в фирму 1С? Если нет, то велика вероятность,
что звонок не принесет результата.
2. Определите тип проблемы:
• Как это сделать?
• Должно быть одно, а получается другое.
• Сбой в базе.
• Другое.
Служба поддержки — это не служба волшебников. На некоторые вопросы
они не отвечают или рекомендуют прочитать руководство пользователя (это
160
Ãëàâà 5
группа вопросов "Как это сделать?"). В 90% случаев вам посоветуют перезагрузить компьютер. Если ваш вопрос сложнее, ответ может последовать
с задержкой.
Сформулируйте вопрос письменно. Как можно более полно описывайте
проблему и все нюансы. Подумайте, приложить ли к письму скриншоты
(копии экрана) и лог (журнал работы программы). Как сделать скриншот
программы и посмотреть лог, смотрите в главе 1.
Воспользуйтесь электронной почтой. Это будет дешевле и надежнее разговора по телефону. В службе поддержки могут работать специалисты не самой высокой квалификации, те, кто учится на ваших вопросах, новички,
временно не устроенные в других проектах программисты. Поэтому возможны заминки и паузы в телефонном разговоре, зато в электронном письме этого не будет.
Если ответ не поступил в течение дня, напишите еще раз. Стандартом для
любой службы поддержки является ответ в течение 24 часов. Не стесняйтесь
напоминать о себе. Если на первое письмо не последовало никакой реакции
или пришла отписка, пишите второе, третье, четвертое. Избегайте грубости,
это не принесет результата.
Упирайте на то, что из-за проблем с 1С ваша организация несет материальные убытки и вам нужен скорейший ответ.
Ïîèñê ïðîãðàììèñòà
Ðåêîìåíäàöèè
Лучший способ выбрать программиста — это попросить рекомендации.
Если ваша фирма располагается в бизнес-центре, можно пройти по этажу,
познакомиться с соседями и спросить, как они решают проблемы с компьютерами и с 1С. Может быть специализированные фирмы, работающие
с 1С, есть в вашем офисном здании. Если это так, лучше сотрудничать с
ними и просить скидки на услуги (ведь специалисты не будут тратить время
на переезды).
Ïðîãðàììèñò êàê êîò â ìåøêå
Брать кота в мешке неразумно. А вдруг он на самом деле является посланцем конкурирующей фирмы? Одно мгновение — и списки поставщиков,
телефоны покупателей, и вся первичная документация окажутся в руках
конкурентов или налоговой инспекции.
К слову сказать, у любого программиста скапливаются все базы данных
клиентов. Будьте осторожны. Подключил программист флеш-накопитель
Ðàáîòà ñ ïðîãðàììèñòîì
161
(устройство размером с половину спичечного коробка, которое подключается к USB-порту компьютера) и перекачал базу данных за пару минут. Каждый программист носит с собой флеш-накопитель, на котором находятся
заготовки, обновления и другая полезная информация. Когда он подключен
к компьютеру, ситуацию вы не контролируйте.
Думаю, что наиболее вероятна утечка информации при обновлении квартальной отчетности. Эту операцию может выполнить любой человек, даже
студент, естественно, при наличии базы данных квартальной отчетности.
Конфигурация обновляется за 15 минут. Этого времени достаточно (даже не
специалисту), чтобы посмотреть, где находится база данных, и скопировать ее.
Чтобы предупредить копирование, попросите, чтобы специалист, обновляющий базу данных, приходил с CD, а не с флеш-накопителем, и ничего
не подключал к компьютеру.
Íîðìèðîâàíèå òðóäà ïðîãðàììèñòà
Отчет средней сложности пишется за 1 час. Создание нового документа
в среднем занимает 6 часов. Поэтому, если почасовая работа специалиста
в вашем городе стоит 500 рублей в час, написание отчета должна стоить
500 рублей, а нового документа — 3000. Стоит сказать, что ставки даны условно. Вполне возможно, что только обсуждение работы займет больше
времени, чем программирование. Однако в общем соотношение останется
верным. Трудоемкость создания документа в шесть раз больше по сравнению с отчетом.
Èç ÷åãî ñêëàäûâàþòñÿ òðóäîçàòðàòû
íà ïðîãðàììèðîâàíèå?
Допустим, на написание отчета ушло 3 дня. Затем на установку на компьютер клиента, написание инструкций, демонстрацию, устранение недостатков
еще 3 дня. Сколько будет стоить работа?
Если будет делать отчет серьезная фирма, это обойдется в 300 у. е.
Свободный художник возьмет за ту же работу 200 у. е.
Студент возьмет 100 у. е.
Наемный работник может сделать работу, а может и не сделать, но заработную плату все равно получит.
Можно также попытаться найти бесплатную программу в Интернете или
поискать на диске ИТС (диск информационно технического сопровождения, подписку на который производит фирма 1С).
То есть работа обходится в 100 у. е., а переплата составляет 200–300 у. е.
За что вы переплачиваете?
162
Ãëàâà 5
На самом деле и фрилансер, и сотрудник фирмы получают примерно одинаковый доход (иначе бы все свободные художники рано или поздно объединились в компьютерные фирмы). Только структура дохода у них разная.
Фрилансер работает один и получает всю сумму, а сотрудник фирмы получает процент от выручки.
Ãàðàíòèéíîå îáñëóæèâàíèå
Доработки могут выполняться за счет программиста или за счет клиента,
потому что недоработки — это или признание ошибок в алгоритме, или
неверно поставленная задача. Поэтому все виды сотрудничества примерно
одинаковы.
С точки зрения оперативности тактических работ, наемный работник имеет
преимущества перед другими видами сотрудничества — он всегда на месте.
Однако работник может уволиться.
Студент дешев, но может охладеть к поставленной задаче. Тем более, что
у него есть мертвый сезон — сессии, во время которых он будет не в состоянии вести полноценное обслуживание.
У фрилансера могут быть проблемы со временем (одновременно поступит
гораздо больше заказов, чем он может выполнить), поэтому он будет не
в состоянии осуществлять полноценное обслуживание.
Серьезная фирма гарантирует качество, но может прислать нового сотрудника (покажите мне программистскую фирму, где бы не было текучки).
Толковые программисты отделяются, переманиваются или устраиваются на
работу к бывшим клиентам.
выбирая, с кем сотрудничать, следует учитывать все варианты.
Èäåàëüíûé ïðîãðàììèñò
Если программиста некому рекомендовать, его нужно правильно оценить.
Программист должен понимать клиента без переводчика и сразу находить
с ним общий язык. Хороший специалист должен привораживать к себе.
То есть клиент должен с болью воспринимать замену специалиста. Специалист должен решать часть вопросов по телефону.
Идеальный программист должен обладать следующими качествами:
иметь опыт решения проблем, с которым столкнулось ваше предприятие;
понимать язык бухгалтера;
обладать навыком слепой печати;
уметь сразу написать отчет.
Ðàáîòà ñ ïðîãðàììèñòîì
163
Что необязательно:
наличие сертификата;
программист не обязательно должен быть или свободным художником
или работать в солидной фирме.
При собеседовании попросите описать пять-шесть задач, с которыми приходилось работать специалисту, и похожими на вашу задачу. Похожи ли истории на те, с которыми ему пройдется столкнуться на вашем предприятии?
Как он описывает задачи. Использует ли системный подход. Рисует ли
столбцы проводок или графы и схемы взаимосвязей документов? Использует ли он в своей речи бухгалтерские термины? Обладает ли соискатель на
место программиста базовыми знаниями в области бухгалтерского учета?
Может ли он зарисовать описанную вами проблему? Сможет ли кандидат
сходу написать программу по выборке элементов из справочника "Клиенты".
Сможет ли он в созданной с нуля базе за 1-2 часа организовать поступление
и расход материалов по методу FIFO?
Насколько коммуникабелен специалист? Бубнит ли он под нос? А может
быть, постоянно смотрит в пол? Говорит ли умные слова? Заносчив? Подвержен ли звездной болезни?
Èñïîëüçîâàíèå áóõãàëòåðñêîé òåðìèíîëîãèè
Претендент на должность программиста 1С должен ориентироваться в методике бухгалтерского учета. Он должен быть специалистом в смежной предметной области, иначе он не напишет толковой программы. По крайней
мере, программист должен знать план счетов и схемы проводок по распространенным операциям.
Если программист не может говорить на языке заказчика, то у него должен
быть куратор, который мог бы изъясняться на бухгалтерском языке.
выяснить разговорные навыки можно в телефонном разговоре. Например,
сформулировав провокационную задачу в сугубо бухгалтерских терминах.
"Я закрываю 90-й счет, а у меня остаток на 20-м. Как это исправить?" Если
программист разбирается в бухгалтерии, он заметит подвох и отметит, что
90-й счет никоим образом не связан со счетом, отвечающим за производство. А если не разбирается, то он скажет, что эта проблема сложная и требует
выезда на место (странно, как он разберется в задаче, которая не имеет решения).
Ñïåöèàëèñò äîëæåí ðàáîòàòü
áûñòðî è áåç îøèáîê
Если программист получает почасовую оплату, сделайте так, чтобы он работал на вашем предприятии, а не брал работу на дом. Иногда программист-
164
Ãëàâà 5
ские фирмы посылают курьеров, в задачу которых входит брать базу данных
клиента и привезти в офис, а там работать с опытным куратором. Добиться
оперативных ответов от таких "специалистов" невозможно, кроме того, вы
рискуете получить "испорченный телефон". вы сказали одно, а он сделал
другое.
Напомним, что нет никаких гарантий того, что специалист, копирующий базу
данных на внешний носитель, не продаст вашу базу данных конкурентам.
Если вы заподозрили, что к вам пришел такой "мальчик на побегушках",
требуйте уменьшения ставки почасовой оплаты (это не программист, а карикатура на программиста!) и готовьтесь к конфликтам. Встретьтесь с куратором. Обсудите, что вы будете делать, когда возникнет проблема, которую
нужно будет решить здесь и сейчас.
Одним из объяснений "специалистов на побегушках", почему они берут базу
в офис, является то, что вопрос клиента, вероятно, связан со сбоем в БД и
нужно тщательно ее протестировать на быстром компьютере. В этом случае
нужно быть готовым, что вместе со счетом за решение основной проблемы
вам выставят счет на работы, которые вы не просили выполнять — тестирование базы данных, и список ошибок, обнаруженных в базе (но которые не
влияли на работу программы). О том, как тестировать базу данных, читайте
в главе 1.
Толковых специалистов катастрофически не хватает. Другого выхода, кроме
как посылать новичков, у программистских фирм нет. Текучесть кадров вынуждает брать на работу студентов. А студентам нужно набивать руку. Помните об этом и решайте, хотите ли вы оказаться в той горе трупов, что остается за начинающим хирургом. Да, студент научится, но для этого ему
нужен живой материал и три года времени.
Если специалист берет базу данных с собой, это значит, что он предполагает
потратить на решение задачи больше четырех часов. Ведь для решения проблемы нужно сложить время на дорогу в офис, распаковку архивов, дорогу
к клиенту, а это удлиняет решение проблемы на 2–4 часа.
Можно возразить, что программист не может сосредоточиться, он может
работать только в тишине или у него много заказов. На самом деле это отговорки — для специалиста нет неудобных ситуаций. Он всегда нацелен на
решение проблем. Если же у программиста много заказов, то работа, которую он взял с собой, будет положена в долгий ящик.
Кстати, будет ли программист брать базу данных домой, можно выяснить по
телефону. Опишите проблему и спросите, будет ли он решать проблему на
месте или возьмет базу данных с собой.
Ðàáîòà ñ ïðîãðàììèñòîì
165
Настоящий специалист работает без ошибок. То есть когда он исправляет
накладную, это не приводит к изменению в отчете по взаиморасчетам. Специалист должен предусмотреть возможные негативные последствия изменений в базе данных.
Ïðîãðàììèñò äîëæåí îáëàäàòü
íàâûêîì ñëåïîé ïå÷àòè
Уважающий себя программист вкладывает свои силы в совершенствование
профессиональных навыков и повышение производительности труда. Одним из самых простых способов повысить производительность труда является навык десятипальцевого набора текста. Печатающие двумя пальцами секретари и программисты — это анахронизм. Проверить скорость печати
легко. Достаточно попросить написать программу, перебирающую все элементы справочника "Контрагенты". Посмотрите, как он набирает код программы — без запинок или спотыкается на каждой букве.
Если программист берет почасовую оплату, а набирает код в час по чайной
ложке, то вы платите за труд непрофессионального секретаря-машинистки
по необоснованно высокой почасовой ставке.
Ó ïðîãðàììèñòà óæå äîëæíû áûòü
íóæíûå âàì íàðàáîòêè
Скорее всего, ваша проблема не уникальна. Ситуации повторяются. Если
программист говорит, что ваш случай уникален, то велика вероятность того,
что этот специалист никогда раньше не работал в вашей области.
Попросите программиста описать ситуации, похожие на вашу, с которыми
он сталкивался ранее. Может быть, он подкинет дельную идею или вы сможете купить готовую схему — тогда стоимость нововведения будет значительно меньше предполагаемой. Поинтересуйтесь, есть ли у программиста
наработки. Может быть, он согласится продать их.
Ïðîôåññèîíàëüíûé ïðîãðàììèñò
äåëàåò ñâîþ ðàáîòó êðàñèâîé
Профессиональный программист делает свою работу красивой, а отчеты и
документы — аккуратными. Если работа выглядит коряво, то можно предполагать, что таким же будет и алгоритм отчета.
Одна из причин того, что отчет становится некрасивым — это неуверенность в том, что его не придется переделывать. Поэтому у новичков часто
получаются невзрачные отчеты.
166
Ãëàâà 5
Реестры документов должны заканчиваться итогом, отчеты должны иметь
шапку. При выборе неверных дат в отчете должно выдаваться предупреждение (или самостоятельно исправляться дата, если это возможно). Помеченные на удаление или непроведенные документы не должны попадать в реестры документов. Поля в форме должны иметь одинаковые пропорции и
быть отформатированы по одному из краев.
Êàê ðàñïîçíàòü ñòóäåíòà?
Первое, чему приходится учить новых сотрудников-студентов — это различию между написанием программы для себя на домашнем компьютере и для
клиента. В домашних программах всегда забывают про полноценную отладку, про документацию и интерфейс пользователя. А клиент в первую очередь воспринимает интерфейс.
Поэтому интерфейс программы, написанной студентом, выдает его автора.
Ïðîãðàììèñò ìîæåò íå èìåòü ñåðòèôèêàòà
Наличие сертификата у специалиста — это щекотливый вопрос. Сертификаты дают дополнительные преимущества фирмам, продающим коробки с 1С.
По количеству сертификатов фирма 1С определяет солидность партнера.
Кроме того, продажа сертификатов — это отдельный вид бизнеса (на содержании учебных центров, сдаче экзаменов, распечатке красивых бланков делают деньги).
Для чего нужен сертификат специалисту я, например, понять не могу. Квалификация программиста проверяется за 5 минут. Спросите, что обозначает
определенный счет из плана счетов и зачем он нужен, потом перечислите
проблемы и послушайте, как программист станет решать их. Кроме того,
месяц испытательного срока расставит все по своим местам.
После того как специалист в ответ на ваши вопросы промямлит нечто невразумительное, но покажет 10 сертификатов и дипломов, только слабоумный поверит в его состоятельность.
Сертификат — это свидетельство того, что у человека хватило денег на его
покупку. Проходил ли он курс обучения на самом деле, уверенности быть
не может (покупают даже дипломы институтов, что же говорить про сертификат программиста).
Чтобы определить, какие задачи может решать сертифицированный специалист, можно просмотреть список контрольных заданий при сертификации.
Список вы можете найти в Интернете. Одна из задач такая: организовать
продажу товара по методу FIFO в базе данных, написанной с нуля. Такая
постановка задачи определяет специалиста как программиста, но не определяет его способности решать бухгалтерские задачи. В аттестационных билетах нет вопросов о бухгалтерских счетах.
Ðàáîòà ñ ïðîãðàììèñòîì
167
Гораздо важнее не наличие сертификата, а решение поставленной задачи
в срок и наиболее красивым методом. А сертификат — это форма, которая
лишь отдаленно говорит о содержании.
Ó ïðîãðàììèñòà äîëæåí áûòü ñïèñîê ïðåäïðèÿòèé,
ñ êîòîðûìè îí ðàáîòàë
У программиста должен быть список предприятий, с которыми он уже работал.
Фирма должна по первому требованию представлять список компаний,
в которых проводилось внедрение 1С. Проверьте, чем закончились работы.
Попросите рекомендации, поговорите с конкретными клиентами. Чем
крупнее компания, тем внушительней должен быть список.
Почему-то этой возможностью пользуются очень немногие. Хотя делается
все просто. Если реклама фирмы присутствует в журналах в течение пяти
лет, у нее должен быть многостраничный список внедренных решений.
Если такой список отказываются предоставлять, это значит, что его нет или
некоторые проекты закончились скандалом, а солидная фирма, которая дает
постоянную рекламу, на самом деле — продавец коробок 1С и сертифицированных технических заданий.
Конечно, у программиста есть все основания не раскрывать этот список.
Но более удивительно то, что не всякий клиент просит его предоставить.
Отчасти это связано с тем, что клиенты считают свои проблемы уникальными и ловятся на красивые слова рекламщиков. Уверяю, вы и ваши проблемы не уникальны — если бы это было правдой, то их разработкой занимались бы не программисты, а научно-исследовательские институты.
À åñòü ëè íåãàòèâíûå îòçûâû î ïàðòíåðå?
Если негативных отзывов нет, это плохо. У хорошего хирурга должно быть
кладбище пациентов. Попробуйте найти информацию о предприятии в интернете. Однако чем крупнее клиент, тем труднее держать марку. Возьмите
"Микрософт" — сколько грязи вылили на фирму. Большая часть негативной информации была составной частью акций конкурирующих компаний,
направленных на разделение фирмы.
Ïðîãðàììèñò ìîæåò ðàáîòàòü îäèí
èëè â ñîëèäíîé ôèðìå
Программист может быть фрилансером, свободным художником, или работать в специализированной фирме.
Принадлежность к солидной фирме приводит к завышению суммы счетов
на оплату. Крупные фирмы содержат офис, секретарей и вынуждены опла-
168
Ãëàâà 5
чивать простои сотрудников в случае отсутствия заказов. Работая с крупной
программистской фирмой, вы должны настраиваться на частую смену специалистов. Сегодня будет приходить один специалист, а завтра его переманит один из клиентов фирмы, поэтому будет приходить другой. Новичку
нужно будет заново объяснять суть проблемы. Это нервирует, поэтому принимается решение нанять своего программиста, что далеко не лучший вариант по соотношению затраты — производительность.
На мой взгляд, работа с индивидуалом должна приводить к более доверительным отношениям. Ведь это человек, дорожащий каждым клиентом,
в отличие от сотрудников крупных фирм, которые не думают о том, каких
трудов стоит найти стоящего клиента, и считают, что заказы сыплются
с неба. Индивидуал не дает рекламы, не содержит офиса, у него есть несколько учеников. Каждый новый клиент свободного художника — это или
результат рекомендаций или собственных маркетинговых акций.
Но оба эти вида сотрудничества не гарантируют профессионализм.
Все специалисты подвержены схожим болезням: свободный художник может исчезнуть. Наемный работник или программист из солидной фирмы
может уволиться. Казалось бы, в таких случаях лучшим решением является
работа с крупной фирмой. Но это не верный взгляд. Ведь вы продолжаете
сотрудничать с формой "Фирма А", а содержание — "Программист Б" — будет совершенно иным. Однако существует мнение, что пользоваться услугами крупной фирмы удобней, чем услугами фрилансера. Находясь в группе
программистов, специалист находится в своей информационной среде и
держит руку на пульсе событий. Кроме того, в крупной фирме, возможно,
найдутся коллеги, к которым всегда можно обратиться за советом.
Îòäåëüíûå àñïåêòû ðàáîòû
ñ ïðîãðàììèñòîì
Ìåðû áåçîïàñíîñòè
Я бы рекомендовал выполнять описанные ниже меры постоянно и неукоснительно. Перед приходом программиста всегда нужно делать резервную
копию базы данных, в которую программист будет вносить изменения. Стоит сказать, что программист должен сам делать резервную копию перед внесением изменений в алгоритм, но и на старуху бывает проруха.
Особенно часто архивированием пренебрегают новички. Архивирование —
дело минутное, а проблемы в случае уничтожения или изменения базы данных могут возникнуть очень серьезные, поэтому всегда необходимо иметь
под рукой резервную копию (как делать копию базы данных, читайте в главе 1).
Ðàáîòà ñ ïðîãðàììèñòîì
169
Àóäèò ðàáîòû ïðîãðàììèñòà
К сожалению, до сих пор не востребована услуга аудита программистов, хотя, на мой взгляд, он просто необходим. Неквалифицированный бухгалтер
определяется при первой налоговой проверке, а программист может морочить голову работодателям годами.
Как проверить и подстегнуть засидевшегося на одном месте работника? Как
добавить в кровь адреналина? Нужно каким-то образом создать конкуренцию.
Нужен ли аудит? Люди привыкают к стабильности, как лягушки в болоте.
Находят слабости у руководителей и могут ловко манипулировать ими, не
выполняя своих должностных обязанностей.
Проблема в том, что если приглашать для аудита сторонние программистские фирмы, то объективную оценку вряд ли можно получить, поскольку
для них главное — продать свои услуги, показать все недостатки и умолчать
о достоинствах программиста. Если вы пригласили представителей крупных
программистских предприятий, то следует помнить, что это мастера слова и,
вполне возможно, мастера обмана (см. раздел "Обман программистами заказчиков").
выходом может быть приглашение тех специалистов, которым вы можете
доверять. Например, программистов из ИТ (информационно-технических)
служб партнеров. Правда, при этом следует учитывать самолюбие программиста.
Формулируйте цель перед аудиторами в стиле: "В какую сторону следует направлять службу ИТ".
Если аудиторы выдали уничтожающую критику работы вашего программиста, можно попросить их выявить положительные стороны и объяснить, что
вы не собираетесь увольнять его, вам нужно знать, к чему его подтолкнуть.
Если аудитор указывает на то, что у вас установлена программа не последней версии, это не довод в пользу того, что программист плохо работает.
Аудитор не отягощен грузом прошлого, ему легче начать с чистого листа,
чем разбираться в том, почему было принято определенное решение или
почему программа не обновлялась в течение пяти лет. Программа работала
все это время, и ничего с ней не случилось? Так почему нужно менять ее
именно сейчас, а не еще через пять лет?
Ñïåöèàëèñò âñåãäà îãîâàðèâàåò ñðîê
áåñïëàòíîãî èñïðàâëåíèÿ îøèáîê
Следует заранее оговаривать порядок исправления ошибок. Как правило,
должен быть установлен срок, в течение которого программист бесплатно
будет исправлять выявленные ошибки. Также оговаривайте и сроки выпол-
170
Ãëàâà 5
нения работ. Платить за чужие ошибки вы не должны, равно как и неделями ожидать их исправления.
Äîêóìåíòàöèÿ ïðè ðàáîòå ñ ïðîãðàììèñòîì
Примерный договор с программистом заимствован из моей книги "1С программирование, как дважды два" (см. приложение 3).
Должностную инструкцию программиста вы найдете в приложении 5.
Êàê âûáðàòü âíåäðåí÷åñêóþ ôèðìó
Фирма 1С рекомендует работать со своими официальными партнерами. Их
перечень можно найти на сайте фирмы http://www.1c.ru/rus/partners/franchcitylist.jsp. И это совершенно справедливо.
Официальные партнеры делятся на дилеров и партнеров-франчайзи. Последние имеют в своем составе аттестованных фирмой 1С специалистов.
Наиболее серьезные и функциональные программные продукты, как например, "1С: Предприятие", распространятся только через них.
Ðàáîòà ñ ïðîãðàììèñòñêîé ôèðìîé
Êðèòåðèè âûáîðà
Узнайте, является ли направление 1С в фирме основным или нет. Это видно
из прайс-листов и рекламы фирмы. Как много места выделено для рекламы 1С?
О чем еще говорится в объявлении?
Сколько аттестованных специалистов есть у фирмы? Уточнить их количество можно на сайте http://www.1c.ru.
Решает ли выбранная вами фирма проблемы, связанные с переустановкой
операционной системы, осуществляет ли обслуживание антивирусных программ, монтаж сети.
Способна ли фирма составить техническое задание, то есть сформулировать
перечень будущих работ, оценить затраты труда.
Узнайте ставку почасовой оплаты в фирме. Дешевизна и дороговизна должны насторожить.
Если вы работаете с организацией, то руководитель программиста, с которым вы общаетесь, не всегда в курсе того, что именно делает его сотрудник.
Если действия сотрудника кажутся вам недостаточно профессиональными
или вас что-то не устраивает, поговорите с ним. Чем раньше вы начнете
бить тревогу, тем скорее удастся наладить работу. Поддерживайте постоянную связь с руководством программистской фирмы.
Ðàáîòà ñ ïðîãðàììèñòîì
171
Ïî÷àñîâàÿ ñòàâêà îïëàòû òðóäà ïðîãðàììèñòà
Одной из основных причин раздоров и недопонимания между клиентом и
программистами является почасовая ставка оплаты труда. К сожалению, никто лучшего способа нормирования не придумал. Дело в том, что работы по
внедрению информационной системы невозможно нормировать. Не существует норм времени, необходимых для создания того или иного блока системы.
В связи с этим важно понимать, что если один из франчайзи предлагает
20 долларов в час, а второй 25, это абсолютно не значит, что вы заплатите
первому меньше. Это значит лишь то, что первый берет за час 20, а второй 25.
Не больше и не меньше.
Ïðèåì ñïåöèàëèñòà íà ðàáîòó
Попробуйте подогнать под свои нужды следующие шаблоны объявлений.
Требуется системный администратор-программист 1С.
Основные функции:
обслуживание 1С:Предприятие 7.7. (комплексная конфигурация) — администрирование, устранение сбоев, конфигурирование (немного);
поддержка работы серверов под Windows 2000, MS SQL server 7.0. Администрирование локальной сети, 25 ПК;
Windows 98. Интернет. Почта. Железо. Оргтехника; з/п 600–800 у. е.;
испытательный срок — 3 мес.
Или другой шаблон.
Торговое предприятие приглашает программиста 1С: м./ж., 20–35 лет, в/о.
Опыт работы от 2-х лет, опыт внедрения, сопровождения 1С комплексной
конфигурации. Заработная плата: от 800 у. е., соцпакет, обучение, обеды.
Указывайте, с какими компонентами предстоит работать: "Торговля и склад",
"Бухгалтерия", "Зарплата".
Также укажите режим работы (постоянный, по совместительству, необходимость работы по субботам).
Çàïîâåäè êëèåíòà
Чтобы обращение к независимому консультанту было эффективным, клиент
обязан соблюдать следующие заповеди:
1. Четко сформулировать проблему.
2. Определить свою цель.
172
Ãëàâà 5
3. Узнать как можно больше об управленческом консультировании и возможных консультантах.
4. выбрать себе подходящего консультанта.
5. Разработать совместно с ним техническое задание.
6. Активно участвовать в совместной работе.
7. Следить за ходом выполнения технического задания.
8. Оценить полученные результаты и работу консультанта.
9. Остерегаться попадания в зависимость от консультанта.
Эти заповеди являются основой работы клиента по решению различных
проблем и выходу из сложных ситуаций.
Îáìàí ïðîãðàììèñòàìè çàêàç÷èêîâ
Всем известно, что часть работы инженера состоит в написании технического задания на разработку нового устройства (программы). А вы не встречались с ситуацией, когда фирма занималась составлением технического задания (ТЗ), а после того, как оно написано, уходила в сторону? Составление
ТЗ — как выемка грунта из котлована — наименее прозрачная часть работ,
в которой рассчитать трудозатраты невозможно. Схема обмана такова:
проведение предпроектных исследований;
рекомендации по закупке техники и лицензионного ПО;
установка ПО и обучение;
составление ТЗ;
выставление счетов на повременное обслуживание. (Чем больше суммы,
тем лучше.)
Êàê ïðîòèâîñòîÿòü îáìàíó
ñî ñòîðîíû ïðîãðàììèñòîâ
Я не против ТЗ, но считаю, что оно должно находиться в голове у ведущего
специалиста, если он может удержать в голове задачу целиком, то ее описание на бумаге не нужно. ТЗ должно составляться для огромной задачи, над
которой работает распределенный коллектив. Но и в этом случае можно
чаще встречаться и согласовывать интерфейсы в ходе личных встреч участников проекта.
90% проблем можно решить за один день, если хорошо подумать хотя бы
минуту. Главное задать себе вопрос: "Как я могу достичь того же результата
прямо сейчас?" Согласно этому принципу, постоянно программирующий
Ðàáîòà ñ ïðîãðàììèñòîì
173
программист — это не программист. Специалист должен работать легко и
красиво.
Любителей составлять ТЗ можно определить простым способом — включить
его стоимость в стоимость обслуживания и заключить договор на один год.
Если такой писатель не согласится, то это обманщик.
Один из способов обойтись без ТЗ — инкрементальный подход. Можно последовательно делать программу блок за блоком, постепенно отходя от стандартной конфигурации. Правда, при этом, повторюсь, нужно пользоваться
услугами не дилетанта, а человека, который участвовал в разработке трехчетырех проектов.
Я не верю, что существуют уникальные программы. Зайдите на www.yandex.ru,
и на запрос о любом продукте он выдаст больше десяти ссылок. Возможно,
вы возразите, что то, что представлено на рынке, это не то, что нужно,
и вам для первого класса в самолете нужен бассейн. Что ж, тогда надо настраиваться на счета по первому классу.
Еще один способ избавиться от любителей составлять ТЗ и обманщиков —
позвонить своим партнерам и попросить рекомендацию. Кроме того, можно
выйти на программистов-конкурентов и попросить набросать план работ по
внедрению ПО или переманить их к себе на работу.
Главное, когда вам говорят о составлении ТЗ или годе на внедрение или
$10 000 000, задать вопрос: "Как можно достичь того же самого, но за 100
рублей?" Любой продукт можно купить дешевле.
Êàê çàêàç÷èê ìîæåò
íå çàïëàòèòü ïðîãðàììèñòó
Чтобы не казалось, что программисты — это сплошь люди, которые стремятся заработать легкий рубль, приведу технику обмана со стороны клиента.
Она строится на технологии "Был бы человек, а к чему придраться, найдется".
Вот схема, в которой я участвовал в качестве пострадавшей стороны. После
третьего месяца внедрения 1С в оптовой фирме главный бухгалтер сообщил,
что директор принял решение обратиться к другой фирме. С директором я
никогда не встречался, все вопросы за него решал главный бухгалтер. Решение директора было обосновано тем, что та фирма более солидна. Появились представители фирмы-конкурента и разбили в пух и прах все мои разработки. Их попросили написать резюме по моим работам. В результате
появился отчет на нескольких страницах. В итоге клиент отказался подписывать акты выполненных работ за последний месяц и оплачивать их.
Через два месяца ситуация повторилась. Пригласили очередную фирму, и та
разнесла в пух и прах наработки предыдущей. И с ожесточением продолжила внедрять программу, позарившись на золотые горы.
174
Ãëàâà 5
Итак, суть метода сводилась к следующему.
Кукловод всегда находился за сценой. Так проще принимать решение по
смене шахматных фигур, и нет моральных обязательств перед специалистами.
С командой программистов работают не более трех месяцев. Первый месяц выполняются все финансовые требования. Потом начинаются задержки оплаты. Затем приглашается новая команда.
Казалось бы, какой смысл менять программистов? Ответ прост: каждая новая команда пыталась доказать, что они могут работать гораздо лучше, чем
их конкуренты.
Схема отрабатывалась до тех пор, пока программа не приняла приемлемый вид.
Ïðèìåðû ïîïûòîê îáìàíà
Äèàëîã 1
Программист: "Перед началом работ нужно проводить предпроектное обслуживание".
Заказчик: "Скажите, вы уже составляли ТЗ для предприятий из нашего города?"
Программист: "Конечно".
Заказчик: "Давайте упростим задачу. Будьте добры, покажите, может быть,
оно подойдет и для нас".
Расшифровка диалога: произошла попытка упростить структуру задачи.
Äèàëîã 2
Программист: "Мы не можем приступить к внедрению 1С:Бухгалтерия, пока
не установим лицензионное программное обеспечение и не переделаем локальную сеть".
Бухгалтер: "Я в этом не уверен. На соседнем предприятии стоит обыкновенная локальная сеть и все хорошо работает. Может быть, проблема в другом?"
Расшифровка диалога: в разговоре произошла подмена понятий. Специалиста пригласили решить программную проблему, а он хочет продать что-то
другое.
Äèàëîã 3
Программист: "Мы не будем обслуживать ваше предприятие, потому что вы
не у нас купили 1С".
Ðàáîòà ñ ïðîãðàììèñòîì
175
Расшифровка диалога: у нас нет специалистов, поэтому мы заставляем клиентов купить то, что не требует обслуживания. Продадим коробку, а дальше
хоть трава не расти.
Êàê íàéòè ñ ïðîãðàììèñòîì îáùèé ÿçûê
Чтобы определить трудоемкость задачи, сформулируйте ее в терминах программирования. Вижу улыбку на лицах бухгалтеров (уж лучше программисты пусть подстраиваются под нас, ведь мы заказываем музыку).
Взгляд программиста на бухгалтерию отличается от взгляда бухгалтера. Чтобы определить, правильно ли бухгалтерское высказывание или нет, бухгалтер станет записывать столбцы проводок, в то время как программист нарисует граф. Интересно, что бухгалтер поймет рисунок программиста и
программист поймет запись бухгалтера, но ни один, ни другой не перейдет
на использование "чужого" языка. Это происходит потому, что бухгалтер
говорит и мыслит на языке проводок, а программисту нужен алгоритмизированный подход.
Программист должен понимать язык бухгалтера. Но и бухгалтер, в случае,
если он хочет плодотворно работать с программистом, должен говорить его
языком. Понимая и употребляя язык программиста, специалист в предметной области может правильно оценивать трудоемкость задачи (видеть проблемы там, где они есть, и пропускать проблемы, которых нет). Кроме того,
если заказчик будет мыслить терминами 1С-программиста — документ, отчет, — то сможет примерно оценить трудоемкость задачи (один отчет делается за 1–4 часа, а документ за 4–8 часов).
Различие в словарном запасе заказчика и программиста можно привести на
примере выражения "не работает". Для программиста этот термин имеет
множество оттенков:
не работает компьютер (не включается);
компьютер периодически зависает (на конкретной программе или произвольно, в определенное время или когда угодно) ;
не работает программа (вся);
не работает конкретный отчет или документ программы;
программа дает верные цифры, а форма отчета неверная;
программа не работает (заказчик не может понять, как она работает);
программа не работает (заказчик не знает, как ее запустить);
программа не работает (заказчик проверяет отчет по другим отчетам и
цифры не сходятся).
Поэтому слова заказчика "программа не работает" приводят программиста
в полнейшее замешательство. Программист вкладывает в эти слова свой
176
Ãëàâà 5
смысл — он предполагает, что все не работает. А заказчик под выражением
"не работает" понимает мелкие недочеты. Программист отличает сотни оттенков понятия "не работает", как например художники различают тысячи
оттенков красок, а моряки — тонкости в поведении ветра.
Òåçàóðóñ ïðîãðàììèñòà
Çàèìñòâîâàíèÿ èç ñèñòåìíîãî ÿçûêà
Объект, множество, элемент, подчиненный объект, связь, односторонняя
связь.
Òåðìèíîëîãèÿ 1Ñ
Справочник, константа, документ, периодическая величина, выгрузить
в файл, загрузить из файла, регистр учета, отчет, бухгалтерский счет, субконто, субсчет, корсчет, галочка, переключатель, поле ввода, внешний отчет. Торговля, бухгалтерия, метаданные, обработка, расчет, оперативный
учет, комплексная конфигурация, сохранить конфигурацию.
Óðîâåíü ñëîæíîñòè çàäà÷è
Настройка системы, обучение, первичное внедрение, разработка, обновление (конфигурации или отчетности).
Òåðìèíîëîãèÿ àïïàðàòíîé ÷àñòè
Мышь, системный блок, клавиатура, сеть, модем, монитор, терминал, терминальная сеть.
Òåðìèíû âðåìåíè
Срочно, не срочно, немедленно, быстро, в течение дня, побыстрее.
Òðóäîåìêîñòü ïðîöåññà âíåäðåíèÿ ïðîãðàììû
Адаптация программы (настройка программы) — это настройка стандартной программы на конкретные условия с помощью установки значений
предусмотренных переменных параметров.
Доработка системы — это замена части компонентов и разработка дополнительных проектных решений.
Внедрение системы — это процесс перехода от существующих способов ведения учета к новым.
Ðàáîòà ñ ïðîãðàììèñòîì
177
Ñïðàâî÷íèê ñîîòâåòñòâèÿ
òåðìèíîâ êëèåíòîâ è ïðîãðàììèñòà
Рамка — табло, окно программы.
Не работает — см. предыдущий раздел.
Программа зависла — зависла программа, завис компьютер, завис сервер,
зависла сеть.
У меня все красным — красным по какому счету? Делались ли уточняющие
отчеты?
Не печатает — не выводится на экран, не печатает из 1С, не печатает даже
из редактора Word, принтер не включается.
Ðàçëè÷èå ìåòàìîäåëåé
ïðîãðàììèñòà è çàêàç÷èêà
В глазах любого руководителя и бухгалтера перенос в новую базу данных,
допустим, 10 000 элементов справочников ассоциируется с ручным вводом
всех этих элементов. Программист же обратит внимание не на количество
элементов, а на сложность структуры объектов.
Ïðèìåð ïåðåôîðìóëèðîâàíèÿ çàäà÷è
â òåðìèíàõ ïðîãðàììèñòà
Первоначально задача была сформулирована клиентом так: "Требуется чтонибудь сделать с арендными выплатами за аренду печей".
вы что-нибудь поняли? Я нет. Изменим задачу, чтобы условие включало в
себя как можно больше слов из тезауруса (словарного запаса) программиста.
А если сформулировать задачу так: "Мы отдаем печи в аренду. Нужно учитывать арендную плату". Это постановка задачи в терминах заказчика. Теперь попробуем сформулировать задачу в терминах программиста, например, так:
1. Требуется создать объект "печь у клиента", который будет учитывать, какому клиенту какой вид печи отдали (на разные виды печей установлена
различная арендная плата).
2. Требуется создать объект "оплата печи", который будет регистрировать
арендные платежи.
3. Требуется создать отчеты по арендным задолженностям.
178
Ãëàâà 5
При постановке задачи я специально использовал термин объект, это сделано для того, чтобы сразу не привязываться к реализации: документу, отчету,
бухгалтерскому счету.
Такая постановка задачи будет понятна программисту. Скорее всего он заметит, что почти ничего программировать не нужно.
Итак, постановка задачи от лица программиста:
1. Создать забалансовый счет П (Печь у клиента).
2. Проводка +П {Клиент} {Печь} будет регистрировать отгрузку печи клиенту.
3. Проводка –П {Клиент} {Печь} будет регистрировать возврат печи от клиента.
4. Для регистрации арендных выплат можно не вводить счетов и учитывать
оплаты на общих основаниях (проводки 50(51,**)/62(76){Контрагент}
{Договор-Печи}).
5. Отчеты можно формировать из имеющегося списка отчетов (оборотносальдовую ведомость, карточку счета, карточку субконто).
6. Если же клиенту будет неудобно сравнивать два отчета, то нужно сделать
отчет, совмещающий информацию на счете П и счете 62 {Договор-Печи}.
Примерные временные затраты на этот отчет составят 1–4 часа. Отчет
можно сделать внешним и послать по электронной почте (то есть без посещения клиента).
Все так просто? Возможно и нет. Я намеренно упростил задачу. Однако
становится ясно, что если проблема сформулирована в терминах программиста, то она может решаться без программирования и без программистов.
Приведенные выше объяснения показались вам слишком запутанными?
Пожалуйста, перечитайте их еще раз. Может быть, язык несколько сух, зато
результаты они дают превосходные.
При постановке задачи несколько раз прокрутите в уме порядок выполнения отчетов. Попросите программиста объяснить, как он будет выполнять
задание. Обсудите, как можно будет использовать плоды его труда. Может
быть, он неверно представляет себе конечный результат? Попробуйте в уме
проиграть различные варианты будущего. Какие непредвиденные обстоятельства или подводные камни могут встретиться на пути внедрения новой
схемы?
Если программист решил ввести новый документ, попросите его объяснить,
можно ли модифицировать один из имеющихся документов.
Ðàáîòà ñ ïðîãðàììèñòîì
179
Êàê ïîíÿòü, ìîæåò ëè ïðîãðàììèñò
ñäåëàòü ïðîãðàììó
— Доктор, я смогу после операции играть
на скрипке?
— Да.
— Странно. Раньше я не мог играть.
Анекдот
Для компьютерных задач действует мнемоническое правило: если в компьютере есть исходные данные для решения задач, то программист сможет ее
выполнить.
Допустим, перечисленные задачи по плечу программисту:
связать Excel с 1С;
отправить письмо по электронной почте;
связать данные по продажам;
сделать выборку по документам;
исправить все цены на 10 копеек в каждом документе;
сделать отчет по цепочкам подчиненности документов;
добавить партионный учет по FIFO или LIFO;
выбрать любые данные из базы 1С (но не сделать выводы по ним).
А вот эти задачи программист выполнить не может (для решения этих задач
не хватит данных — они не формализированы).
Как сделать так, чтобы было все хорошо?
Почему филиал решил закупать именно эту продукцию?
выяснить, почему произошло изменение.
Запретить изменения прошлого периода (административная проблема).
Необходимость доработок возникает тогда, когда требуется решать специфические задачи. Например, такие, как учет агентов, учет просроченной
задолженности, расчет агентского вознаграждения, учет возвратной тары.
Для того чтобы определить специфичность вашей проблемы, обратитесь
в один из 1С-форумов, например, www.mista.ru, и почитайте, что вам ответят программисты.
180
Ãëàâà 5
Ãëàâà 6
Ïîñòàíîâêà çàäà÷
Çàäà÷è, êîòîðûå ìîæåò
ðåøèòü ïîëüçîâàòåëü
Все, что описано в этом разделе, относится к бухгалтерскому минимуму.
Однако для решения таких элементарных вопросов часто обращаются к 1Спрограммистам. Это не совсем правильно, поскольку программист решит
задачу по-своему, — с позиции здравого смысла и как конструктор базы
данных, а это, возможно, несколько упрощает подход. Кроме того, не каждый программист имеет бухгалтерское образование.
Пример претензии к программисту: "Я перевела деньги из кассы 1 в кассу 2,
а у меня остатки на одном счете удвоились. Уважаемый программист, наладьте программу". Решение описанной проблемы кроется не в программе,
и не в программисте, а в бухгалтере. Автор претензии формирует следующие
проводки:
Кассир № 1 формирует проводку на расход из своей кассы:
50{касса 2}/50{касса 1}.
Кассир № 2 формирует проводку на приход в свою кассу:
50{касса 2}/50{касса 1}.
Все верно с точки зрения формальной логики (есть первичный документ —
нужно его внести в базу данных), но неверно с точки зрения конечного результата — делаются две дублирующие проводки.
Возможно два варианта решения такой проблемы:
формировать одну проводку по двум документам (например, это можно
сделать, если убрать галочку формировать проводки в кассовом документе);
делать две проводки, но через счет-буфер:
57/50{касса 1}
50{касса 2}/57.
182
Ãëàâà 6
Счет 50 — касса, счет 57 — счет-буфер.
В большинстве описанных ниже задач возможно два или несколько решений (например, употребление проводки сторно или обратной проводки).
Какой вариант предпочтительнее — решать бухгалтеру.
Êàê óáðàòü "ïåðåñîðòèöó" ñ÷åòîâ?
Предположим, что в бухгалтерии ведется учет по многим субсчетам одного
счета, например:
60.1.1 — поставщики материалов,
60.1.2 — поставщики тары,
60.1.3 — поставщики топлива и т. д.
Теперь предположим, что один и тот же поставщик является поставщиком и
материалов, и тары. Тогда с течением времени между субсчетами образуется
пересортица, например такая:
Клиент А, счет-остаток:
60.1.1 — –100-00,
60.1.2 — +100-00,
60.1.3 — 0-00,
60.1.4 — 0-00.
Клиент ничего не должен, если делать анализ счета 60.1, и должен 100 р.,
если делать отчет по счету 60.1.2.
Первый вариант решения — сделать проводку:
60.1.1 / 60.1.2 / +100-00 (1).
Второй вариант — сделать две проводки:
00 / 60.1.2 / –100-00 (2),
00 / 60.1.1 / +100-00 (3).
Счет 00 является вспомогательным счетом. Этот счет используется для ввода
первоначальных остатков, например, чтобы указать первоначальный остаток по
счету 62, делается такая проводка: 62/00. Счет 00 широко используется при
свертывании базы данных (см. главу 1, раздел "Свертывание базы данных").
Этот вариант решения проблемы представляется более предпочтительным,
поскольку проводка (1) попадет в акт взаиморасчетов и увеличит обороты
Ïîñòàíîâêà çàäà÷
183
дебета и кредита, а проводки (2) и (3) не дадут увеличения дебетовой и кредитовой части баланса, в то же время сальдо по счету 60 останется неизменным.
Вышеописанная схема позволяет оставлять документы такими, какими они
были сформированы (то есть не исправлять первичные документы). Для
решения подобных проблем можно сделать обработку, которая создавала бы
одну консолидированную операцию.
Выбор варианта остается за бухгалтером. Программист может составить обработку, которая автоматически закроет все минусы за счет плюсов.
Êàê äåëàòü ïðîâîäêè, íå óâåëè÷èâàÿ
äåáåòîâûå è êðåäèòîâûå îáîðîòû
Этот вопрос является видоизмененным вопросом из предыдущего раздела.
Допустим, вы закрыли баланс и на счете 10 ("Материалы") был остаток 100 р.
На следующий день был перепроверен один из документов, списывающий
материалы по средней стоимости. В результате этого остаток на счете 10 изменился и стал равным 101 р., что привело к нарушению баланса. Что делать с разницей в один рубль? Нужно каким-то образом вернуть 100 р.
на место.
См. предыдущий раздел.
Бухгалтеры не всегда понимают, как проведение (перепроведение) документа может повлиять на баланс. Это можно объяснить на следующем примере.
Допустим, была использована следующая схема движения материала:
Сальдо на начало дня = 0 шт. на 0 руб.
01.01.05 (в 9.00). Операция прихода на 100 штук на сумму 100 руб.
(в 9.10). Операция расхода на 10 штук. Программа посчитает сумму списания = 10 рублей (100 рублей остатка / 100 штук остатка) = 1 руб. (остаток
90 штук на 90 руб.).
01.01.05 (в 15.00). Операция прихода 100 штук на сумму 150 руб.
Остаток на конец дня равен 190 штук на сумму 240 руб.
Перепроведем расходный документ в конец дня. Получим следующую схему.
Сальдо на начало дня = 0 шт. на 0 руб.
01.01.05 (в 9.00). Операция прихода на 100 штук на сумму 100 руб.
01.01.05 (в 15.00). Операция прихода 100 штук на сумму 150 руб.
184
Ãëàâà 6
(в 9.10) Операция расхода на 10 штук. На сумму 12,5 рублей. Программа посчитает сумму списания = 10 рублей (250 рублей остатка / 200 штук остатка) = 1.25 руб.
Остаток на конец дня будет равен 190 штук на сумму 237.50 руб.
Такая нехитрая манипуляция приводит к нарушению баланса. Рекомендация
может быть следующая: препроводить в конце месяца все документы.
Исправление можно внести следующими проводками:
31.01.03 / 20 / 10 / +1-00,
01.02.03 / 20 / 10 / –1-00.
Таким образом, вы сделали сумму такой, как вам было нужно, и "не сделали
изменений", восстановив правильную сумму счета.
Пользоваться или не пользоваться таким способом — решать вам. Ведь если
произошло изменение баланса, то затрагивается не один счет, а несколько,
следовательно, исправлять следует несколько счетов. Кроме того, в случае
изменений баланса следует выяснить их правомерность (в каком случае было верно, до изменения данных или после) и после этого привести баланс
в нужное состояние. Для выяснения сути ошибки требуется лишь сверить
текущие ведомости с выполненными ранее распечатками. Однако не всегда
бухгалтера делают распечатки, поэтому найти концы становится невозможно. Вот и приходится подгонять данные.
Чтобы не встречаться с ситуацией, когда после перепроведения документа
баланс нарушается, следует в конце месяца перепроводить все документы
и периодически (особенно перед этой операцией) делать архивы баз данных.
При возникновении сбоя следует развернуть ту базу данных, в которой было
"все хорошо", и сравнить распечатки с текущей базой данных. Как архивировать базу данных, см. в главе 1.
Îïåðàöèè, ïðîäëåííûå âî âðåìåíè
Под операцией, продленной во времени, будем понимать такую операцию,
которая начинается сегодня, а завершается через неопределенное время (но
точно не сегодня). Например, перечисляются деньги с одного расчетного
счета организации на другой.
Делать такую проводку:
01.01.04 / 51 {Расчетный счет Б} / 51 {Расчетный счет А} / 100-00
нельзя, поскольку деньги с расчетного счета "А" могут уйти сегодня, а поступить на расчетный счет "Б" только завтра. Кроме того, для каждого расчетного
счета заполняется свой документ банковской выписки, то есть вроде бы
должны составляться две операции на один расчетный счет с разными датами:
01.01.04 / 51 {Расчетный счет Б} / 51 {Расчетный счет А} / 100-00,
Ïîñòàíîâêà çàäà÷
185
02.01.04 / 51 {Расчетный счет Б} / 51 {Расчетный счет А} / 100-00.
Однако и эти проводки неверные, поскольку обороты по счетам завышаются в два раза.
Проблема продления операции во времени решается введением еще одного
счета, например счета 57 ("Переводы в пути"). Теперь все встает на свои
места:
01.01.04 / 57 / 51 {Расчетный счет А} / 100-00,
02.01.04 / 51 {Расчетный счет Б} / 57 / 100-00.
Распознать ситуацию, в которой нужно использовать счет, аналогичный
счету "Переводы в пути", можно, если, с одной стороны, проводка должна
быть одна, а с другой стороны, проводок должно быть две с разными датами.
Êàê õðàíèòü èíôîðìàöèþ
íà áóõãàëòåðñêèõ ñ÷åòàõ
Примером счета, который сохраняет информацию, является счет 01 (Основные средства), который хранит сумму основных средств. На счете 02 хранится сумма амортизации. Таким образом, сохраняется первоначальная информация о состоянии основных средств и информация об их изменениях
(амортизации). Разница между счетами — это текущее состояние объекта.
Казалось бы, можно было сделать проще и хранить первоначальную стоимость в карточке основного счета (для этих целей можно ввести соответствующий реквизит в элементе справочника основное средство), однако поколения бухгалтеров придумали самодокументирующуюся схему учета
основных средств при помощи бухгалтерских счетов. Способ хранения информации на счетах является более надежным по сравнению с хранением
информации в реквизитах справочника, поскольку реквизиты справочника
могут быть недокументированно изменены, что невозможно в случае изменения информации на бухгалтерских счетах.
Употреблять этот способ хранения информации можно при работе со ссудами. Например, сумму первоначальной ссуды хранить на одном счете, проценты, начисленные за пользование ссудой, на другом, а погашенную сумму
на третьем. В этом случае будет возможность в любой момент определить
сумму первоначальной ссуды, сумму начисленных и погашенных процентов,
сумму погашенной задолженности.
Êàê íàñòðîèòü àâòîìàòè÷åñêóþ
ïðîâåðêó ñ÷åòîâ
Этот вопрос является разновидностью предыдущего (как запоминать информацию на бухгалтерских счетах).
186
Ãëàâà 6
Допустим, вы грешите на работников, занимающихся взаиморасчетами, и
желаете получить железную уверенность в том, что любое несанкционированное изменение задолженности клиентов будет шито белыми нитками.
Возникает противоречие. Цифры должны (будут) изменяться в результате
вмешательства недобросовестных работников, и цифры не должны изменяться, поскольку каждое изменение в балансе влечет за собой длительные
разбирательства.
Решить проблему просто: нужно ввести в места возможных изменений счета, которые будут фиксировать все изменения. Допустим, была раньше проводка 62/51,
теперь следует ввести буферный счет.
Счет А/51 — пусть эту проводку делает человек.
62/счет А — пусть эту проводку делает специально спроектированный документ.
Допустим, с целью сохранения первоначальной информации о выручке, поступившей в кассу, можно реализовать следующую схему проводок:
О.1 {Клиент А} / 50 / 100-00 — проводка должна формироваться кассиром;
62 {Клиент А} / О.1 {Клиент А} / 100-00 — проводка должна делаться бухгалтером.
Счет О.1 следует предварительно ввести в План счетов (см. главу 1).
Теперь все несанкционированные изменения в закрытом периоде будут хорошо видны, поскольку их будет показывать простейший анализ счета О.1.
Внедрение подобных схем сделает поиск ошибок и преднамеренных изменений максимально упрощенным.
Сохраняющие информацию счета можно использовать для запоминания
сведений о том, делалась ли запись в книгу продаж. Для этого можно сделать все выплаты клиента предоплатными: они будут поступать на счет 62.2,
а после формирования книги продаж те выплаты, которые должны в нее
войти, сформируют проводку 62.1 / 62.2.
Данную схему проводок можно внедрить при помощи программиста.
Ïîñòàíîâêà çàäà÷
187
Êàê ìíîæåñòâî ïðåâðàòèòü â åäèíèöó
Допустим, при передаче в производство одна бутылка должна превратиться
в 500 гр. Сделать эту операцию можно следующими проводками.
10 {коньяк в граммах} / 10 {коньяк в бутылках} / 100-00 рублей / 1 бут.
Или:
10 {коньяк в граммах} / 10{коньяк в бутылках} / 100-00 рублей / 500 гр.
Но нам необходимо сделать –1 (минус один) шт. и +500 (плюс пятьсот) гр.
Противоречие будет разрешено, если использовать буферный счет, например счет 20.
Буферный счет (20) должен быть без количественного учета.
20 / 10 {коньяк в бутылках} / 100-00 рублей / 1 бут.
10 {коньяк в граммах} / 20 / 100-00 рублей / 500 гр.
Допустим, нужно сделать один продукт из двух материалов. Получается противоречие: проводка-получатель должна быть одна, а проводок, содержащих
компоненты — две. Даже записать такие проводки непросто.
43 {Продукт} / 10 {материал 1} / 10 шт.
43 {Продукт} / 10 {материал 2} / 15 шт.
Да, не получается. Выход прост — использовать счет-буфер, например, счет 20.
20 / 10 {материал 1} / 10 шт. / 20 руб.
20 / 10 {материал 2} / 15 шт. / 10 руб.
43 {продукт 1} / 20/ 1 шт. / 30 руб.
Буферный счет применяются, если на входе одно количество или единица
изменения, а на выходе — другое, например, на входе — штучные яйца, а на
выходе — яйца в граммах.
Обычно для изменения количества используются счета 20 ("Основное производство") и 16 ("Отклонения в стоимости МЦ").
Èñïîëüçîâàòü ñòîðíî
èëè îáðàòíóþ ïðîâîäêó?
Под сторно будем понимать проводку, сумма которой отрицательна:
счет А / счет В / — сумма.
188
Ãëàâà 6
Под обратной проводкой будем понимать такую проводку, сумма которой
положительна, а корреспондирующие счета поменяны местами:
счет В / счет A / + сумма.
Проводка счет А / счет В / + сумма идентична проводке счет В / счет A / —
сумма.
Отрицательная проводка может использоваться для того, чтобы не нагружать
дебетовую (кредитовую) часть баланса, например, когда нужно устранить
пересортицу между счетами.
Как быть в конкретном случае? Правильный ответ будет таким: обращаться
следует к законодательству.
Например, в письме от 24.11.2003 № 16-00-14/354 Минфин России разъяснил, как правильно отражать начисление и погашение реструктурированной
задолженности по уплате налогов. В частности, вся задолженность должна
числиться по кредиту счета 68. Погашение задолженности нужно отражать
по дебету счета 68 и кредиту счета 99. Если организации списывают задолженность по пеням, ее тоже следует отразить по дебету счета 68 и кредиту
счета 99. Если же реструктуризирована задолженность по налогу на прибыль, то с 1 января 2003 года, согласно ПБУ 18/02 она будет представлять
отложенное налоговое обязательство. По состоянию на 1 января 2003 года
такая задолженность должна быть перечислена с дебета счета 68 "Расчеты по
налогам и сборам" на кредит счета 77 "Отложенные налоговые обязательства". При погашении задолженностей осуществляется обратная проводка.
Источник: www.rnk.ru (официальный сайт журнала "Российский налоговый
курьер").
Насколько я представляю, не каждый бухгалтер понимает, когда следует
применять сторнирующие проводки. Вот что я нашел в Интернете.
Вопрос. Есть ли список обязательных проводок (т. е нужно делать только
сторно или только обратную), или я что-то путаю, и таких правил нет, можно делать как хочешь, только чтоб это не уменьшало налоговую базу. Когда
правомерна обратная проводка, а когда нужно делать сторно?
Ответ. За разъяснениями лучше всего обратиться к справочной системе
"Консультант плюс". В базе корреспонденции счетов есть примеры обратных проводок, например 68/62.2. При оформлении проводок по товарным
операциям может возникать конфликт с разрешенной корреспонденцией
счетов. Например, возврат бракованного товара поставщику регистрируется
передачей товара со склада, по которой должна быть сделана проводка между кредитом счета материальных ценностей и дебетом счета претензий. Однако правила бухгалтерского учета запрещают такую корреспонденцию и
требуют, чтобы была сделана обратная проводка-сторно.
Ïîñòàíîâêà çàäà÷
189
Ñõåìà îïåðàöèé îòãðóçêè ãîòîâîé ïðîäóêöèè
ïî ïðåäîïëàòå
Если поставка не покрывает полностью сумму предоплаты, то за предприятием остается частичная кредиторская задолженность и соответствующая
часть НДС не будет сторнирована.
Äëÿ ÷åãî íóæíà èíâåíòàðèçàöèÿ
Проведение актов сверки — это задача не программиста, а бухгалтерии или
торгового отдела. Однако я описываю этот раздел потому, что существует
мнение, что компьютер может сделать все. По мнению многих пользователей, компьютер самостоятельно может привести в соответствие реальные
остатки с теми, что хранятся в 1С. Это большое заблуждение. Компьютер не
избавляет пользователей от обычных бухгалтерских процедур, таких как
сверка с контрагентами или инвентаризация.
Как это ни странно, но иногда бухгалтера утверждают, что можно обойтись
без актов сверки, а все дело в работоспособности программы. Схожей болезнью страдают и руководители. Оно и понятно, ведь инвентаризация связана с прекращением хозяйственной деятельности предприятия. Остановка
приводит к снижению оборота и потере прибыли.
Как хорошо было бы, если бы можно было наводить порядок в базе данных без инвентаризаций. И это возможно, правда, для этого нужно лишь
научить компьютер получать, хранить и продавать товар. Однако чудес не
бывает.
Работники таких клиентов объясняют несоответствие реальных остатков
и отраженных в базе данных тем, что программное обеспечение работает
некорректно. На это можно заметить, что чем мутнее вода, тем легче в ней
ловить рыбку, то есть кому-то выгоден беспорядок.
Правильность работы компьютера проверяется очень просто: формируется
компьютерная распечатка (карточка счета или субконто) и сравнивается
с реальными документами или ранее сформированной распечаткой (однако
распечаток возмутители спокойствия не делают).
Сбои при отгрузке товаров могут быть на следующих уровнях:
на уровне программы (написан некорректный алгоритм);
на уровне оператора (выбит не тот товар);
на уровне кладовщика (отпущен не тот товар);
на уровне экспедитора (товар отпущен не тому клиенту);
на уровне поставщика (пересортица была допущена поставщиком товаров).
190
Ãëàâà 6
Программист может повлиять только на первый из пяти уровней.
Для сверки данных с поставщиками и покупателями составляются акты
сверки, а для сверки состояния материальных ценностей проводится инвентаризация. Инвентаризация приводит в соответствие учетное и реальное количество МЦ.
Очень сожалею, что данная информация не имеет никакого отношения
к 1С, однако, если вы думали, что компьютер (и программа 1С) всесильны,
ваше заблуждение рассеется.
В качестве примера, подтверждающего необходимость регулярных актов
сверки, приведу ситуацию, случившуюся у одного из клиентов. Директор
обнаружил несоответствие между данными покупателя и теми, что он ведет
для себя. В результате расследования было выяснено, что работник, принимавший деньги и выписывавший товар, мошенничал, подправляя документы. Чтобы исключить повторение обмана, директор принял решение каждый месяц проводить акты сверки с клиентами.
В случае, если акт по какому-либо из клиентов не предоставлялся, ответственный за работу с этим предприятием работник не получал зарплату.
Стоит отметить, что решение о порядке проведения актов сверки принималось на высшем руководящем уровне, а не на уровне программиста.
В некоторых предприятиях заведено правило: торговый агент при увольнении обязан подписать все акты сверки с обслуживаемыми им клиентами.
Другое правило гласит, что акты сверки должны составляться не реже двух
раз в год.
Если акты сверки с клиентами составляются редко, то велика вероятность
обнаружения мошенничества со стороны ответственного за обслуживание
долга работника предприятия.
Средства 1С могут помочь обнаружить факты мошенничества. Для этого
можно анализировать журналы программы. Как это делать, смотрите в разделе "Работа с Монитором" главы 1.
Èíâåíòàðèçàöèÿ îñòàòêîâ òîâàðîâ
С течением времени возникает несогласованность фактического состояния
системы с данными бухгалтерского учета. Это может быть связано с ошибками учета, кражами или пересортицей. Инвентаризация приводит в соответствие бухгалтерскую отчетность и фактическое состояние. Урегулирование остатков осуществляется путем приходования излишков и списанием
недостачи.
Когда требуется сделать инвентаризацию, необходимо выполнить две управленческие задачи: с одной стороны, следует начать "новую жизнь", оприходовав правильные остатки, а с другой стороны, обеспечить процесс урегулирования пересортицы и возможных ошибок учета.
Ïîñòàíîâêà çàäà÷
191
Чтобы отделить "прошлую" жизнь от "будущей", достаточно ввести новый
склад. Допустим, требуется провести инвентаризацию по группе "Косметика". Для этой цели можно создать склад "Склад новой косметики", на который следует оприходовать выявленное количество товара. "Прошлые" количества останутся на старом складе. Выписка новых документов теперь будет
вестись с нового склада, а урегулирование остатков: определение пересортицы излишков и недостачи — на старом. Такая схема проведения инвентаризации избавляет от риска, что урегулирование пересортицы в периоде до
проведения инвентаризации разрушит остатки после инвентаризации. Кроме этого, такая схема позволяет производить продажи сразу после проведения инвентаризации, не задаваясь вопросом, была ли выписана расходная
накладная до инвентаризации или после нее.
Ïðèìåðû ïîñòàíîâêè
çàäà÷ ïðîãðàììèñòó
Êàê îïðåäåëèòü ïîñëåäíèå
íåçàêðûòûå íàêëàäíûå
Данное решение задачи о незакрытых накладных расходится с установленным
по умолчанию способом расчета в 1С:Бухгалтерия. Там задолженность рассчитывается по клиентам, в разрезе договоров. Хорошо, если договоры аккуратно
закрываются. Если нет, то пользоваться стандартными отчетами становится
затруднительно. По одним договорам идут переплаты, по другим долг, поэтому
приходится конструировать другие отчеты. Слышу возгласы: "Так нельзя! В 1С
все правильно сделано. Своими советами, Вы, уважаемый программист, только
усугубляете ситуацию". Я соглашаюсь с вами. Описанный ниже способ решения проблемы является компромиссом между хаосом и порядком, когда у бухгалтера нет возможности (времени) создать порядок из хаоса. Порядок (видимость порядка) необходим для принятия простых управленческих решений.
Итак, постановка задачи: "Определить последние незакрытые накладные".
Определить хронологически последние незакрытые накладные гораздо
проще, чем вы могли бы подумать. Я оценил бы стоимость этой работы
в 1–2 часа работы программиста.
Программа должна работать так:
1. Определить остаток текущей задолженности.
2. Выбрать в обратной последовательности накладные на сумму текущей
задолженности.
192
Ãëàâà 6
Например, сумма задолженности составляет 1000 р. Составляем список расходных накладных в обратном порядке. Первым в списке идет последний
отгруженный документ, затем — предпоследний и т. д., например:
01.01.04, док. № 1100, 300-00,
14.12.04, док. № 1060, 400-00,
21.11.04, док. № 1005, 500-00,
01.01.05, док. № 1001, 800-00.
Выбираем из списка документы на сумму задолженности:
01.01.04, док. № 1100, 300-00,
14.12.04, док. № 1060, 400-00,
21.11.04, док. № 1020, 300-00.
Для определения просроченной задолженности следует убрать из списка все
накладные, выписанные раньше установленной даты. Например, если требуется определить все просроченные накладные, выписанные до 01.01.05, то
получится следующий список:
14.12.04, док. № 1060, 400-00,
21.11.04, док. № 1020, 300-00.
После того как вышеуказанный алгоритм был внедрен в агентских структурах моих клиентов, проблема задолженности агентов для меня перестала
существовать. До этого каждый раз при смене состава агентов приходилось
объяснять, что переплаты по накладным — это не ошибка программиста,
а результат "правильной разноски оплат" бухгалтеров.
Можно усложнить алгоритм и рассчитать последние незакрытые накладные
с учетом привязки оплаты.
Алгоритм на шаге (2) дополняется анализом подчиненных документов. Если
накладная закрыта, то она исключается из списка.
Расчет затрат времени на программирование приведенного выше отчета.
Программа состоит из следующих блоков:
1. Составление таблицы задолженности.
2. Составление таблицы задолженности с учетом оплат.
3. Конструирование блока перебора подчиненных документов.
4. Отладка интерфейса.
Оценю каждый блок программы в один час (оценка дана условно, с 50%
запасом). Для того чтобы получить стоимость отчета, умножьте почасовую
ставку программиста на 4 часа (3–5 часов).
Ïîñòàíîâêà çàäà÷
193
Ó÷åò òîâàðà â ïóòè
Бухгалтерский учет регистрирует только тот товар, который перешел в пользование, то есть когда товар приходуется на складе (проводка 41/60). В то же
время, у предприятия есть часть товара в пути и предоплаченные отгрузки
(60/51).
Возникает вопрос: как учитывать товар, находящийся в пути, и соответствие
его стоимости осуществленной предоплате.
Ðåøåíèå 1
Ввести в структуру документов еще один документ — аналог приходной накладной. Этот документ не будет делать проводок. Учет оплат будет вестись
в специальном окне. Когда товар поступит на склад, документ будет удаляться.
Решение хорошее, его легко организовать, но имеет некоторые недостатки.
А что если оператор забудет удалить "товар в пути"?
А что если в "специальном окошке" будет написана не та сумма?
Ðåøåíèå 1.1
Попробуем улучшить решение — объединим документ "товар в пути" с документом "приходная накладная". Пусть статус документа (товар в пути или
приходная накладная) определяется переключателем. Если он включен, то
товар, записанный в документе, отражает состояние "товар в пути". Таким
образом, когда товар приходит на склад, не нужно удалять документ "товар
в пути" и вводить новый. Убрал признак накладной и все.
Теперь нужно подумать, как будет определяться сумма товара в пути по определенному поставщику.
Напрашиваются следующие решения.
Составить отчет, который будет просматривать все документы с галочками, и группировать документы по поставщикам.
Запрограммировать документ так, чтобы он делал проводки в разрезе поставщиков. Какой счет выбрать? Балансовый счет выбрать не получится,
иначе товар в пути войдет в баланс, следовательно, нужно выбрать забалансовый счет.
Лучшим является решение с забалансовым счетом — оно дает больше гибкости при формировании отчетов, например, оборотно-сальдовой ведомости. Можно внести в план счетов новый забалансовый счет, например, счет
"ТП", а можно использовать уже имеющийся с такой же структурой. Нужный счет похож на счет 002.1 {контрагент}{товар}{склад}.
194
Ãëàâà 6
Второй вариант решения более предпочтителен, поскольку позволяет гибко
формировать отчеты, используя уже имеющиеся в распоряжении бухгалтера
(оборотно-сальдовую ведомость).
Ðåøåíèå 2
Не нужно ничего переделывать. Следует проанализировать, каким образом
формируются проводки на счете 002. Товар на счете 002 учитывается, если
поставить признак в товаре (товар на комиссии).
Таким образом, товар в пути можно оприходовать приходной накладной, но
при этом выбирать товар не из основного справочника, а специально введенный для этого товар с признаком "товар на комиссии".
Такое решение будет наиболее красивым, поскольку позволяет сэкономить
на программисте, а решение получается за пять минут рассуждений.
Расчет трудоемкости проблемы.
Решение 1.1 требует 5–10 часов работы программиста.
Решение 1.2 требует 1 час работы программиста.
Решение 2 не требует вмешательства программиста.
Ðåêîìåíäàöèè ïî íàõîæäåíèþ
êðàñèâîãî ðåøåíèÿ
Смелее используйте забалансовые счета.
Перед решением проблемы зарисуйте схему в виде графа (как составлять
графы см. в главе 4 ). Подумайте, каким образом можно экономить на нововведениях, на что похожа ваша проблема.
Если решено вводить новый документ, то можно ли использовать уже
имеющийся документ. Если решено вводить новый счет, то можно ли обойтись существующим планом счетов.
Ïðîäîëæåíèå çàäà÷è "Ó÷åò òîâàðà â ïóòè"
Как определить сумму фактической переплаты поставщику с учетом текущей задолженности, предоплаты и учета товаров в пути.
Ðåøåíèå 1
Нужно написать отчет, который будет выбирать все приходные накладные,
помеченные галочками (для варианта 1) или в которых стоит товар с признаком "товар на комиссии".
Ïîñòàíîâêà çàäà÷
195
После этого следует составить таблицу "Клиент — сумма товара в пути"
и вычесть из остатков счета 60 сумму товаров в пути для каждого клиента.
С написанием первой части отчета может справится любой новичок, работа занимает 15 минут. Для написания второго отчета требуются специальные знания.
Написание такого отчета я бы оценил в 1–2 часа работы программиста.
Ðåøåíèå 2
Задолженность перед поставщиком можно определить по формуле:
задолженность = СКК60 – СКК002.2.
(Сумма задолженности равна сальдо конечному кредитовому по счету 60 за
минусом сальдо конечному кредитовому по счету 002.2.)
Для написания такого отчета не требуется специальных программистских
знаний. На это потребуется 30 минут.
Ïðèìåð ñëîæíîãî íà âèä,
íî ïðîñòîãî ðåøåíèÿ
Как узнать, сколько материалов ушло от одного подотчетного лица на другое. Отчет "оборотно-сальдовая ведомость по счету 10" не годится, поскольку его нужно еще отфильтровать по получателю.
Âàðèàíò ðåøåíèÿ 1
Написать отчет, который бы анализировал проводки.
Âàðèàíò ðåøåíèÿ 2
Изучить работу отчета "обороты между субконто".
Ñâåäåíèå ñõåì ê ñòàíäàðòíûì è ïðîñòûì
Бывает так, что бухгалтера не знают, как они работают. Работники сменяют
друг друга, и некогда данные им инструкции теряют первоначальный смысл.
Часть инструкций забывается, а работа ведется как получится. Часть бухгалтеров могут объяснить, что они делают и что им нужно делать, но не могут
объяснить, как их работа соотносится с работой других.
Приведу в качестве примера диалог бухгалтера с программистом.
Программист: Как Ваша программа считает себестоимость?
Бухгалтер: Не знаю. Себестоимость считает плановый отдел.
196
Ãëàâà 6
Программист: Хорошо, а не могли бы Вы объяснить, какими этапами из
приведенной схемы (62 < 43 < 20 < 10 < 60) Вы занимаетесь?
Бухгалтер: У нас не такая схема. У нас вот такая схема:
20 < 10 (производство) < 16 < 10 (сырье) < 60.
Программист: Хорошо, а что идет после счета 20?
Бухгалтер: Не знаю.
Программист: А зачем вам нужен счет 16?
Бухгалтер: Дело в том, что на складе сырья продукция хранится в виде материала, а на складе готовой продукции — в литрах.
Программист: А почему вы не делаете проводки 43 < 20 < 10?
Бухгалтер: Я не могу делать такие проводки, потому что вся продукция
у меня учитывается в литрах (!).
Вот такой получился разговор. Вы что-нибудь поняли? Я нет.
Дело в том, что после внедрения программы поменялось несколько бухгалтеров. Схема превратилась в шаманское заклинание. А суть в том, что часть
материальных ценностей меняла статус с материала на полуфабрикат.
Стандартная схема превращения материала в готовую продукцию предлагает
делать следующие проводки: 43 < 20 < 10. Ее и следует внедрять.
"Âîðóþò, à ãäå — íå ïîéìó"
Как вам такая постановка задачи? "Воруют, а где — не пойму". Ответить на
такой вопрос в лоб невозможно. Сначала следует составить схему движения
материальных ценностей, потом определить места возможного воровства
и наконец наладить контроль и учет.
Предприятие развивается стихийно, многие управленческие решения вводятся административным методом, например, запрет изменения документов.
В то время, как всем известно, что документы везде переделываются. Возникает противоречие — изменение документов задним числом запрещено,
следовательно, учет изменений не ведется. Поэтому изменения в документах
задним числом делаются как попало.
Неудивительно, что многие этапы производства уходят из-под контроля и
ускользают от анализа. Удивительно другое, как ответственные за учет хозяйственного процесса работники не видят решения.
Приведу схему движения информации и товара для одного из оптовиков
(рис. 6.1).
Проанализируем схему на участке, где товар передается от кладовщика
к экспедитору. Экспедитор доставляет товар получателю. Получатель делает
правку в первичных документах или отказывается принять часть товара.
Ïîñòàíîâêà çàäà÷
197
Ðèñ. 6.1
В расходных накладных при этом делается правка. Экспедитор привозит
исправленные документы в офис и отдает для исправления. Вопрос: "Куда
делась разница между товаром, отданным экспедитору и принятым контрагентом?
Возможны варианты:
списана
потерялась
возвращена кладовщику
присвоена экспедитором
Вижу улыбки на лицах бухгалтеров — у них все учтено. Подумаешь, не учел
кладовщик — потом заплатит. Такой подход перекладывает решение проблемы с больной головы на здоровую. Но факт остается фактом, данная
проблема толком не решается.
Неопределенность ситуации возрастает, если кладовщик и экспедитор не
могут сразу прийти к соглашению, возвращается товар на склад или остается на подотчете экспедитора. С другой стороны, все поступившие на правку
документы должны быть изменены в течение ограниченного времени.
Представьте ситуацию — в компьютере документ исправлен (то есть товар
возвращен от экспедитора кладовщику). Это делается для того, чтобы покупателю отдать исправленный документ. Но, с другой стороны, согласие между экспедитором и кладовщиком, за чей счет будет погашаться недостача
или брак, не достигнуто. Лучшей ситуации для злоупотребления не найти.
Пройдет время, и экспедитор уволится, а о зависшем на нем долге забудут.
Программисту поручают разобраться и решить проблему. Программист запрещает редактирование документов. Но потом все возвращается на свои
места, поскольку документы не могут не изменяться — раз была правка,
значит, нужно исправить первичный документ. Потом программист вводит
дополнительную колонку в форму документа реализации, в которую заносят
198
Ãëàâà 6
информацию о разнице в количестве между товаром отписанным и реально
отданным. Потом от нововведения отказываются под предлогом, что заполнять колонку неудобно.
Введение двух колонок имеет недостаток — оператор, который правит документ, может "случайно" изменить количество первоначального товара и тем
самым повесить недостачу на кладовщика. Найти случайное вмешательство
оператора будет практически невозможно.
Создаются комиссии, определяющие правомерность правки. Потом комиссии расформировываются, показав свою несостоятельность — через них товар списывается без разбирательств.
Делается еще несколько бесплодных попыток нормализации ситуации, потом директор издает приказ о запрете правок документов, но и этот приказ
не исполняется.
Давайте определим, в чем суть проблемы? Проблема кроется в неверной постановке задачи! Если переформулировать задачу, то, возможно, найдется
другое решение. Напомню, что первоначально задача звучала следующим
образом: "Куда делась разница между товаром, отданным экспедитору и
принятым контрагентом?
Переформулируем задачу так: "Как учесть разницу между товаром, отданным экспедитору и принятым контрагентом?" Новая постановка задачи наводит на мысль, что нужно применить для ее решения бухгалтерский подход
(употребляется ключевое слово "учитывать").
Рассмотрим объект "Экспедитор" с бухгалтерской точки зрения. Может ли
он иметь начальный остаток, дебетовый, кредитовый оборот и конечный
остаток, какие первичные документы отражают его деятельность. Документы оставим на потом, а сейчас обратим внимание, что объект "Экспедитор"
может иметь остатки и имеет обороты — следовательно, для его учета может
использоваться один из бухгалтерских счетов, например счет 41.1.
Пожалуйста, честно отвечайте на вопрос "Есть ли остаток у экспедитора?" Ответ: "Остатков у экспедитора не может быть — это запрещено приказом" не годится, такой ответ должен действовать на экспедитора, но не на бухгалтера.
Если остаток может быть, значит его нужно учесть.
Îïèñàíèå ìåðîïðèÿòèé
ïî âåäåíèþ ñêëàäà "Ýêñïåäèòîð"
Итак, вводится учет на счете 41.1 по месту хранения (складу) "Экспедитор".
Рассмотрим один из вариантов того, как можно переформировать учет документов.
Ïîñòàíîâêà çàäà÷
199
Этап 1. Определить список накладных, которые кладовщик передал экспедитору.
Этап 2. Сформировать перемещение со склада-источника на склад "Экспедитор" по номенклатуре, определенной на первом этапе.
Этап 3. В расходных накладных переименовать склад-источник на склад
"Экспедитор".
Вот такая схема была раньше (рис. 6.2).
Ðèñ. 6.2
Вот такая схема будет после нововведений (рис. 6.3).
Ðèñ. 6.3
В схему введен еще один узел. Когда вводить новые узлы (бухгалтерские
счета), см. в разделе "Задачи, которые может решить пользователь".
Теперь разница между товаром, отданным экспедитору, и результатом правок будет находиться на складе "Экспедитор". В качестве завершающего
штриха к схеме следует определить бухгалтера, в обязанности которого будет
входить, кроме всего прочего, ведение склада "Экспедитор".
Бухгалтер будет заниматься ведением склада "Экспедитор" и разбираться
с остатками на этом складе.
200
Ãëàâà 6
Сделать программу для описанного выше процесса гораздо проще, чем это
кажется на первый взгляд (посоветуйтесь по этому поводу со своим программистом).
Если экспедитора определять как склад, то к нему, как к складу, можно
применять любые из операций:
списание
перемещение
выписка расходной накладной
Теперь кладовщик главного склада будет иметь железную уверенность, что,
когда он расписался в выдаче товара, больше никто не сможет изменить его
количество.
Êàê ðåøàòü ïðîáëåìó
"Âîðóþò, à ãäå — íå ïîéìó?"
Зарисуйте схему хозяйственных операций на текущий момент (например,
схема может выглядеть, как на рис. 6.1).
Попробуйте нарисовать схему по-другому, например, исходя из движения
документов при выдаче товара (рис. 6.4).
Ðèñ. 6.4
Можно взять за основу бухгалтерские проводки (см. рис. 6.2) или места нахождения товара.
Подумайте, какая из схем наиболее точно отражает суть проблемы (в данном случае — определение ответственного за возвращенный товар). Я думаю,
что это бухгалтерская схема движения материальных ценностей (рис. 6.2). Остальные схемы запутаны и не дают ясного представления о сути проблемы.
На схеме изображено взаимодействие двух материально-ответственных лиц
(кладовщика и покупателя), в то время как на самом деле их трое (кладовщик, экспедитор и покупатель).
Ïîñòàíîâêà çàäà÷
201
Ðèñ. 6.5
На следующем этапе следует выявить лишние или недостающие узлы в схеме (рис. 6.5). Для этого необходимо определить материально-ответственных
лиц и лиц, которые работают с несколькими формами материальных ценностей (деньги, товары, дебиторская задолженность).
Далее следует перерисовать схему хозяйственных операций с учетом предполагаемых изменений. В нашем случае ответ получается очевидным —
каждое материально-ответственное лицо — отдельный узел (рис. 6.6).
Ðèñ. 6.6
Следующий этап — определение бухгалтерского отражения процесса.
Êàêîå îòíîøåíèå òåìà âîðîâñòâà
èìååò ê ïðîãðàììå 1Ñ?
1С-программистов приглашают решать проблемы с базой данных. Говорят,
что было все хорошо, и вдруг кто-то изменил данные (вдруг, ни с того ни
сего, уменьшились или увеличились остатки товара, возникла пересортица).
При этом сами работники не проводят никаких действий по поиску причин
и их устранению. Программист ищет причину и находит ее в лице недобросовестных работников, которые самовольно меняли данные в базе. Как так
получилось? Дело в том, что, несмотря на возможности закрыть информацию в базе данных, изменить ее все же можно (впрочем, точно так же, как и
на бумажных носителях). А изменить данные в закрытом периоде очень
202
Ãëàâà 6
просто. Допустим, вспомнили о том, что должна была пройти корректировка в документе, открыли закрытый период для правки, а исправили не один
документ, как предполагалось, а несколько. По прошествии времени найти
причину изменений невозможно.
Íåêîòîðûå ëàçåéêè äëÿ âîðîâñòâà
Ñîâìåùåíèå äîëæíîñòåé
Каждый работник, который связан одновременно с наличными деньгами и
товаром, — потенциальный вор. Ничего не стоит такому работнику изменить приходный товарный документ и изъять часть денег из кассы. Чтобы
этого не допустить, обычно должность кассира и кладовщика занимают два
разных человека. Если у вас кладовщик принимает деньги за товар — ждите
неожиданностей.
Попробуйте развести операции, относящиеся к разным бухгалтерским счетам, как можно дальше относительно работников. Пусть приход товара учитывает один работник, а расход другой (ведь ничего не мешает такому работнику занизить количество поступления товара, оставив прежнюю сумму,
и изменить количество расхода, не изменяя при этом его суммы). Пусть товар отпускает один работник, а деньги принимает другой. Слышу возмущенные возгласы читателей: "Автор рекомендует раздуть штат работников".
Совсем не на это я хочу обратить внимание (о снижении издержек уже много написано) — некоторое количество случаев воровства связано с тем, что
работник одновременно работает с приходом и расходом без учета оборотов
или работает одновременно с деньгами и товаром.
Ïîèñê èäåàëüíîé ïðîãðàììû
В случае поиска идеальной программы работает следующее мнемоническое
правило. Если работник говорит, что программа считает неверно, но при
этом не выполняет элементарных возложенных на него функций и не проверяет оборотные ведомости, а ссылается на то, что это работа программиста, то я бы дал 99% за то, что тот, кто громче всех кричит "держите вора" —
сам вор. Программа не может считать неверно. 2 + 2 = 4. Конечно, бывает,
что 2 + 2 = 5. Но это происходит в одном случае из миллиона (о том, как
решать проблемы сбоя базы данных, читайте в разделе "Тестирование и исправление базы данных" главы 1 ).
Ïîäìåíà ïîíÿòèé
Это модифицированная проблема, описанная в предыдущих разделах — суть
ее в подмене понятий. Проблема поиска вора подменяется проблемой поиска ответа на вопрос "почему программа работает неверно?"
Ïîñòàíîâêà çàäà÷
203
К сожалению, стоит отметить, что искать несанкционированный доступ
к базе данных бывает очень трудно и даже почти невозможно. При изменении остатков налицо сбой в программе, который должен устранить программист. С другой стороны, доказательство работоспособности программы
для программиста — тяжелое дело. Например, 1С регистрирует в журнале
событий следующие операции с документами:
открытие
закрытие
проведение
Было ли проведение документа санкционировано, не известно. Можно, конечно, регистрировать все события в базе данных, например, удаление строки из накладной, или изменение количества, но было ли это изменение
санкционированным или нет, без сравнения с первичными документами не
скажешь.
Как определить, какой пользователь, когда и какие операции производил
над документом, читайте в разделе "Журнал регистрации" главы 1.
Приведу примерный диалог между программистом и работником торгового
отдела:
— У нас опять изменились остатки в базе данных.
— По каким позициям?
— Да по всем!
— Ну, например?
— Сколько это может продолжаться? Остатки в базе данных постоянно меняются. (Собеседник уходит от ответа.)
— Так можно назвать хотя бы одну позицию, по которой база данных дала
сбой?
— Ну, например, "Товар а123" (с большой неохотой).
— А оборотные ведомости из сегодняшней и архивированной базы данных
Вы проверяли?
— Я вчера смотрела, и все было хорошо, а сегодня все плохо (собеседник
опять уходит в сторону).
— Так проверяли или нет?
— Я вчера смотрела, и все было хорошо, а сегодня все плохо (собеседник
уходит в сторону — он поглощен своими мыслями).
— Хорошо, я сравню сам и о результатах доложу директору.
Программист раскрывает архивированную базу за вчерашний день (архивная
копия на этом предприятии делается ежедневно — это просто спасительный
плот для администратора базы данных, не будь архива, виноватым остался
204
Ãëàâà 6
бы программист и 1С). Делает документальные ведомости движения товара.
Находит разницу и предоставляет оператору и директору (на все действия
уходит 30 минут). Оператор смотрит на распечатки и восклицает: "Ой! Вот
эта позиция была исправлена по документу рн00145. Все правильно. Значит,
и те исправления были верны".
Комментарий
А кто сказал, что все остальные изменения верны? А кто сказал, что изменение, на которое указал оператор, было верно, а не являлось частью его замыслов. А какие организационные меры были приняты по факту перекладывания
проблемы с больной головы на здоровую? И почему оператор не выполняет
своих непосредственных функций?
Ðàáîòà ñî ñêèäêàìè
Допустим, оператор сделал 100 продаж по 1000 рублей. Потом объединил их
в одну, а предыдущие документы удалил. Получилась одна продажа на
1 000 000 рублей, а с такой суммы полагается скидка в 5%. Куда делась
скидка на 5000 рублей? Ответ прост — она осела в кармане оператора.
Как быть? Пробивать все продажи на кассовую ленту. Посылать к продавцам провокаторов и делать случайные сверки остатка в кассе с реально пробитой суммой.
Âîçìîæíîñòü èçìåíÿòü äîêóìåíòû
çàäíèì ÷èñëîì
Изменение документов задним числом — клондайк для воров и головная
боль для программистов и администраторов. Вдруг, ни с того ни сего, начинают меняться остатки. Граница последовательности вдруг отодвигается на
два месяца назад. В партиях товара возникают отрицательные количества.
Налицо сбой в программе. Ужас. Работники без конца повторяют: "Плохая
программа. Ничего не работает".
В борьбе с этими явлениями неоценимыми помощниками являются архивы
баз данных, сделанные в предыдущие дни. Нужно лишь сравнить две базы — текущую и архивную. Стоит отметить, что такая работа очень далека
от программирования и занимает массу времени. Поэтому лучше, если на
предприятии есть администратор базы данных, который при возникновении
решает подобные проблемы. Для выполнения таких функций достаточно
уровня оператора.
Гораздо хуже другая ситуация, когда не обращаются к программисту, а пускают ситуацию на самотек и вспоминают про изменения, когда становится
ясно — работник ушел со скандалом и при этом украл.
Ïîñòàíîâêà çàäà÷
205
Èñïîëüçîâàíèå èíôîðìàöèè áàçû äàííûõ
äëÿ ïðîäàæè êîíêóðåíòàì
Кстати, самое первое лицо на подозрение в воровстве — это программист.
Программист знает ситуацию лучше всякого бухгалтера и может замести
следы так, что никто не обнаружит.
В оправдание программиста могу заметить, что честность для него — лучшая
альтернатива по сравнению с воровством, поскольку для воровства нужно
вступать в сговор с третьими лицами, а это рано или поздно вскрывается.
Êðàæà ïî ïîäëîæíûì äîêóìåíòàì
Кроме того, существует и другой инструмент для воровства — подложные
документы. Выписал документ, но не стал забирать товар со склада. Продублировал документ дома на копировальной технике и получил товар. Вы
думаете, что это невозможно? Зря.
Выход может быть один — установка компьютера на складе и сверка каждой
накладной по сумме и количеству кладовщиком. После того как документ
проверен, кладовщик подписывает (ставит соответствующую галочку в документе) и тем самым запрещает доступ к документу других лиц.
Кстати, на складе не обязательно должен стоять компьютер последней модели, годится и самый маломощный.
Еще раз хочу повторить, что все подобные скандалы так или иначе касаются
1С — гибкие возможности программы могут приносить разрушительные последствия. Помните об этом.
×åì ãðîçèò èçìåíåíèå â áàçå äàííûõ
Итак, проведено разбирательство, и оказывается, что виновата не программа, не компьютер и не программист, а работник — вор. Вора увольняют,
заводят на него уголовное дело, которое закрывается за невозможностью
доказать преступление. Работу 1С-программисту оплачивают.
Все остается на своих местах до появления нового вора.
Ìåðû ïî ïðåäîòâðàùåíèþ êðàæ
Êàê ïðåäîòâðàòèòü êðàæè îïåðàòîðîì
Оператор должен иметь возможность только внесения документов. Без проведения документ не должен печататься, а после распечатки документ не
должен корректироваться. При этом корректировка и возможная переделка
206
Ãëàâà 6
в документах должна производиться операциями сторно и дополнительными
накладными.
Изменение документов — один из способов кражи. Допустим: выписал
100 единиц товара и распечатал. Потом вошел в документ и поменял на 10.
Эта запись и осталась в базе данных, а кладовщик выдал 100 штук.
Ввести ограничение прав очень просто. Достаточно в интерфейсе прав конфигуратора убрать галочку Изменение проведенных документов. Если документ должен быть аннулирован, то или должна делаться операция сторно
или удалением документа (для уменьшения возможности сговора) должен
заниматься третий работник.
Çàïðåòèòåëüíûõ ìåð íåäîñòàòî÷íî
Можно запретить проводить документы задним числом. Можно урезать интерфейсы (см. главу 1). Можно поставить каждому пользователю пароль. Но
это не решит проблемы в случае серьезного и продуманного вмешательства.
Тогда запретительные меры не помогут.
Программист сможет разобраться с тем, кто изменил документ, если ему
покажут, какой документ конкретно был изменен, а для этого необходимы
реестры документов и копии баз данных.
А чтобы копии баз данных были, их нужно делать каждый день. Ничего
страшного, если копии и архивы занимают много места — их можно размещать на дешевых CD.
Как продублировать базу данных, читайте в главе 1.
Для того чтобы настроить ежедневное архивирование базы данных, обратитесь к программисту.
Журнал работы — простейшее средство для мониторинга базы данных. Как
с ним работать, читайте в главе 1.
Êðåäèò äîâåðèÿ ê ïðîãðàììå —
ìîùíåéøèé èíñòðóìåíò äëÿ ïîèñêà âîðîâ
Можно встретиться с некомпетентным мнением бухгалтеров и управляющих: "программа плохо считает, поэтому давайте купим программу другого
производителя". На это можно возразить, что нужно искать прежде всего не
программу, а лазейки в учете.
До сих пор живо и такое мнение: "программа позволяет воровать, в то время
как при ручной обработке данных воровства не было, поэтому следует найти
идеальную программу, которая не допускала бы краж". Это видоизмененное
предыдущее утверждение. Дело в том, что при ручной обработке данных не
было возможности получать обширные аналитические отчеты, как это можно
Ïîñòàíîâêà çàäà÷
207
сделать в компьютеризированном учете, поэтому скрыть иглу в стоге сена
было проще.
Во всех сбоях и других смертных грехах всегда виноваты или компьютеры,
или программы, или программисты.
Все это не добавляет веса столь необходимому кредиту доверия к программе, что приводит к поиску проблемы там, где ее нет.
Для увеличения кредита доверия к программе, программисту следует держать конфигурацию как можно ближе к стандартной. Старайтесь как можно
меньше вносить изменений в стандартную схему.
С другой стороны, следует работать с программистами, которые имеют серьезный опыт программирования (см. главу 5).
Àêòû ñâåðêè êàê ñðåäñòâî
îáíàðóæåíèÿ êðàæ
Торговый агент получил деньги, но не донес их до кассы. Потом уволился.
Выявлять такие случаи проще всего с помощью актов сверки.
Подробнее об актах сверки написано в разделе "Простые задачи, выполняемые
без вмешательства программиста".
208
Ãëàâà 6
Ãëàâà 7
Óïðàâëåíèå ðàñïðåäåëåííûìè
áàçàìè äàííûõ
Компонента "Управление распределенными базами данных (УРБД)" является дополнением к платформе 1С:Предприятие и позволяет синхронизировать идентичные по структуре базы данных. Использование компоненты не
требует дополнительной настройки и конфигурирования. УРБД позволяет
объединить данные территориально удаленных подразделений, например,
центрального офиса, магазинов и складов.
Распределенная информационная база состоит из центральной информационной базы, которая устанавливается в центральном офисе и произвольного
числа периферийных информационных баз, которые устанавливаются в удаленных подразделениях (под удаленным подразделением понимается такое
подразделение или рабочее место, которое не включено в центральную базу
данных).
Все изменения данных система отслеживает автоматически и передает их
в соответствии с описанными правилами синхронизации. Передача изменений производится периодически посредством файла переноса данных.
Транспортировка файлов переноса может осуществляться на любых информационных носителях: на дискете, посредством электронной почты.
Характеристики работы УРБД.
Ведение неограниченного количества автономно работающих информационных баз.
Все базы данных должны иметь идентичную структуру (md-файл).
При изменении структуры центральной базы данных md-файл должен
переноситься во все периферийные базы.
Обмен данными возможен только через центральную базу данных.
Полная или выборочная синхронизация данных.
Произвольный порядок и способ передачи и обмена данными.
Обмен периферийных баз между собой невозможен.
210
Ãëàâà 7
При работе с УРБД изменение конфигурации и состава распределенной базы данных (РБД) может производиться только на центральной точке. Измененная конфигурация через систему обмена данными будет перенесена на
периферийные точки.
Изменения данных (ввод и модификация документов, работа со справочниками и т. д.) могут производиться в любой точке распределенной информационной базы. При изменении в центральной информационной базе самой
конфигурации системы в процессе переноса данных происходит также реструктуризация данных во всех периферийных информационных базах. Периферийные базы, участвующие в процессе обмена данными, должны быть
созданы на основе центральной информационной базы.
Существует возможность определения для периферийной информационной
базы признака "Только получатель". В этом случае будет выполняться только
перенос данных в периферийную информационную базу, а обратный перенос данных (из этой информационной базы в центральную) выполняться не
будет. Периферийные информационные базы с признаком "Только получатель" используются для поддержания в актуальном состоянии копии центральной информационной базы, с возможностью внесения в нее любых
изменений.
Перенос данных между базами происходит "пообъектно", (документами,
элементами справочников, бухгалтерскими операциями). Каждая информационная база автоматически ведет внутренний список изменений "ведущих"
объектов, постоянно пополняя его. В выгружаемый файл также помещается
информация о загруженных изменениях объектов. При загрузке информационная база определяет, какие изменения приняты ее корреспондентом,
и удаляет их из списка изменений.
При конфигурировании системы для различных видов объектов может быть
определена область миграции: указаны те информационные базы, в которые
должны попадать конкретные экземпляры объектов данного вида в зависимости от места их создания. Например, документы могут иметь признак миграции "Место создания и центр", что позволит получать консолидированную отчетность в центральной базе и избежать возможности переноса
документов из центральной базы в периферийную.
Реализация механизма передачи данных между информационными базами
обеспечивает корректную синхронизацию информационных баз в случаях,
когда нарушается порядок загрузки файлов переноса данных, и даже в случаях потери части выгрузок.
Механизм обмена данными подразумевает обмен файлами переноса данных
в обоих направлениях, так как до тех пор, пока от информационной базы,
для которой производилась выгрузка, не вернется подтверждение приема
изменений, информационная база, производившая выгрузку, будет включать,
возможно, уже принятые изменения в каждый последующий файл переноса
данных, что будет увеличивать его размер.
Óïðàâëåíèå ðàñïðåäåëåííûìè áàçàìè äàííûõ
211
Компонента "УРБД" является дополнительным коробочным продуктом
с отдельным ключом защиты и приобретается только для центральной базы
данных.
Данная компонента может быть приобретена в любой момент к любому варианту продуктов семейства 1С:Предприятие. Наличие такой компоненты
является обязательным только для центральной информационной базы. На
периферийных информационных базах устанавливается только собственно
программа 1С:Предприятие. Для каждой пары "центральная база — периферийная база" способ физической передачи файлов переноса данных может
быть выбран индивидуально. 1С:Предприятие предоставляет сервис отсылки
и приема файлов переноса, однако его использование не является обязательным.
Для установки, определения порядка миграции документов и распределения
базы данных обратитесь к программисту.
Для того чтобы документы, элементы справочников и другие объекты, созданные в разных узлах распределенной ИБ, имели заведомо непересекающиеся номера, может потребоваться внести в конфигурацию систему префиксов, определяемых отдельно для каждого из филиалов.
Также изменения в конфигурации должны вноситься при необходимости
обеспечить специальные ограничения работы пользователей на периферийных информационных базах.
Êîëëèçèè
При работе в реальной распределенной ИБ один и тот же объект может изменяться одновременно в ее различных узлах. При переносе измененных
объектов из одной ИБ в другую может случиться так, что в какую-либо ИБ
будет загружаться объект, зарегистрированный в самой этой ИБ как измененный. Такая ситуация носит название коллизии.
Êîëëèçèÿ "Îäèí è òîò æå îáúåêò èçìåíåí áîëåå,
÷åì â îäíîé ÈÁ"
Общий принцип здесь состоит в том, что главным считается изменение,
произведенное в центральной ИБ. Отработка ситуации различается в зависимости от того, на какой ИБ — центральной или периферийной коллизия
обнаружена. Если коллизия обнаружена на центральной ИБ, то есть при
загрузке файла переноса из периферийной ИБ обнаружено, что один из измененных объектов также изменен и в центральной ИБ, то изменения объекта в центральную ИБ не загружаются. При этом гарантируется, что при
очередной выгрузке в адрес периферийной ИБ будет передано состояние
объекта в том виде, в каком оно существует в центральной ИБ. Если же
212
Ãëàâà 7
коллизия обнаружена на периферийной ИБ, то изменения объекта, прибывшие из центральной ИБ, загружаются.
Êîëëèçèÿ "Îáúåêò, èçìåíåííûé â îäíîé ÈÁ,
óäàëåí â äðóãîé"
В данном случае принцип заключается в том, что изменение всегда главнее
удаления. В случае если на центральную ИБ прибывает файл переноса,
в котором содержится информация, что некоторый объект удален на периферийной ИБ, то в центральной ИБ объект не удаляется, а в записи таблицы регистрации изменений данный объект помечается как измененный.
То есть при очередном обмене объект будет восстановлен в той ИБ, в которой он был удален, причем само содержание объекта будет соответствовать
той ИБ, которая "отвергла" удаление.
Аналогичные действия производятся, если коллизия обнаружена на периферийной ИБ.
Если объект помечен на удаление в центральной БД и изменен в периферийной, то объект считается удаленным, потому что центральная база данных имеет более высокий приоритет.
Объект, удаленный в одной ИБ, не может быть удален в другой по причине
наличия ссылок на него.
При загрузке изменений, если загружается информация об удалении объектов, автоматически включается механизм контроля ссылочной целостности
и выполняется проверка наличия ссылок в данной ИБ на объекты, которые
переданы как удаленные.
В случае обнаружения коллизии такого рода, вне зависимости от того, в какой из ИБ она была обнаружена, происходит следующее: удаление не выполняется, а в таблицу регистрации изменений заносится запись о том, что
объект должен быть перенесен в адрес той ИБ, из которой была прислана
информация о его удалении.
При очередном обмене объект восстанавливается в той ИБ, в которой он
был удален, однако само содержание объекта будет соответствовать той ИБ,
которая "отвергла" удаление.
Таким образом, управление распределенной информационной базой имеет
определенную стратегию автоматического разрешения любых коллизий
с описанными приоритетами. Однако в реальных условиях рекомендуется
средствами конфигурации определить возможные действия пользователей
на различных узлах таким образом, чтобы исключить или минимизировать
вероятность возникновения коллизий. Основным путем является определение средствами конфигурации узла, "ответственного" за каждый ведущий
объект в распределенной ИБ, и ограничение всем остальным возможности
Óïðàâëåíèå ðàñïðåäåëåííûìè áàçàìè äàííûõ
213
его редактирования и удаления. Определение "ответственных" должно происходить исходя из логики работы предприятия. Очевидно, что многие виды
объектов можно разрешить изменять только в центральной ИБ (например,
список складов). Для многих объектов можно рекомендовать средствами
встроенного языка установить возможность изменения только на той ИБ, на
которой они созданы, например для документов.
Âîïðîñû ïî ÓÐÁ
Вопрос. В одном из филиалов хотят изменить ранее внесенный документ.
Как сделать так, чтобы документ попал в центральную базу данных?
Ответ. Изменения в документах регистрируются автоматически. Во время
ближайшего обмена файлами обмена вы увидите изменения.
Вопрос. Я хочу изменить документ, который пришел ко мне из филиала.
Как я могу это сделать?
Ответ. Это видоизмененный предыдущий вопрос. Изменения в периферийную базу данных попадут автоматически во время обмена данными.
Вопрос. Я внесла документ "Инвентаризация" для одного из филиалов. После обмена данными документ в их базе данных не появился. Как быть?
У нас получаются разные документальные отчеты на центральной и периферийной базе данных.
Ответ. Скорее всего, в правилах миграции документа "Инвентаризация" установлен режим "Место создания" или "Место создания и центр". Эти режимы исключают перенос данного типа "документ" из центральной базы
данных в периферийную. Чтобы исправить ситуацию, документ следует ввести в периферийной базе данных.
Вопрос. Оператор на периферийной базе данных изменила документ. После
обмена данными правка оператора была отменена.
Ответ. Скорее всего, документ правился одновременно в центральной и периферийной базе данных (например, в центральной базе данных документ
перепроводился). Поэтому механизм УРБ отменил менее приоритетное изменение периферийной базы данных.
Выгружаются не изменения объектов, а сами измененные объекты. То есть
если в документе изменилось значение одного реквизита, то будет передаваться весь документ, и он будет полностью перезаписан на той ИБ, в которую переносится. Вместе с документом будут перенесены и сделанные им
движения регистров, операция и проводки. Если изменяется любой реквизит справочника, то передается полностью весь элемент. История периодических реквизитов передается целиком.
Вопрос. База данных не загрузилась. Что мне делать?
214
Ãëàâà 7
Ответ. Еще раз сделать выгрузку из центральной базы данных, загрузить
файл в филиале и сделать выгрузку из филиала.
Вопрос. Как сделать так, чтобы филиалы видели только свои документы и
не видели мои?
Ответ. В свойствах документа (закладка Миграция) установить режим "Место создания" или "Место создания и центр".
При использовании УРБД можно создавать структуры, отличные от структуры типа "Звезда". Такая возможность официально не поддерживается
фирмой 1С и для ее создания необходимо вмешательство специалиста по
созданию сложных структур.
Ññûëêè íà ðåñóðñû â Èíòåðíåòå
http://warenic.narod.ru/doc2.html
http://www.umpel.com/1c/urbd.shtml
http://www.1c-ural.ru/cgi/print.cgi?from=site&url=remote/urbd.html
http://zone1c.narod.ru/docs/other/urbd.htm
http://argat.h11.ru/URBDStructure.html
Ãëàâà 8
1Ñ è Èíòåðíåò
Стучите, и отворят вам.
Интернет — это свалка, где все можно найти задаром. Если вы решили повысить свой образовательный уровень, то сможете бесплатно найти в сети
упражнения, книги, вопросы, ответы, комментарии, учебные пособия, программы, консультации специалистов, инструкции по работе с программными комплексами, help-файлы, исполнителей заказов.
Все сокровищницы откроются, стоит лишь правильно задать вопрос поисковой системе.
Возможно, вы подумаете: "Зачем мне эта книга, если все можно найти в
Интернете?" Ответ прост: чтобы искать информацию, следует правильно
задавать вопросы, обладать минимальным набором знаний в предметной
области и понимать философию предмета. Как раз на вопросах, которые
касаются философии "работы с 1С", я решил сделать упор в этой книге.
Êàê ïðàâèëüíî çàäàâàòü
âîïðîñû â Èíòåðíåòå
Если вы не получаете ответа на вопрос, то, возможно, вы не верно его формулируете. В Интернете достаточно ресурсов, чтобы получить информацию
по любому вопросу. Вот наиболее популярные поисковые системы:
www.google.com
www.yandex.ru/
www.aport.ru/
www.rambler.ru/
www.altavista.com/
Допустим, вы ищете информацию на www.google.ru о том, как правильно выполнять сторно. Тогда первоначальный запрос может выглядеть, как на рис. 8.1.
216
Ãëàâà 8
Ðèñ. 8.1
Или так:
проводка сторно 1С.
Если результаты вас не удовлетворили, попробуйте часть запроса заключить
в кавычки. Например, ввести такую поисковую последовательность:
"проводка сторно" 1С.
Данный запрос поисковая машина будет расшифровывать так: найти все
документы со строгим вхождением строки "проводка сторно" и вхождением
слова 1С.
Если результаты, выданные поисковой машиной, вас не удовлетворили, то
попробуйте использовать значок "+" (плюс). Например так:
+1С +сторно вопрос.
Данный запрос будет расшифровываться так: найди все документы, где бы
точно присутствовали слова "1С" и "сторно" и, может быть, встречалось бы
слово "вопрос".
Если результаты, выданные поисковой машиной, вас вновь не удовлетворили (допустим, в результатах поиска появляется слишком много рекламных
материалов программистских фирм), то попробуйте использовать значок "–"
(минус). Например так:
+1С +сторно –купить –программист –прайс
Данный запрос будет расшифровываться так: найти все документы, где бы
встречались слова "1С" и "сторно", но не было бы слов "купить", "программист" и "прайс".
Äîïîëíèòåëüíûå êîìàíäû
ïîèñêîâûõ ìàøèí
В www.google.com кроме описанных выше операторов "" (двойные кавычки),
+ (плюс) и – (минус) пользователь также может использовать следующие
команды:
Site: — поисковая машина ограничит поиск нужной информации только
данным сайтом.
Link: — поисковая машина покажет все ссылки, ведущие на нужный сайт.
1Ñ è Èíòåðíåò
217
Команда Site будет полезна в том случае, когда вы ищете информацию на
конкретном форуме (форум, или интернет-форум — раздел сайта, где проходят обсуждения и дискуссии на определенные темы). Например, форум на
www.mista.ru посвящен обсуждению программированию на 1С. Поисковая
строка:
Site:www.mista.ru сторно
будет обозначать, что нужно найти все документы с сайта www.mista.ru, на
которых встречалось бы слово "сторно".
Команда Link будет полезна для поиска похожих сайтов по выбранной тематике. Если один сайт ссылается на другой, то, скорее всего, он посвящен
той же тематике, что и рассматриваемый сайт.
Как владелец нескольких интернет-сайтов, я могу анализировать, по каким
словам ко мне приходят посетители. Могу заметить, что пользователи поисковых систем пользуются односложными поисковыми строками, состоящими из двух-трех слов, что не совсем правильно.
Если результаты работы поисковой машины слишком скудные, следует
расширить границы поиска (удалить кавычки, плюсы и минусы). Если же
они слишком широкие, следует заключить в кавычки некоторые ключевые
слова и использовать операторы "+" и "–". Запросы без уточнения правильно использовать лишь в тех случаях, когда поисковая машина сразу
выдает то, что нужно. Не каждый пользователь желает потратить немного
времени на изучение расширенных запросов, и, как следствие, утверждение, что Интернет — это свалка информационных отбросов, не подвергается сомнению.
В каждой поисковой системе есть функция формулирования расширенного
поиска. С ее помощью я сформировал вот такой запрос на www.google.com:
Запрос OR с OR любым OR из OR слов "с точной фразой" -без -слов
site:www.prosto1c.by.ru.
Запрос будет расшифрован так: найти страницы, на которых присутствует
любое из этих слов: "Запрос", "с", "любым", "из", "слов"; точная фраза:
"с точной фразой", и не было бы слов: "без", "слов".
Страницы следует искать только на сайте www.prosto1c.by.ru.
Оператор OR означает "или".
Êàê íàéòè â Èíòåðíåòå íóæíûé çàêîí
Определите точную фразу, которая входит в текст закона, и заключите ее
в кавычки. Используйте дополнительные слова, которые будут показывать,
что вы хотите найти именно файл для скачивания, а не упоминания о законе
218
Ãëàâà 8
в печати. Например, для того чтобы найти Таможенный кодекс, можно использовать следующие поисковые строки:
"Таможенный кодекс" +скачать;
"Таможенный кодекс" +download;
"Таможенный кодекс" +комментарии;
"Таможенный кодекс" +zip.
Êàê ñîñòàâèòü
èäåàëüíóþ ñòðîêó ïîèñêà
Для того чтобы составить идеальную строку поиска, следует предварительно
на листе бумаги зарисовать суть проблемы.
Определить, к каким "классам понятий" относится предмет поиска (чем
более разные классы — тем лучше).
Составить список ключевых слов.
Найти все синонимы к выбранным ключевым словам.
Отработать все ключевые слова согласно описанным выше правилам.
Под классами понятий я подразумеваю обобщающие понятия.
Например, при поиске таможенного кодекса классами будут:
закон;
Государственная Дума;
таможня;
скачать, download;
расширение файла (zip, rar, exe);
кусок названия сайта, файла;
место, где он может храниться (форум, рефераты, полезные ссылки, обсуждение).
Вы можете подумать, что я предлагаю слишком сложный способ поиска
информации. Однако опыт показывает, что именно такой путь — самый
короткий, он позволяет избежать бесплодных странствий по гиперпространству. Например, такая постановка задачи не верна: "найди мне журнал Все Выкройки я его хочу полистать". А вот такой запрос даст желаемый результат:
выкройка "вечернее платье" +скачать.
1Ñ è Èíòåðíåò
219
Èùèòå èíôîðìàöèþ â Èíòåðíåòå
â äâà ýòàïà
Разбейте поиск информации на два этапа. Первый этап — сбор начальной
информации по ключевым словам, которые сразу пришли в голову.
После этого следует проанализировать полученную информацию и найти не
замеченные ранее "ключевые слова". После этого следует повторить поиск.
Пользователь, который хочет найти информацию в Интернете, должен анализировать структуру документов и выделять термины, которые могут пригодиться в дальнейшем поиске.
Так, например, при составлении каждой главы этой книги я обязательно
заходил в Интернет и смотрел, чем можно дополнить тексты и верны ли
мои рассуждения — а может быть, я изобретаю велосипед, и на все вопросы
уже есть ответы.
Хороший результат можно получить, применяя поиск в два и более этапов и
используя галочку "искать в найденном" — эта возможность есть на
www.rambler.ru или www.aport.ru.
Áóäüòå ïîñòîÿííî â êóðñå íîâîñòåé —
ïîëüçóéòåñü èíòåðíåò-ðàññûëêàìè
Интернет-рассылки (журналы, доставляемые в электронный почтовый
ящик) использует новое поколение интернет-журналистов и харизматических личностей. Большинство рассылок держится на энтузиазме их владельцев. А раз это так, то вы можете воспользоваться их бесплатной помощью.
Зайдите на специализированные сайты и подпишитесь на те рассылки, которые вам необходимы для работы. Вот сайты, рассылки которых я получаю
или веду:
www.subscribe.ru
www.list.ru
www.agava.ru
Также рассылками занимаются специализированные сайты. Например,
я подписан на бесплатную рассылку сайта www.buh.ru.
Так же вы можете подписаться на мою рассылку, посвященную 1С-программированию. Порядок подписки смотрите на сайте www.prosto1c.by.ru.
Рассылки составляются из материалов переписки с подписчиками и из собственного опыта ведущего рассылки, поэтому не стесняйтесь задавать ему
вопросы.
220
Ãëàâà 8
Èíòåðíåò-ôîðóìû
Используйте для поиска нужной информации форумы (места, где можно
высказывать свои мысли и выслушивать чужие, как в древнем Риме) и специализированные сайты. Например, очень хороший форум находится по
адресу www.mista.ru, интереснейший сайт — собрание статей и комментариев
к ним — Вы найдете на www.klerk.ru.
Также можно воспользоваться следующими адресами:
www.dead.hare.ru
www.1cworld.com
www.vitalikk.ru
zone1c.narod.ru
www.1c.hippo.ru
www.1c.ru
www.retail.ru
www.dtprst.narod.ru
www.dtprst-1c.narod.ru
А вот список форумов, посвященных 1С:
www.forum.mista.ru
www.groups.google.com/groups?oi=djq&as_q=&as_ugroup=fido7.ru.f1csoft
www.kuban.ru/cgi-bin/forum/forum9.cgi
Приведу пример того, как можно найти ответ при помощи форума. Я выбрал одну из веток (тем) на форуме и вручную убрал информационный мусор. Вот что у меня получилось.
Ïðèìåð ðåøåíèÿ ïðîáëåìû ïîëüçîâàòåëÿ
ïðè ïîìîùè èíòåðíåò-êîíôåðåíöèè
Вопрос (A). Как распечатать справочник номенклатуры?
Ответ 1 (Б). Процедуру печати справочника можно посмотреть в официальном руководстве программы 1С. Смотрите раздел "Работа с запросами". Если вы хотите сами написать программу, то получится так:
Тов=СоздатьОбъект("Справочники.Номенклатура");
Тов.ВыбратьЭлементы();
Пока Тов.ПолучитЭлемент()=1 Цикл
сообщить(""+Тов.Наименование);
КонецЦикла;
1Ñ è Èíòåðíåò
221
А. Пожалуйста, отправьте отчет на электронную почту. Адрес вот такой... …
Б. Пожалуйста. Уже отправил.
Ответ 2. Вариантов решения проблемы несколько:
воспользоваться конструктором отчетов в конфигураторе 1С;
написать свой отчет без использования конструкторов;
взять универсальный отчет распечатки справочника и настроить его под
свои нужды;
взять один из отчетов, который больше всего похож на то, что вам нужно, удалить из него лишние колонки и добавить свои.
Ответ 3. Посмотрите на www.1c.hippo.ru, там все есть.
Ответ 4. Смотрите на ИТС отчет Refprint.ert.
Ответ 5 (В). Отчет Refprint.ert может находиться в каталоге ExtForms вашей
базы данных. Попробуйте в программе через меню Файл, Открыть найти и
запустить отчет. В форме отчета следует выбрать наименование справочника, а в табличной части отметить колонки, которые будут выведены в отчете.
На специальной закладке можно указать условия, по которым будет фильтроваться отчет, например, отбор по Ставке НДС. Отчет работает даже
с периодическими реквизитами справочника. Также есть возможность сохранить настройки на закладке Настройки. Отчет работает в любой конфигурации.
Ответ 6. Может быть, вам будет также полезен отчет Regprint.ert. Он, в отличие от предыдущего отчета, работает с регистрами. С его помощью вы
можете просмотреть движения по регистрам базы данных, созданные документами. Работает отчет аналогично вышеописанному. Вы выбираете регистр в форме диалога и в табличной части задаете структуру печатной формы отчета. С его помощью вы можете самостоятельно построить отчеты,
подобные стандартным: "Движения по банку", "Движения по кассе", "Отчет
по заявкам" и т. д.
Ответ 7. Кстати, отсортировать поля можно в Excel. Это очень просто. Выделяете форму отчета, копируете в буфер обмена и переносите в таблицу
Excel.
А. У меня нет ИТС. Может быть, перешлете мне на e-mail отчет Refprint.ert.
Адрес следующий...…
В. Без проблем. Уже отправил.
Êîììåíòàðèè ê äèàëîãó
Как видите, все оказалось гораздо проще, чем ожидалось. Если вас интересует
какой-либо вопрос, не упустите возможность посмотреть ответ в форумах.
222
Ãëàâà 8
Вы можете удивиться, какой резон участникам форумов делиться информацией. Ответ прост. Отвечающий на вопрос занимается саморекламой, является владельцем форума и получает с него доход в виде платы за размещаемую на форуме рекламу или же является энтузиастом-бессеребреником.
Åùå îäèí ïðèìåð îáñóæäåíèÿ
â ôîðóìå "Êàê âåñòè íåñêîëüêî êàññ"
Вопрос. Как вести учет по нескольким кассам в бухгалтерии? Допустим,
есть дневная и вечерняя касса.
Ответ 1. Используйте счет 50.2. Ручными проводками делайте переброску
денег между счетами. Должно получиться так:
50.1 — главная касса,
50.2 — операционные кассы.
Ответ 2 (спорит с ответом 1). Вы предлагаете на каждую кассу свой субсчет
заводить? Так скоро план счетов выйдет из берегов: 50.2.01, 50.2.02, 50.2.03...
Лучше настроить еще одно субконто для счета 50.1.
Расскажите своему программисту, что план счетов менять ни при каких условиях нельзя. Вернее можно, но при этом следует менять учетную политику предприятия. Изменения придется делать каждый раз, когда появится
новая касса. А учетная политика должна регистрироваться в ИМНС.
Ответ 3. Используйте забалансовые счета. У меня, например, 50% оперативного учета ведется на забалансовых счетах, а бухгалтера про это даже не догадываются.
Ответ 4. Я сталкивался с подобной ситуацией. Сначала добавил субконто
"касса" в счет 50.1, потом решили пользоваться субсчетами, поскольку заказчик хотел формировать "Анализ счета по датам".
С введением двух касс пришлось делать разные нумераторы. Вводить в ПКО
и РКО поле счет-источник (50.1, 50.2). Пришлось также объяснять пользователям, что для того, чтобы из кассы в кассу попадали деньги, нужно гонять их через буферный счет.
57/50.1,
50.2/57.
Ïðèìåð îáñóæäåíèÿ ïðîáëåìû ïðîèçâîäñòâà
â èíòåðíåò-êîíôåðåíöèè
Вопрос. Заказчик хочет вести производство, не используя типовую конфигурацию, поскольку не хочет заполнять справочник норм расходов. Возмож-
1Ñ è Èíòåðíåò
223
но ли сконструировать один документ, который бы сделал все так, как нужно?
Ответ 1. Так это и в ПУБЕ есть.
Ответ 2. Можно завести калькуляционные карточки: документ со множеством закладок. На первой закладке вести расход материалов, на второй расход услуг, на третьей брак, а на четвертой — список продукции.
Ответ 3. Нужно организовать в документе две табличные части, в одной материалы, во второй продукция. Сделать их стандартным способом затруднительно.
Ответ 4. Вводить нормы расхода один раз не получится. Поступит материал
по другой цене, значит, нужно будет пересчитывать себестоимость. Соединить таблицу материалов и таблицу продукции будет трудно. Ведь получается отношение многих ко многим.
Ответ 5. Можно задать себестоимость каждой единицы продукции в условных единицах (в лаптях, в условных рублях, валюте), а потом, в соответствии с материальными затратами и полученным выпуском, рассчитывать себестоимость продукции.
Но одним документом никак не обойдешься. Нужно три документа.
Первый должен списывать материалы на счет 20 так же, как это делается
в обычной конфигурации. Второй должен регистрировать выход продукции
в натуральном измерении. Третий документ должен рассчитывать себестоимость. Документ будет обнулять счет 20 и расписывать всю сумму счета 20
по выпущенной продукции пропорционально "условной себестоимости".
Если хочется учитывать общепроизводственные расходы, то следует сначала
делать 20/26. 20/23. А потом распределять себестоимость.
Ñîïðîâîæäåíèå ïðåäïðèÿòèé
÷åðåç Èíòåðíåò
Работа со специалистом через Интернет — одна из разновидностей сотрудничества с приходящим программистом. Такой вид работы должен быть более дешевым, по сравнению с наймом штатного программиста или работой
с приходящим местным специалистом. Ведь при этом не нужно тратить
время на переезды и организовывать рабочее место для программиста.
Отрицательной стороной обслуживания через Интернет может быть то, что
для работы с удаленным программистом нужно выделять специального работника. Этот работник будет готовить файлы для отправки, электронные
письма, созваниваться с программистом. Также для связи с программистом
можно использовать интернет-пейджеры для обмена сообщениями в реаль-
224
Ãëàâà 8
ном времени (ICQ и IRQ) — эта технология позволяет существенно снизить
затраты на телефонные переговоры.
Обслуживание через Интернет — перспективный рынок. В будущем, по мере снижения тарифов на мобильную связь, он будет расширяться. Также
способствовать его развитию будет увеличение ставок 1С-программистов.
Положительной стороной интернет-обслуживания является привлечение
специалистов из периферийных городов, где уровень заработной платы отстает от столичного.
Такое обслуживание решает проблему взаимодействия штатного программиста с приходящим 1С-специалистом, поскольку приходящий программист
не может подсидеть штатного. Казалось бы, возникает избыточность (два
специалиста вместо одного), но противоречия нет, если речь идет о предприятии, в штате которого есть администратор сети, не являющийся
1С-программистом. В этом случае функции администрирования сети
и 1С-программирования ложатся на разных работников. Найти подходящего
программиста, работающего по удаленной схеме, должно быть легче, чем
постоянного работника, ведь речь идет не только о том городе, в котором
расположен ваш офис, но и о других городах России.
Пока книга готовилась к печати, произошли изменения, о которых говорится
в этом разделе. Теперь наша программистская группа решает проблемы клиентов через Интернет. У каждого клиента стоит выделенная линия. Когда возникает проблема, они созваниваются с программистом и, в зависимости от
сложности и вида проблемы, она решается или удаленно — через Интернет,
или с выездом специалиста. Клиенты получают преимущества постоянно работающего программиста по ставке приходящего.
Пока идет работа только с теми клиентами, которые находятся в том же городе,
что и мы. К сожалению, нельзя полностью исключить физическое общение и
перейти на виртуальную работу. Некоторые проблемы требуют оперативного
вмешательства.
ÏÐÈËÎÆÅÍÈß
Приложение 1. Как вести себя бухгалтеру
по отношению к программисту
Приложение 2. Договор на обслуживание
компьютерной техники
и бухгалтерского
программного обеспечения
Приложение 3. Соглашение об условиях
и порядке работы программиста
Приложение 4. Отраслевой стандарт —
автоматизированная система
управления предприятием.
Создание системы
Приложение 5. Выписка из должностной
инструкции администратора
компьютерной сети
Приложение 6. Техническое задание на внедрение
системы 1С на предприятии
228
Ïðèëîæåíèÿ
Ïðèëîæåíèå 1
Êàê âåñòè ñåáÿ áóõãàëòåðó
ïî îòíîøåíèþ ê ïðîãðàììèñòó
Если вы не знаете, какие проводки нужно сделать, смело обращайтесь
к программисту. Программист с легкостью отвечает на следующие вопросы:
А какой датой мне делать проводку?
А документ перемещения не повлияет на реализацию?
Как повлияет на реализацию изменение себестоимости продукции?
Выключили свет или телефон — программист знает причину. Он знает, как
вкручивать лампочки, ремонтировать утюги и телевизоры. Программист говорит на английском, может быстро напечатать любой текст.
Никогда не проверяйте работу программиста. Он гений. Он все делает правильно.
Если программист не может ответить на вопрос так, как вы хотели, то это
плохой программист.
Если вам кажется, что программа считает неверно, сообщите об этом программисту. Пусть программист объяснит, почему вам так кажется.
Никогда не сознавайтесь в том, что меняли документы задним числом.
Пусть программист сам это определит.
Никогда не решайте проблемы самостоятельно. Если возникла ошибка —
звоните программисту. Не сверяйте отчеты. Не печатайте реестры документов. Даже когда необходимо перезагрузить компьютер, не делайте этого самостоятельно. Обязательно посоветуйтесь с программистом.
Никогда не записывайте вопросы. Вспоминайте о проблемах, когда программист собирается уходить.
Никогда не представляйтесь при разговоре по телефону. Говорите быстро.
Программист помнит всех клиентов по голосу и все программы, которые
когда-либо устанавливал.
228
Ïðèëîæåíèÿ
Программист видит сквозь стены. Он знает, на какие кнопки вы не можете
нажать. При разговоре по телефону он видит, на что в настоящий момент
наведен указатель мыши.
Используйте при разговоре с программистом тарабарский язык, например,
"рамка", "все сломалось", "почему у меня это". Задавайте умные вопросы
с полным нарушением норм русского языка: "А мне программа не дает?",
"у меня там это, не могу, потому что программа не дает".
Требуйте объяснений, почему вы не смогли найти файл. Программист —
шаман, его компьютер боится, поэтому нужные программисту файлы открываются сами.
Особенно программисту нравится отвечать на вопросы типа: "А почему
у меня количество в конце отрицательное?", "А почему у меня вчера другая
сумма была?", "Что я сделала неправильно?" или "Почему я не могла сделать
так же, как Вы?"
Ваша проблема самая важная. Если программист разговаривает с одним из
ваших коллег, то влезьте в разговор и заявите о своей проблеме.
Рассказывайте о своих чувствах. Подробно опишите, почему вы решили нажать ту или иную кнопку. Программисту важно знать это. Перебивайте его.
Например, так:
— Опишите, что вы видите на экране.
— А почему вы не хотите меня выслушать? Разве вам неинтересно, как я
добилась такого результата? ... А потом я решила нажать на кнопку… долго
думала, почему бы мне не сделать. … Почему так получилось?
Говорите, что программа, которую обслуживает программист, очень сложная, а на предыдущей работе то же самое решалось нажатием одной кнопки.
Вспоминайте добрым словом предыдущего программиста, который все понимал, в отличие от нового.
Говорите программисту, что он специально делает так, чтобы программа
плохо работала, чтобы выжимать из клиентов как можно больше денег.
Используйте в качестве приветствия программисту следующую фразу:
"Опять пришел ломать!"
Говорите с программистом на равных. Даже если он старше вас лет на десять и имеет несколько высших образований, а вы не имеете ни одного.
Никогда не анализируйте проводок, которые дает документ. Пусть это делает программист.
Никогда не используйте тот же счет, что и ваш коллега, ответственный за
дебетовую (кредитовую) сторону счета. Попросите программиста исправить
программу так, чтобы программа не давала кредитовое сальдо на активном
счете или дебетовое сальдо на пассивном.
Ïðèëîæåíèå 1
229
Инструкции программиста не записывайте, а те, что есть, не используйте,
объясняя это тем, что они написаны сложным языком.
Никогда не спрашивайте об элементарных функциях у коллег, например, как
сохранить файл или распечатать документ. Если принтер не печатает, то не
перезагружайте его. Зовите программиста. Пусть все объясняет программист.
Во всех смертных грехах виноват программист. Если директор спрашивает,
почему не готов отчет, — говорите ему, что за вашим компьютером работает
программист и вы не можете работать.
Если программист просит объяснить, что вы делаете, скажите ему, что вы
знаете, как работает компьютер, поэтому вы не можете описать вашу работу.
Хорошим ответом будет такая фраза: "Мою работу объяснить невозможно".
Если хозяйственные операции проводятся с нарушением правил, требуйте
от программиста, чтобы программа работала так, как хотите вы, а отчетность
была правильная.
Формулируйте вопросы максимально размыто. Например, если при заполнении документа вы не нашли нужного клиента, то сформулируйте вопрос
так: "У меня документ не работает".
Никогда не открывайте программисту всей схемы изменений. Когда все
сделано, то вспомните, что есть исключения из правил.
Êàê îáùàòüñÿ ïðîãðàììèñòàì
ñ áóõãàëòåðàìè
Говорите тихо, как будто жуете кашу.
Говорите, что вы "это" уже объясняли и второй раз за бесплатно повторять
не намерены.
Говорите, при каждом удобном случае, что вам не доплачивают, и эта работа
в Америке стоит в 1000 раз дороже тех копеек, что вы получаете.
Никогда не сообщайте о том, что вы поменяли алгоритм программы, изменили интерфейс или права пользователя. Пусть пользователь сам обо всем
догадается.
Не делите задачи на срочные и несрочные.
Если не успели доделать работу — ничего страшного, переделаете через
неделю, во время следующего посещения.
Если поступило срочное задание, объясните клиенту, что вы внесли их
в план и появитесь с понедельника по пятницу.
Уходите по-английски — пусть никто не знает, ушли вы или на пути из одного отдела в другой. Пусть будет секретом, где вы. Мобильник выключайте.
Постоянно меняйте номер телефона.
230
Ïðèëîæåíèÿ
Перепроводите документы только в рабочее время.
Нововведения не тестируйте, все отладить заранее невозможно. Лучше сделать это в рабочей программе.
Все задания выполняйте за 30 минут до назначенного срока.
Не продумывайте последствия вмешательства в базу. Сказали уничтожить
документы — уничтожьте без возможности восстановления.
Ссылайтесь на занятость.
Делайте как можно больше отчетов. Количество отчетов — признак квалификации программиста. Пусть пользователи запутаются в них. Не ищите
простых путей. Дублируйте функции.
Если на дисках осталось мало места — удаляйте все архивные копии, все
папки и файлы, так или иначе связанные с бухгалтерией.
Не делайте архивных копий. Не записывайте базы данных на CD.
Реорганизацию базы приурочивайте к 20-м числам месяца и к сдаче квартальной отчетности.
Если у бухгалтера что-то не работает, пусть он перезагружает компьютер до
тех пор, пока все не получится само собой.
Не ставьте антивирусов. Из-за них компьютеры работают медленно.
Пусть как можно больше данных пользователи рассчитывают в Excel.
Все отчеты должны быть такими, как получится. Наводить красоту не нужно. Кнопки можно называть "кнопка 1" или "Выполнить". Поля ввода можно не подписывать. Не используйте горячие клавиши.
Не пользуйтесь заливкой при формировании печатных форм. Не используйте жирные или наклоненные шрифты.
Отчеты нужно делать как можно более неудобными. Если пользователь переписывает часть данных отчета на листок или складывает на калькуляторе
некоторые цифры — это как раз то, что нужно.
Старайтесь как можно меньше вникать в суть проблемы — вы же программист, а не бухгалтер или продавец.
Никогда не делайте описаний и всплывающих подсказок!
В разговоре с бухгалтером употребляйте как можно больше специальных
терминов, например, SQL, объектно-ориентированное программирование,
распределенные базы данных. Можно часть терминов позаимствовать из
английского языка.
При покупке техники для бухгалтеров выбирайте самые дешевые модели.
Настоящий программист не будет разбираться в коде, который написал другой программист — он его перепишет. Ведь другие программисты пишут
неработоспособные программы, а во всех бедах виноват Билл Гейтс — основатель компании Microsoft.
Ïðèëîæåíèå 2
Äîãîâîð íà îáñëóæèâàíèå
êîìïüþòåðíîé òåõíèêè
è áóõãàëòåðñêîãî
ïðîãðàììíîãî îáåñïå÷åíèÿ
Договор № __
г. Москва
"__" ____________ 200_ г.
Предприятие ____________________________________, в дальнейшем
именуемое "Исполнитель", в лице _________________________, действующего на основании ________________, и ____________________________,
в дальнейшем именуемое "Заказчик", в лице _________________________,
действующего на основании _______________________________, заключили договор о том, что Исполнитель берет на себя обязательства, а Заказчик
поручает выполнение работ по обслуживанию бухгалтерского программного
обеспечения.
1. Порядок выполнения работ
Исполнитель должен посещать Заказчика не реже двух раз в неделю. Заказчик имеет возможность сделать не более двух срочных вызовов в месяц. Под
срочными понимаются такие вызовы, исполнение которых должно происходить не позже, чем через два часа. Заявки направляются на мобильный
телефон программиста, работающего от лица Исполнителя ______________
или на телефон ________________.
2. Виды выполняемых работ
• Обучение персонала работе с бухгалтерской программой "1С".
• Поиск ошибок в базе данных и выработка мер по их устранению.
• Реконфигурация бухгалтерского программного обеспечения.
3. Порядок расчетов
Стоимость работ по договору составляет _____ рублей в месяц. Оплата производится ежемесячно, в течение первой недели месяца.
232
Ïðèëîæåíèÿ
4. Срок действия договора
Договор действует в течение одного года, начиная с "__" ________ 200_ г.
В случае досрочного расторжения договора одна из сторон должна в двухнедельный срок предупредить противоположную сторону о намерении расторгнуть договор.
5. Реквизиты сторон
Исполнитель:
_________________________________________________________________
_________________________________________________________________
Заказчик:
_________________________________________________________________
_________________________________________________________________
Исполнитель ______________
Заказчик _________________
Ïðèëîæåíèå 3
Ñîãëàøåíèå îá óñëîâèÿõ
è ïîðÿäêå ðàáîòû ïðîãðàììèñòà
г. Москва
"__" ____________ 200__ г.
Настоящим соглашением определяются условия и порядок взаимоотношений между _______________________________________, далее именуемым
"Заказчик", в лице ________________________________________________
и ___________________________________, далее именуемым "Специалист".
1. Специалист выполняет работы по внедрению, модернизации, оптимизации и текущему функционированию программы "1С" в компьютерной
сети Заказчика.
2. Специалист самостоятельно, по согласованию с представителями Заказчика, предлагает, а также, по отдельным заявкам представителей Заказчика, устанавливает, внедряет, отлаживает и настраивает наиболее рациональные и оптимальные варианты конфигурации "1С".
3. Специалист самостоятельно или по заявкам представителей Заказчика
выполняет работу (но не более 30% от общих объемов трудозатрат) по
наладке, настройке и мелкому ремонту компьютерной техники в рамках
профессиональных знаний, соответствующих его уровню.
4. Специалист выполняет подбор третьих лиц и согласование с ними процедур и порядка действий при решении вопросов по функционированию
компьютерной техники, находящихся вне его компетенции.
5. Специалист выполняет свою работу в объеме не менее 288 часов в год,
при этом отработка ежедневно фиксированного количества рабочего времени не является обязательной. Процесс работы Специалиста должен
быть организован таким образом, чтобы не приводить к простоям в деятельности Заказчика.
6. Специалист обязан прибывать в офис Заказчика по телефонным заявкам
в течение рабочего дня в согласованное время.
7. Заказчик обязан вести журнал учета посещений Специалиста с указанием
дат, продолжительности работы и ее результатов, с подписями представителей Заказчика и Специалиста.
234
Ïðèëîæåíèÿ
8. Заказчик обязан в согласованное время предоставлять Специалисту рабочее место.
9. Заказчик обязан оплачивать работу Специалиста из расчета ______ рублей в месяц на условиях ежемесячной оплаты.
10. При необходимости Заказчик предоставляет Специалисту пропуск для
въезда на территорию своего предприятия.
11. Заказчик может делать __ экстренных вызовов Специалиста в месяц.
Каждый вызов сверх этого количества оплачивается в сумме ______
рублей за вызов. Экстренным считается вызов, исполнение которого
требует приезда Специалиста в течение менее чем 4 часов после получения заявки.
12. Заказчик предоставляет Специалисту доступ к компьютерной технике
после 17.00, а до 17.00 — по согласованию сторон.
13. В случае расторжения договора Заказчик должен оплатить Специалисту
фактически отработанное время из расчета среднечасовой оплаты.
14. Специалист может привлекать для исполнения работ по договору третьих лиц.
15. Стоимомть работ по договору остается неизменной в случае, если количество отработанных Специалистом часов будет находиться в пределах
240–340 часов в год. При увеличении (уменьшении) количества отработанного времени свыше 340 (меньше 240) часов стоимость работ увеличивается (уменьшается) из расчета среднечасовой оплаты.
16. Договор вступает в силу с момента его подписания и действует
до "__" ________ 200__г.
Заказчик ______________
Специалист ________________
Ïðèëîæåíèå 4
Îòðàñëåâîé ñòàíäàðò —
àâòîìàòèçèðîâàííàÿ ñèñòåìà
óïðàâëåíèÿ ïðåäïðèÿòèåì.
Ñîçäàíèå ñèñòåìû
ОСТ 4.071.030
Настоящий стандарт устанавливает нормативы трудоемкости на работы по
созданию и дальнейшему развитию автоматизированной системы управления предприятием (АСУП).
1.Общие положения.
1.1. Нормативы трудоемкости на работы по созданию АСУП предназначены
для:
а) планирования объемов работ предприятиям и подразделениям предприятий;
б) анализа и оценки результатов деятельности предприятий-разработчиков
АСУП;
в) прогнозирования затрат на работы по АСУП;
г) определения сметной стоимости создания и развития АСУП.
1.2. Нормативы трудоемкости на работы по созданию АСУП в нормо-часах
установлены для сложившихся в отрасли организационно-технических условий труда разработчиков АСУП.
1.3. Нормативы трудоемкости представлены для систем, реализуемых на базе
электронно-вычислительных машин и единой системы электронновычислительных машин.
1.4. Нормативы трудоемкости на проектирование АСУП дифференцированы
в зависимости от:
технологии обработки информации;
степени новизны создания АСУП;
сложности задач.
236
Ïðèëîæåíèÿ
1.5. Технология обработки информации зависит от использования:
локальных массивов;
банка данных (БД).
1.6. Степень новизны определяется характером разработки АСУП:
1-я степень — индивидуальная разработка задач с целью развития АСУП,
реализуемой на ЭВМ; разработка головных (типовых) проектов АСУП, реализуемых на ЕС ЭВМ.
Примечание. Создание АСУП на базе ЕС ЭВМ допускается только на основе использования головных проектов АСУП.
2-я степень — создание АСУП на базе ЕС ЭВМ на основе внедрения головных проектов АСУП при условии их частичной доработки; развитие АСУП
за счет заимствования проектных решений в случае неполного соответствия
их условиям предприятия;
3-я степень — привязка решений головных проектов АСУП.
1.7. Сложность задач и реализующих их программ различают четырьмя группами. Характеристики групп сложности задач и реализующих их программ определяются логической структурой указанных задач и программ (таблицы 1, 2).
1.8. Нормативы трудоемкости разработки АСУП при использовании локальных массивов приведены в таблицах 3–8, а при использовании БД — в таблицах 9–14.
1.9. Нормативы трудоемкости на постановку задачи по группам сложности
приведены в таблицах 3–6 и 9–12.
1.10. Нормативы трудоемкости, дифференцированные по этапам подготовки
и выпуска технической документации, приведены в таблицах 4–6 и 10–12.
1.11. Нормативы трудоемкости на постановку задачи по группам сложности
на один документ, массив (файл) приведены в таблицах 7 и 13.
1.12. Нормативы трудоемкости на разработку программ и программной документации по группам сложности программ и в зависимости от языка программирования на одну команду приведены в таблицах 8 и 14.
1.13. Нормативы трудоемкости на внедрение проектных решений АСУП,
приведенные в настоящем стандарте, дифференцированы в зависимости от:
степени новизны создания АСУП;
сложности задач;
периодичности решения задач.
1.14. Трудоемкость создания конкретной АСУП определяется в зависимости
от степени новизны разработки, выбранной структуры построения информационной базы АСУП, количества и сложности задач и их программ.
Ïðèëîæåíèå 4. Îòðàñëåâîé ñòàíäàðò — àâòîìàòèçèðîâàííàÿ ñèñòåìà óïðàâëåíèÿ...
237
1.15. Нормативы трудоемкости на проектирование, приведенные в таблицах 3,9, используются при планировании работ на уровне предприятия,
а также при заключении договоров на создание АСУП. При заданных количествах входных и выходных документов, массивов (файлов) задачи, команд
в программе используются нормативы трудоемкости, приведенные в таблицах 7, 8, 13, 14 с соответствующими нормами машинного времени.
1.16. Нормативы трудоемкости, приведенные в таблицах 4–8 и 10–14, используются при планировании работ на уровне подразделений.
1.17. Нормативы трудоемкости на внедрение, приведенные в таблицах 15–17,
используются при планировании работ на уровнях предприятия и подразделений.
1.18. Для определения трудоемкости разработки автономных задач при развитии АСУП с использованием локальных массивов, если задача требует
дополнительных затрат на обследование и формирование новых массивов
(файлов), следует пользоваться коэффициентами, учитывающими долю общесистемной части на стадиях:
а) технического задания (экспресс-анализа и технико-экономического обоснования разработки) — 0,25 трудоемкости постановки задачи;
б) технического проекта (решение вопросов информационного обеспечения) — 0,15 трудоемкости постановки задачи;
в) внедрения (организационных работ) — 0,20 трудоемкости проведения испытания задачи.
При использовании БД трудоемкость на каждой стадии определяется по
следующим коэффициентам:
а) технического задания (экспресс-анализа и технико-экономического обоснования разработки) — 0,13 трудоемкости разработки программ и программной документации задачи;
в) внедрения (организационных работ) — 0,20 трудоемкости проведения испытания задачи.
1.19. Если при анализе постановки задачи выявляется необходимость в разработке технического задания на программирование, то трудоемкость этой
работы принимать равной 0,5 трудоемкости постановки данной задачи.
1.20. При определении трудоемкости разработки уникальных программ и
программной документации для специализированных предприятий — разработчиков следует увеличивать соответствующие значения таблиц на 35%.
1.21. Трудоемкость проведения нормоконтроля включена в трудоемкость
оформления подлинника.
1.22. Для удобства использования нормативов при планировании нормируемым работам присваиваются коды. Код работы десятичный (цифровой).
Длина кода 6 знаков.
238
Ïðèëîæåíèÿ
Х ХХ ХХ Х
|| | |
| | | Порядковый номер значения интервала в группах сложности
| | | (периодичности решения задачи для стадии внедрения).
| | Порядковый номер работы при дифференцировании работ при разработке
| | постановки задачи программы и программной документации.
| Порядковый номер работы в пределах стадий создания системы.
Код стадии создания АСУП с учетом технологии обработки информации.
Первый знак кода работы — код стадии создания АСУП с учетом технологии обработки информации принимает следующие значения:
0 — внедрение системы;
1 — разработка технического задания АСУП с использованием локальных
массивов;
2 — разработка технического задания АСУП с использованием БД;
3 — разработка технического проекта АСУП с использованием локальных
массивов;
4 — разработка технического проекта АСУП с использованием БД;
5 — разработка рабочего проекта АСУП с использованием локальных массивов;
6 — разработка рабочего проекта АСУП с использованием БД;
7 — проведение испытаний на стадии внедрения на ЭВМ;
8 — проведение испытаний на стадии внедрения на ЕС ЭВМ.
1.23. Нормативы трудоемкости, установленные настоящим стандартом, допускается использовать при создании отраслевой автоматизированной системы управления, автоматизированной системы управления производственным
объединением,
автоматизированной
системы
управления
разрабатывающим предприятием, автоматизированной системы управления
научно-производственным объединением.
1.24. Примеры расчета трудоемкости приведены в справочных приложениях 1 и 2.
2. Характеристики сложности задач и программ
Характеристики задач по группам сложности приведены в таблице 11.
Характеристики программ по группам сложности приведены в таблице 2.
1 Здесь приведены ссылки на таблицы так, как они пронумерованы в исходном до-
кументе. — Ред.
Ïðèëîæåíèå 4. Îòðàñëåâîé ñòàíäàðò — àâòîìàòèçèðîâàííàÿ ñèñòåìà óïðàâëåíèÿ...
239
3. Нормативы трудоемкости.
3.1. Нормативы трудоемкости на проектирование АСУП с использованием
локальных массивов по степеням новизны приведены в таблице 3.
3.2. Нормативы трудоемкости на проектирование АСУП 1-й степени новизны с использованием локальных массивов по этапам разработки и оформления документации приведены в таблице 4.
3.3. Нормативы трудоемкости на проектирование АСУП 2-й степени новизны с использованием локальных массивов по этапам разработки и оформления документации приведены в таблице 5.
3.4. Нормативы трудоемкости на проектирование АСУП 3-й степени новизны с использованием локальных массивов по этапам разработки и оформления документации приведены в таблице 6.
3.5. Нормативы трудоемкости на постановку задачи при проектировании
АСУП с использованием локальных массивов по степеням новизны приведены в таблице 7.
3.6. Нормативы трудоемкости на разработку программ и программной документации при проектировании АСУП с использованием локальных массивов по степеням новизны и языкам программирования приведены в таблице 8.
3.7. Нормативы трудоемкости на проектирование АСУП с использованием
БД по степеням новизны приведены в таблице 9.
3.8. Нормативы трудоемкости на проектирование АСУП 1-й степени новизны с использованием БД по этапам разработки и оформления документации
приведены в таблице 10.
Основными элементами системы программ управления данными БД являются:
система программ для типовых процедур обработки информации (ввод,
входной контроль, поиск, обновление, исключение, дополнение, вывод, печать, отображение, передача в канал и т. п.);
система программ для диалога с потребителем с БД (трансляция с проблемноориентированных языков на машинный и наоборот, обучение потребителей
этому языку, модификация запроса, выдача справок о составе и структуре
БД и т. п.);
система программ динамической перестройки памяти для эффективного
использования ее ресурсов.
3.9. Нормативы трудоемкости на проектирование АСУП 2-й степени новизны с использованием БД по этапам разработки и оформления документации
приведены в таблице 11.
3.10. Нормативы трудоемкости на проектирование АСУП 3-й степени новизны с использованием БД по этапам разработки и оформления документации приведены в таблице 12.
240
Ïðèëîæåíèÿ
3.11. Нормативы трудоемкости на постановку задачи при проектировании
АСУП с использованием БД по степеням новизны приведены в табл. 13.
Òàáëèöà 13
Êîä
ðàáîòû
Ãðóïïà
ñëîæíîñòè çàäà÷è
412007
Òðóäîåìêîñòü íà îäèí äîêóìåíò èëè
ìàññèâ ïî ñòåïåíè íîâèçíû, íîðìî-÷àñû
1
2
3
1
74
52
38
413007
2
71
49
35
414007
3
56
38
28
415007
4
50
33
23
3.12. Нормативы трудоемкости на разработку программ и программной документации при проектировании АСУП с использованием БД по степеням
новизны и языкам программирования приведены в таблице 14.
Более полно с документом можно познакомиться в Интернете. Для поиска
документа следует набрать в строке поиска: "ОСТ 4.071.030".
Ïðèëîæåíèå 5
Âûïèñêà èç äîëæíîñòíîé
èíñòðóêöèè àäìèíèñòðàòîðà
êîìïüþòåðíîé ñåòè
На должность системного администратора принимаются лица с высшим образованием и стажем работы по специальности не менее года.
Системный администратор должен знать устройство персонального компьютера, уметь настраивать, осуществлять обслуживание, мелкий ремонт периферийного оборудования.
Администратор компьютерной сети должен владеть знаниями в области
проектирования локальных сетей на базе протоколов TCP/IP.
Системный администратор должен выполнять работы по установке и настройке серверного программного обеспечения Microsoft Windows, ведению
сетевой политики, защите информации от несанкционированного доступа,
резервированию информации, настройке рабочих станций под управлением
операционной системы Microsoft Windows.
Системный администратор должен уметь работать со всевозможным прикладным программным обеспечением (Microsoft Office, Adobe Photoshop,
Corel Draw и пр.).
Администратор должен разбираться в вопросах бухгалтерии, владеть программой 1С:Бухгалтерия (в том числе настраивать конфигурацию).
Системный администратор должен обладать навыком программирования на
одном из языков: Delphi, Visual Basic C или другом объектно-ориентированном
языке.
Системный администратор осуществляет модернизацию, мелкий ремонт и
замену имеющейся в его распоряжении техники, производит закупки расходных материалов.
Системный администратор должен уметь налаживать контакт с низкоквалифицированным персоналом.
Системный администратор должен руководствоваться распоряжениями директора предприятия.
242
Ïðèëîæåíèÿ
Системному администратору устанавливается ненормированный рабочий
день, оплата труда производится в соответствии с трудовым соглашением.
Çàäà÷è àäìèíèñòðàòîðà êîìïüþòåðíîé ñåòè
Системный администратор обеспечивает функционирование ЛВС, сервера,
всех рабочих станций и программного обеспечения, оборудования, сохранность и достаточную степень конфиденциальности информации.
Системный администратор осуществляет работу с персоналом по обучению
работе с компьютерным обеспечением товарооборота.
Системный администратор участвует в разработке максимально экономичных по затратам рабочего и машинного времени схем занятости работников.
Системный администратор осуществляет контроль и исправление ошибок
персонала при вводе информации в базы данных.
Ôóíêöèè àäìèíèñòðàòîðà êîìïüþòåðíîé ñåòè
Системный администратор выполняет следующие функции:
производит настройку программного и аппаратного обеспечения;
осуществляет сетевую политику;
организует бесперебойную работу всех звеньев информационной системы;
обеспечивает получение достоверной отчетности и информации о товарообороте;
выполняет функции консультанта директора и мастера обучения пользователей сети.
Îáÿçàííîñòè è îòâåòñòâåííîñòü
àäìèíèñòðàòîðà êîìïüþòåðíîé ñåòè
Системный администратор обязан выполнять приказы директора в установленный срок, в случае невозможности их исполнения информировать об
этом директора.
Системный администратор обязан осуществлять свои функции в соответствии с должностной инструкцией и в объеме, установленном трудовым соглашением.
Системный администратор несет ответственность за достоверность предоставляемой информационной системой отчетности, сохранность информации, неразглашение полученной в процессе работы информации третьим
лицам.
Ïðèëîæåíèå 6
Òåõíè÷åñêîå çàäàíèå
íà âíåäðåíèå ñèñòåìû 1Ñ
íà ïðåäïðèÿòèè
Заказчик: …
Исполнитель: …
Средства: Программное обеспечение фирмы 1С:Предприятие 7.7. Компонента Оперативный учет.
Цель: реализация учета заказов на ремонт бытовой техники.
Исходная конфигурация: отсутствует.
Îáùåå îïèñàíèå ðåàëèçàöèè
Конфигурация должна обеспечить решение следующих задач:
учет заказов;
учет расходных материалов;
учет и обработка заявок на детали;
обеспечение разграничения доступа различных категорий пользователей
к элементам конфигурации.
Ó÷åò äåòàëåé
Детали для ремонта хранятся на основном и дополнительном складах. Детали с дополнительного склада не могут использоваться для ремонта техники
по гарантии. В случае необходимости использования деталей с дополнительного склада для ремонта гарантийной техники, нужно осуществить перемещение нужных деталей на основной склад и затем оформить выдачу
с основного склада. Внутри склада учет деталей ведется по местам хранения.
Поступление деталей оформляется приходной накладной (табл. П6.1). В ней
указываются номер, дата поступления, поставщик деталей, склад, на который
244
Ïðèëîæåíèÿ
поступают детали, а также список деталей. Для каждой детали заполняется
следующая информация: индекс детали, наименование, единица измерения,
количество, цена. Поступление деталей оформляет менеджер.
Òàáëèöà Ï6.1. Áëàíê ïðèõîäíîé íàêëàäíîé
Ïðèõîäíàÿ íàêëàäíàÿ íà äåòàëè ¹ _________ îò ____________
Ïîñòàâùèê __________________
Ñêëàä
__________________
Äàòà ïîñòóïëåíèÿ íà ñêëàä _______
Äåòàëè:
Èíäåêñ
Íàèìåíîâàíèå
Åä.
èçìåðåíèÿ
Êîëè÷åñòâî
Öåíà
Ñóììà
Ìåñòî
õðàíåíèÿ
Детали со склада выдаются только под заказ на ремонт. Выдача деталей мастеру оформляется кладовщиком расходной накладной (табл. П6.2). В ней
указывается номер накладной, дата выдачи, заказ, склад, место детали на
складе и список деталей. Для каждой детали заполняется следующая информация: индекс детали, наименование, единица измерения, количество,
цена. Как правило, расходная цена детали равна приходной цене, умноженной на коэффициент (обычно 1.8).
Детали списываются по методу FIFO.
Òàáëèöà Ï6.2. Áëàíê ðàñõîäíîé íàêëàäíîé
Ðàñõîäíàÿ íàêëàäíàÿ íà äåòàëè ¹ _________ îò ____________
Çàêàç
Ñêëàä
__________________
__________________
Êîýôôèöèåíò _____________
Äåòàëè:
Èíäåêñ
Íàèìåíîâàíèå
Åä. èçìåðåíèÿ
Êîëè÷åñòâî
Öåíà
Ñóììà
Ìåñòî
Ïðèëîæåíèå 6. Òåõíè÷åñêîå çàäàíèå íà âíåäðåíèå ñèñòåìû 1Ñ íà ïðåäïðèÿòèè
245
В случае необходимости детали могут быть перемещены с одного склада на
другой, а также внутри склада с одного места хранения на другое.
Ñîñòàâ è ñòðóêòóðà ñïðàâî÷íèêîâ
Список справочников:
Детали
Мастера
Контрагенты
Производители
Виды изделий
Виды заказов
Места хранения на складах деталей
Склады деталей
Склады техники
Единицы измерения
Варианты оплаты
Ñïðàâî÷íèê "Äåòàëè"
Справочник одноуровневый. Используется для хранения информации о деталях, которые применяются для ремонта бытовой техники (табл. П6.3). Редактирование элементов может осуществляться в списке. В справочнике
должны быть обеспечены поиск информации по любому фрагменту индекса
или наименования, подбор элементов.
Òàáëèöà Ï6.3. Ñòðóêòóðà ñïðàâî÷íèêà
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
ÈíäåêñÄåòàëè
Ñòðîêà, 50
Èíäåêñ äåòàëè, óñòàíîâëåííûé
ïðîèçâîäèòåëåì
2
Íàçâàíèå
Ñòðîêà, 50
Íàçâàíèå äåòàëè
4
Õàðàêòåðèñòèêà
Ñòðîêà, 20
5
ÅäÈçì
Ñïð.ÅäÈçì
Åäèíèöà èçìåðåíèÿ
Ñîñòàâ è ñòðóêòóðà äîêóìåíòîâ
Список документов:
Заказ на ремонт;
246
Ïðèëîæåíèÿ
Приходная накладная на детали;
Расходная накладная на детали;
Перемещение деталей между складами;
Перемещение деталей внутри склада.
Òàáëèöà Ï6.4. Îáùèå ðåêâèçèòû äîêóìåíòîâ
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Ñîçäàíèå
Ñòðîêà 50
Êòî è êîãäà ñîçäàë äîêóìåíò
2
Èçìåíåíèå
Ñòðîêà, 50
Êòî è êîãäà ïîñëåäíèé ðàç èçìåíÿë äîêóìåíò
Äîêóìåíò "Ïðèõîäíàÿ íàêëàäíàÿ íà äåòàëè"
Документ предназначен для оформления поступивших деталей (табл. П6.5
и П6.6). Дата накладной может отличаться от даты поступления деталей,
поэтому в документе предусмотрено поле для указания даты поступления.
Òàáëèöà Ï6.5. Ñòðóêòóðà øàïêè
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Ïîñòàâùèê
Ñïð.Êîíòðàãåíòû
2
Ñêëàä
Ñïð.ÑêëàäûÄåòàëåé
3
ÄàòàÏîñòóïëåíèÿ
Äàòà
Äàòà ïîñòóïëåíèÿ íà ñêëàä
Òàáëèöà Ï6.6. Ñòðóêòóðà òàáëè÷íîé ÷àñòè
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Èíäåêñ
Ñïð.Äåòàëè
Èíäåêñ äåòàëè
2
Íàèìåíîâàíèå
Ñòðîêà, 50
Íàçâàíèå äåòàëè
3
ÅäÈçì
Ñïð.ÅäÈçìåðåíèÿ
4
Êîëè÷åñòâî
×èñëî, 3
5
Öåíà
×èñëî, 10.2
6
Ñóììà
×èñëî, 14.2
7
ÌåñòîÕðàíåíèÿ
Ñïð.ÌåñòàÕðàíåíèÿÄåòàëåé
Ïðèëîæåíèå 6. Òåõíè÷åñêîå çàäàíèå íà âíåäðåíèå ñèñòåìû 1Ñ íà ïðåäïðèÿòèè
247
Ïå÷àòíûå ôîðìû äîêóìåíòà
[вырезано]
Äâèæåíèå ïî ðåãèñòðàì
Òàáëèöà Ï6.7. Äâèæåíèå ïî ðåãèñòðàì
Ðåãèñòð
Äâèæåíèå
Êîììåíòàðèé
Äåòàëè
+
Ïîñòóïëåíèå äåòàëåé íà ñêëàä
Äîêóìåíò "Ðàñõîäíàÿ íàêëàäíàÿ íà äåòàëè"
Документ предназначен для оформления выдачи деталей для ремонта техники (табл. П6.8 и П6.9). Детали могут выдаваться только под заказ.
Òàáëèöà Ï6.8. Ñòðóêòóðà øàïêè
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Çàêàç
Äîê.ÇàêàçÍàÐåìîíò
2
Ñêëàä
Ñïð.ÑêëàäûÄåòàëåé
3
Êîýôôèöèåíò
×èñëî, 3.1
Äàòà ïîñòóïëåíèÿ íà ñêëàä
Òàáëèöà Ï6.9. Ñòðóêòóðà òàáëè÷íîé ÷àñòè
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Èíäåêñ
Ñïð.Äåòàëè
Èíäåêñ äåòàëè
2
Íàèìåíîâàíèå
Ñòðîêà, 50
Íàçâàíèå äåòàëè
3
ÅäÈçì
Ñïð.ÅäÈçìåðåíèÿ
4
Êîëè÷åñòâî
×èñëî, 3
5
Öåíà
×èñëî, 10.2
6
Ñóììà
×èñëî, 14.2
7
ÌåñòîÕðàíåíèÿ
Ñïð.ÌåñòàÕðàíåíèÿÄåòàëåé
8
ÏðèçíàêÐàçìåùåíèÿ
Ñòðîêà, 6
Ïå÷àòíûå ôîðìû äîêóìåíòà
[Вырезано]
Ìîæåò èìåòü çíà÷åíèÿ:
Ñêëàä, Ðåçåðâ
248
Ïðèëîæåíèÿ
Äâèæåíèå ïî ðåãèñòðàì
Òàáëèöà Ï6.10. Äâèæåíèå ïî ðåãèñòðàì
Ðåãèñòð
Äâèæåíèå
Êîììåíòàðèé
ÄåòàëèÇàêàçîâ
+
Ïîñòóïëåíèå äåòàëåé íà çàêàç
Äåòàëè
-
Ñïèñàíèå äåòàëåé ñî ñêëàäà
ÐåçåðâÄåòàëåé
-
Ñïèñàíèå ñ ðåçåðâà (åñëè áûë ðåçåðâ)
Ñîñòàâ è ñòðóêòóðà æóðíàëîâ
Æóðíàë "Çàêàçû íà ðåìîíò"
Æóðíàë "Äåòàëè"
Журнал хранит следующие документы: "Приходная накладная на детали",
"Расходная накладная на детали", "Перемещение деталей между складами",
"Перемещение деталей на складе", "Возврат деталей с заказа", "Резервирование деталей", "Снятие деталей с резерва", "Акт списания деталей". В нем
предусмотрена возможность видеть документы общим списком или распределенными по закладкам в соответствии с документом (табл. П6.11).
Ñòðóêòóðà æóðíàëà
Òàáëèöà Ï6.11. Ñòðóêòóðà æóðíàëà
¹
Ãðàôà
Êîììåíòàðèé
1
Äîêóìåíò
Íàçâàíèå äîêóìåíòà
2
Íîìåð
Íîìåð äîêóìåíòà
3
Äàòà
Äàòà äîêóìåíòà
4
Ñóììà
5
Çàêàç
Îò÷åòû è îáðàáîòêè
Отчет о движении деталей.
Отчет о заказах.
Отчет-мастер "Виды работ".
[вырезано]
Ïðèëîæåíèå 6. Òåõíè÷åñêîå çàäàíèå íà âíåäðåíèå ñèñòåìû 1Ñ íà ïðåäïðèÿòèè
249
Ñîñòàâ è ñòðóêòóðà ðåãèñòðîâ
Ðåãèñòð "Äåòàëè"
Регистр предназначен для учета остатков деталей. Движение по регистру
проводится следующими документами: "Приходная накладная на детали",
"Расходная накладная на детали", "Перемещение деталей между складами",
"Перемещение деталей на складе", "Возврат деталей с заказа", "Резервирование деталей", "Снятие деталей с резерва", "Акт списания деталей".
Учет в регистре ведется в разрезе деталей, партий, складов, мест хранения
на складе.
Èçìåðåíèÿ ðåãèñòðà
Òàáëèöà Ï6.12. Èçìåðåíèÿ ðåãèñòðà
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Äåòàëè
Ñïð.Äåòàëè
Âèä èçäåëèÿ (õîëîäèëüíèê,
âûòÿæêà)
2
Ñêëàä
Ñïð.ÑêëàäûÄåòàëåé
Ïðîèçâîäèòåëü òåõíèêè
3
ÌåñòàÕðàíåíèÿ
Ñïð.ÌåñòàÕðàíèåíèÿ
4
Ïàðòèÿ
Äîê.ÏðèõîäíàÿÍàêëàäíàÿ
ÍàÄåòàëè
Ðåñóðñû ðåãèñòðà
Òàáëèöà Ï6.13. Ðåñóðñû ðåãèñòðà
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
Êîëè÷åñòâî
×èñëî, 17
Âèä èçäåëèÿ (õîëîäèëüíèê, âûòÿæêà)
2
ÑóììàÏ
×èñëî, 14.2
Ñóììà ïî ïðèõîäíîé öåíå
3
ÑóììàÄ
×èñëî, 14.2
Ñóììà ïî äîêóìåíòó (äëÿ ïðèõîäíîé
íàêëàäíîé è äëÿ äâèæåíèé ïî ðåãèñòðó ñî çíà÷åíèåì ÔëàãÄâèæåíèÿ = 2
ýòà ñóììà ðàâíî ÑóììåÏ)
250
Ïðèëîæåíèÿ
Ðåêâèçèòû ðåãèñòðà
Òàáëèöà Ï6.14. Ðåêâèçèòû ðåãèñòðà
¹
Íàèìåíîâàíèå
Òèï
Êîììåíòàðèé
1
ÔëàãÄâèæåíèÿ
×èñëî, 1
2 – âíóòðåííåå ïåðåìåùåíèå (ïåðåìåùåíèå ìåæäó ñêëàäàìè, ïåðåìåùåíèå âíóòðè ñêëàäà, ðåçåðâèðîâàíèå è ñíÿòèå ñ ðåçåðâà),
1 — âñå îñòàëüíîå
2
Çàêàç
Äîê.ÇàêàçÍàÐåìîíò
Ïóñòî äëÿ ïðèõîäíîé íàêëàäíîé,
àêòà ñïèñàíèÿ, äîêóìåíòîâ ïåðåìåùåíèÿ
[Вырезано]
Ãëîññàðèé
Почтовая рассылка — это получение по электронной почте информации
определенной тематики; распространение информации через электронную почту зарегистрировавшимся подписчикам. Почтовая рассылка —
аналог газеты.
Форум (интернет-форум) — раздел на сайте, где проходят обсуждения и
дискуссии на определенные темы. Зайдя на форум, вы увидите список
тем. Каждая тема содержит начальное сообщение и, возможно, ответы на
него. Сообщения на форуме в чем-то похожи на почтовые — каждое из
них имеет автора, тему и собственно содержание. Для того чтобы отправить сообщение на форум, нужно предварительно заполнить соответствующую форму на сайте. Принципиальное свойство форума заключается
в том, что сообщения в нем объединены в трэды (от англ. thread —
"нить"). Когда вы отвечаете в форуме на чье-то сообщение, ваш ответ будет "привязан" к нему. Последовательность таких ответов, ответов на ответы и т. д. и создает трэд. В итоге форум представляет собой древовидную структуру, состоящую из трэдов. В отличие от чатов, сообщения,
отправленные на форум, могут храниться неограниченно долго, и ответ в
форуме может быть дан не в тот же день, когда появился вопрос. Синонимы: конференция, веб-конференция.
Аутсорсинг — это передача стороннему подрядчику некоторых бизнесфункций или частей бизнес-процесса предприятия. Это организационное
решение, которое заключается в распределении функций бизнес-системы
в соответствии с принципом: "оставляю себе только то, что могу делать
лучше других, передаю стороннему исполнителю то, что он делает лучше
меня".
Техническое задание (ТЗ) — детальное описание выполняемых исполнителем работ, цель которого — помочь сторонам (исполнителю и заказчику) лучше понять, в чем состоит проблема предприятия, которую должен
устранить исполнитель.
Конфигурация — то, с чем работает пользователь. Документы, отчеты,
проводки — все это и есть конфигурация. Именно она обеспечивает
удобство ввода информации, расчет многочисленных показателей, печать
252
Ãëîññàðèé
различных документов и отчетов. Конфигурации, которые можно найти
на http://www.1c.ru/, являются типовыми и полностью готовы к применению без дополнительных доработок, за исключением первоначальной
настройки порядка учета (учетной политики), принятого на предприятии.
Компонента — это набор определенных функций, которые встроены
в программу и определяют ее функциональность в целом. Например,
в компоненте "Бухгалтерский учет" предусмотрена возможность поддержки плана счетов: счета, субсчетов и их характеристик, видов аналитического учета на каждом из счетов, начального сальдо, оборота за период,
конечного сальдо и т. д. Естественно, что такие возможности компоненты лучше всего использовать при создании программного обеспечения
для ведения бухгалтерского учета. А вот компонента "Оперативный учет"
благодаря своим особенностям прекрасно справляется с учетом материальных и денежных ресурсов. Соответственно ее назначение — это учет
ТМЦ на складах с большим количеством операций и сложными алгоритмами расчета. Компонента "Расчет" содержит в себе механизмы периодических расчетов. Из этого следует, что основная область ее применения — расчет заработной платы. Различные компоненты могут работать
совместно. Возможности каждой из них используются при работе конфигурации. Для работы большинства конфигураций необходима лишь одна
компонента. Но для таких сложных и функционально насыщенных конфигураций, как "Производство + Услуги + Бухгалтерия" или "Комплексная
конфигурация", необходима установка нескольких компонент.
Версия — это общая характеристика всех компонент. От версии зависит
открытость системы для внесения в нее пользователем каких-либо изменений и возможность работы в сетевом режиме. Ниже приведены краткие характеристики каждой версии.
• Базовая. Не позволяет пользователю вносить какие-либо изменения в
конфигурацию. Предназначена для работы только на одном компьютере.
• Стандартная. Используется только для программных продуктов с компонентой "Бухгалтерский учет". Конфигурация открыта для внесения
изменений, но возможности этих изменений ограничены. Например,
аналитический учет на каждом из счетов ограничен тремя разрезами
аналитики, в то время как в старших версиях ("Проф" и "Сетевая") —
пятью. Эта версия также является локальной.
• Локальная. Предоставляет пользователю возможность работы только
с одного рабочего места.
• Сетевая. Обеспечивает одновременную работу нескольких пользователей с разных рабочих мест в одной базе данных. Сетевая версия может
иметь ограничения на количество одновременно работающих пользователей (до трех) или не иметь их.
Ãëîññàðèé
253
Áóõãàëòåðñêèå òåðìèíû è ñîêðàùåíèÿ
Для краткости программы "1С:Бухгалтерия" и "1С:Торговля и Склад" я буду
называть просто "Бухгалтерия" и "Торговля".
В книге также используются следующие сокращения:
МЦ — материальные ценности;
НДС — налог на добавленную стоимость;
ТА — точка актуальности итогов;
ТМЦ — товарно-материальные ценности.
Ïðîâîäêè
20 / 10 — эта запись обозначает проводку в дебет счета 20 с кредита счета 10.
20 / 10 / 100 руб. — эта запись обозначает передачу в дебет счета 20 с кредита счета 10 100 рублей.
20 / 10 { материал А} / 50 шт. / 100 руб. — эта запись обозначает передачу
в дебет счета 20 с кредита счета 10 материала А в количестве 50 шт. и на
сумму 100 руб.
Ñóáêîíòî {Êîíòðàãåíò}
Во времени его можно описать математическим языком с помощью шести
параметров:
СНД — сальдо начальное дебетовое
СНК — сальдо начальное кредитовое
ДО — дебетовый оборот
КО — кредитовый оборот
СКД — сальдо конечное дебетовое
СКК — сальдо конечное кредитовое
Ñîêðàùåíèÿ è òåðìèíû, ïðèìåíÿåìûå â êíèãå
Информационная служба (ИТ)
Интернет-пейджер (ICQ)
Флеш-накопитель
USB
Информационно техническое сопровождение (ИТС)
Электронная таблица (ЭТ)
База данных (БД) — место, где хранятся все данные программы 1С
254
Ãëîññàðèé
Ïðåäìåòíûé óêàçàòåëü
А
Автозаполнение 120
Автосуммирование 120
Автофильтр 125
Адаптация программы 176
Администрирование 1С 11
Акт сверки 189, 190, 207
Анализ субконто 86
Аргументы функции 121
Архивирование 168
Архивирование БД 14
Аудит программистов 169
Аутсорсинг 251
Б
Блокировка программы 39
Буферный счет 187
Бухгалтерский запрос 100
В
Веб-конференция 251
Ведомость
по остаткам ТМЦ 98
Версия 252
Внедрение системы 176
Внешний отчет 56
Вспомогательный счет 182
Г
Граф 141, 142, 143, 144, 145,
147, 163
Группировка 75, 80, 81, 82, 91
Д
Движения регистров 213
Диапазон ячеек 121
Добавление:
группировки 59
переменной 57
функции 57
Доработка системы 176
Драйвер защиты 44
Дублирование карточек 86
Ж
Журнал регистрации 31, 32, 33
Журнал-ордер
по субконто 98
З
Забалансовый счет 193, 222
Запрет изменения
документов 196
Запрос 70, 73, 76, 215, 216,
217, 218
256
Ïðåäìåòíûé óêàçàòåëü
И
Обратная проводка 182
Обслуживание через Интернет 224
Оператор 216
Операции, продленные
во времени 184
Определение:
переменных 71, 89
функций 73
ОСТ 4.071.030 235, 240
Изменение:
ставки НДС 55
документов 204, 206
документов задним числом 204
конфигурации 39
Инвентаризация 189, 190
Инкрементальный подход 173
Интернет-конференция 159
Интернет-рассылки 219
Интернет-форум 217, 251
Интерфейс пользователя 21, 166
ИТС-диск 159
К
Ключ защиты 44, 45, 211
Коллизия 211, 212
Компонента 209, 211, 252
Константа 42
Конструктор запросов 56, 87, 94
Конфигурация 157, 176, 251, 252
Концептуальное
картирование 145, 146
М
Маркер заполнения 120
Мастер функций 121
Метод FIFO 163
Механизм контроля ссылочной
целостности 212
Моделирование процессов 141
Монитор пользователей 30, 31, 47
Монопольный режим 46
Н
Набор прав 20
Незакрытые накладные 191, 192
Нормативы трудоемкости 235, 237
О
Область миграции 210
Обработка документов 43
П
Партнеры-франчайзи 170
Передача изменений 209
Перенос документов 53
Периферийные базы 210
Печатная форма документа 82
План счетов 40, 138
Подложные документы 205
Подмена понятий 202
Поиск важных ошибок
в счет-фактурах 69
Поисковая машина 216, 217
Поисковая система 215, 217
Почтовая рассылка 251
Права доступа 11, 19, 28, 29
Просроченная задолженность 192
Р
Работа со справочниками 55
Распределенная информационная
база 210
Рассылка 219
Расширенный запрос 217
Расширенный фильтр 125
Регламентные отчеты 37
Редактор панели инструментов 26
Реестр:
документов 166
карточек 86
расходных накладных 69, 79,
83, 84
счетов-фактур 69, 76, 79
Резервное копирование 13
Ïðåäìåòíûé óêàçàòåëü
Реквизиты элемента
справочника 55
Рекомендации 160, 167, 172
Реструктуризация данных 210
С
Сайт 216
Сальдо 144
Сбои 16
Свертывание базы данных 51
Сертификат 163, 166, 167
Синтаксис функции 121
Синтаксический контроль 67
Синхронизация данных 209
Скачивание 217
Скидка 204
Скриншот 160
Список 125
Ставка почасовой оплаты 170
Стандарт 235
Сторно 182, 187, 188, 206
Строка поиска 218
Субконто 157, 176, 178
Субсчет 182
Счетчик 82
Т
Таблица регистрации
изменений 212
Тезаурус 177
Технические требования 129
257
Техническое задание 129, 130, 132,
135, 136, 137, 140, 170, 172, 251
Товар в пути 193, 194
ТРИЗ 148, 149, 150, 155
Трэд 251
У
Удаление помеченных объектов 94
Удаленное подразделение 209
Узлы 142, 144, 147, 148
Учетная политика 252
Ф
Фильтр 125
Флеш-накопитель 160
Формирование книги продаж 69
Формула 119, 120
Форум 157, 217, 218, 220, 251
Франчайзи 171
Фрилансер 157, 162
Ш
Шаблон печатной формы
таблицы 105
Э
Экспедитор 196, 198, 199
Экстремальное
программирование 133
Электронная таблица 119
Download