Методика постановки задачи

05.07.15

Управление ИТ - Стандарты и документация

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

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

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


Метод состоит из двух этапов:

1. Описание ожидаемого результата в виде таблицы. При этом нужно нарисовать таблицу с заголовками полей.

2. Перечисление всех источников данных. При описании данных нужно параллельно заполнять таблицу ожидаемого результата.

Описание задачи считаем законченным, когда все поля ожидаемой таблицы заполнены.

 

Продемонстрирую суть методики на примере.

 

Пример. Задача расчета себестоимости.

Пусть нам нужно описать алгоритм списания по ФИФО при реализации товара.

Шаг 1: в качестве ожидаемого результата хотим получить движения в регистре Остатки после проведения документа Расходная накладная. Рисуем заголовки полей регистра:

Регистр Остатки

  Регистратор     Период     Склад     Товар     Количество  
         

 

Нарисуем одну строку под шапкой, но не заполняем ее

 

Шаг 2.1: Заполняем поля в ожидаемом результате и параллельно рисуем источники данных.

Поля Регистратор, Период и Склад нужно взять из документа Расходная накладная, поэтому нарисуем эту табличку и параллельно заполним соответствующие поля в ожидаемом результате.

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10  С1    


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10  С1


Шаг 2.2: Связь с первым источником данных описали, переходим к следующим полям.

Поле Товар заполняем из табличной части Товары документа Расходная накладная. Количество указываем в табличной части, но не заносим в конечный результат, потому что оно участвует в расчетах, но не переносится напрямую

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10   С1   Т1   


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10   С1 


Документ Расходная накладная (табличная часть)

  Ссылка     Товар     Количество  
 РН1  Т1   20


Шаг 2.3: Описываем заполнение последнего поля.

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

Регистр Остатки (ожидаемый результат)

  Регистратор     Период     Склад     Товар     Количество  
 РН1  Д10   С1   Т1   - 3 
 РН1  Д10  С1  Т1  - 17


Документ Расходная накладная

  Ссылка     Дата     Склад  
 РН1  Д10   С1 


Документ Расходная накладная (табличная часть)

  Ссылка     Товар     Количество  
 РН1  Т1   20


Регистр Остатки

  Регистратор     Период     Склад     Товар     Количество  
 ПН1  Д1   С1   Т1   3 
 ПН2  Д2  С1  Т1  30

 

 В результате получили детальное описание задачи. При этом оно содержит только важные детали.

 

Этот способ я использую при постановке задач по проведению документов и написанию отчетов.

методика тз программирование постановка задача

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Стандарты и документация Россия Бесплатно (free)

Продолжаю разбирать профстандарты. Беру стандарт «Архитектор программного обеспечения» (06.003) и сверяю с тем, кого у нас в 1С зовут архитектором. Зовут кого угодно - спеца по производительности, тимлида, ревьювера, самого опытного на проекте, - но почти никогда того, кто на самом деле делает работу архитектора. А она одна: принимать архитектурные решения и отвечать за них.

06.07.2026    874    13    ardn    12    

10

Компетенции и навыки Стандарты и документация Программист Россия Бесплатно (free)

Разбираю профстандарт «Программист» - что государство официально считает нашей профессией, какие трудовые функции в нее входят и почему «я в домике, не трогайте, я программирую» - позиция, противоречащая стандарту. Название провокационное, но я не шучу: к концу статьи объясню, почему «разработчик» - просто красивое слово для программиста.

22.06.2026    4407    15    ardn    46    

25

Стандарты и документация Бесплатно (free)

Про то, как перестать терять знания о принятых архитектурных решениях. Разбираю, что такое Architecture Decision Record (ADR) и как начать вести его буквально сегодня.

18.06.2026    1349    0    ardn    10    

19

Стандарты и документация Бесплатно (free)

ИИ уже умеет хорошо помогать в рутинных текстах: черновиках регламентов, протоколах встреч, служебной переписке, памятках и уведомлениях. Но в 1С-практике есть важная граница: ИИ должен ускорять подготовку текста, а не подменять ответственность, смысл и согласование. Разбираю, где ИИ реально полезен, какие документы ему можно доверять, а какие нужно перепроверять особенно жёстко.

18.06.2026    427    0    YA_826532418    3    

4

Работа с требованиями Стандарты и документация Россия Бесплатно (free)

“Не хотим заполнять документ вручную, пусть он сам откуда-то подтянет данные, заполнится и запишется” — звучит понятно только до тех пор, пока разработчик не начнет задавать вопросы. Откуда подтянуть? При каких условиях? Что делать, если данных нет? Кто имеет право запускать сценарий? Что должно попасть в другую базу 1С после согласования? Разбираем, почему мутная задача всегда становится дорогой, какие требования нужны 1С-разработчику до начала реализации и как простая карточка задачи экономит часы разработки, уточнений и переделок.

16.06.2026    417    0    NikolayMaerov    0    

3

Стандарты и документация 1С 8.3 Россия Бесплатно (free)

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

15.06.2026    392    0    NikolayMaerov    0    

3

Стандарты и документация Бесплатно (free)

НСИ часто вспоминают слишком поздно: когда отчёты уже не сходятся, интеграции падают, маршруты согласования уходят не тем людям, а пользователи спорят, какой контрагент или номенклатура “правильные”. Разбираем, почему нормативно-справочная информация критична для 1С-проектов, какие ошибки встречаются чаще всего и как начать приводить НСИ в порядок без гигантского отдельного проекта.

11.06.2026    687    0    YA_826532418    0    

3

Стандарты и документация 1С:Предприятие 8 1С:ERP Управление предприятием 2 Машиностроение и приборостроение Бесплатно (free)

В связи с тем, что большинство предприятий, на которых мы проводим внедрения, работают с конструкторской документацией, составили краткую справку по подготовке к внедрению «1С:ERP Управление предприятием 2».

20.05.2026    620    0    AiBCifra-1S-ERP-UH    1    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mosAdm 135 05.07.15 20:07 Сейчас в теме
Вы явно не Андрей Габец. Эту методику он читает в 3-м УЦ наверно лет 10 уже.
2. json 3430 05.07.15 22:41 Сейчас в теме
(1) mosAdm, я не Андрей Габец и его курсов не посещал. Я простой разработчик и до такой схемы дошел самостоятельно. Мне приятно, что это уже кто-то придумал, да к тому же еще и читает на курсах. Значит, она действительно имеет ценность.
У меня есть еще куча идей для статей, которые я планирую опубликовать в ближайшее время. Эта методика хорошо ложится для создания юнит-тестов. Чуть позже выберу время и опубликую пример, как это использовать на практике.
Andreeei; dddxddd; +2 Ответить
8. dddxddd 09.07.15 17:33 Сейчас в теме
(2) я даже не знаю что такое 3-м УЦ, но когда объясняю задачу, рисую аналогичные таблички...
(1) mosAdm, не всему что начитывют учителя, можно верить (правда не в этом примере). Но самое главное это надо уметь применять на практике...
5. Mi4man 176 06.07.15 13:20 Сейчас в теме
(1) mosAdm, Автор выложил всем, а Габец пусть дальше читает...
verunca; Andreeei; shumvlesu; +3 Ответить
3. BigRig 18 06.07.15 09:13 Сейчас в теме
Доброго времени суток!

Почему первые даты Д10?
Зачем мы брали расходные, если в итоге приходные используются?
4. json 3430 06.07.15 11:34 Сейчас в теме
(3) DimaBab, в моем примере предполагается, что Д1 раньше, чем Д2, а Д2 - раньше, чем Д10.
В задаче РН - расходная накладная, ПН - приходная накладная. Приход должен быть раньше расхода.
6. СергейК 51 08.07.15 09:24 Сейчас в теме
Интересная методика. Попробую использовать. Спасибо, что поделились!
7. DrAku1a 1798 09.07.15 03:52 Сейчас в теме
СокрЛП(Статья): Планируя структуру документа "от регистра" (от результата), надо определить - какие измерения будут "в целом на документ", а какие "построчно" - в случае с регистром "Товары на складах" и документом "Реализация" - построчно будут реквизиты "Товар" и "Количество", а в целом на документ - "Регистратор", "Период" и "Склад".

Конкретизируйте название. "Методика постановки задачи" предполагает наличие общей методики (на разные виды задач, не только же документы и отчеты делаем).
9. pro1c@inbox.ru 188 09.08.15 17:59 Сейчас в теме
для примитивных случаев самое оно!
Для отправки сообщения требуется регистрация/авторизация