Опубликовано: 03.05.2022

Документы и расчёты в «1С:Бухгалтерия 6.0»

Увидеть полный список документов и расчётов, используемых в программе, можно в окне «Документы и расчеты», для вызова которого в меню «Операции» следует выбрать одноимённый пункт.

Окно 'Документы и расчёты'

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

Назначение других кнопок окна «Документы и расчеты»:

  • «Настройка» — вызывает на экран окно редактора структуры выбранного документа;
  • «Нов.» — инициирует создание нового документа с новой структурой, которую потом необходимо довести до ума в окне редактора структуры;
  • «Коп.» — инициирует создание нового документа, структура которого будет скопирована с указанного документа (то есть с документа, предварительно выделенного в списке);
  • «Уд.» — удаляет из списка (и из программы) выбранный документ;
  • «Зап.» — бесполезная кнопка, предназначенная для сохранения вновь созданной или редактируемой строки данного списка. Кнопка доступна только в момент редактирования графы «Доступ».

Создание нового документа

Чтобы создать новый документ с новой структурой, в окне «Документы и расчеты» следует нажать кнопку «Нов.» и во вновь появившейся строке списка указать полное и сокращённое (графа «Сокр.») название нового документа. Надо заметить, длина сокращённого названия ограничена всего шестью символами, а предназначено оно для идентификации документа в журнале операций.

После добавления нового документа в список, необходимо щёлкнуть по кнопке «Настройка». При этом на экран будет выведено окно редактора структуры документа (см. рис. ниже). Как видно из приведённого рисунка, структура вновь созданного документа содержит два обязательных реквизита шапки (они создаются по умолчанию): «Номер» и «Дата».

Структура нового документа

Также по умолчанию в документе создаются дополнительные реквизиты вида «Комментарий», которые служат для создания и вывода комментирующих текстов в журнале операций в строке, отображающей введённый документ.

Создание новых реквизитов

Чтобы добавить новый реквизит в структуру документа, следует нажать кнопку «Нов.» в окне редактора структуры. При этом на экран будет выведен диалог для выбора вида создаваемого реквизита (см. рис. ниже).

Диалог выбора вида реквизита

Далее для создаваемого реквизита необходимо будет указать название и тип хранимого значения. Для реквизита строкового типа нужно будет также указать максимальную длину значения (графа «Дл.»), для реквизита числового типа — длину и точность (графа «Точн.»).

Примечание 1: В графе «Дл.» задаётся максимальное количество символов, которое может содержать значение данного реквизита. То есть для реквизита строкового типа это будет максимальная длина сохраняемой строки, а для реквизита числового типа — максимальное количество значащих символов (цифр в целой и дробной части), включая символ десятичной точки. Графа же «Точн.» определяет количество цифр в дробной части числа.

Цифры в графе «Пор.» устанавливают порядок обхода элементов диалоговой формы документа в режиме ввода. Если при обходе в режиме ввода какой-то из элементов должен пропускаться, то для данного реквизита в нижней части окна редактора структуры необходимо включить чекбокс «Пропускать при вводе» (см. рис. выше).

Примечание 2: При создании табличной части документа программа автоматически добавляет обязательный реквизит «№», в котором будет содержаться номер строки табличной части.

Редактирование диалоговой формы документа

Чтобы отредактировать диалоговую форму документа, необходимо нажать кнопку «Диалог» в окне редактора структуры документа. При этом на экран выводится окно редактора диалогов (см. рис. ниже).

Редактор диалоговых форм

В окне редактора диалогов с помощью мыши можно любой элемент диалога переместить на другое место, а также изменить размеры этого элемента.

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

Диалог выбора вида реквизита

Обычно с помощью таких дополнительных реквизитов в диалоговой форме выводится информация об итоговых суммах: «Итого сумма», «Итого НДС», «Всего с НДС» и т.п. (см. рис. выше).

Формулы в реквизитах документа

В графе «Выр.» структуры документа записываются формулы реквизитов документа. Назначение формулы зависит от типа реквизита:

  • для вычисляемых реквизитов шапки и табличной части документа (у которых указан признак «Выч.») формула задаёт значение данного реквизита;
  • для невычисляемых реквизитов шапки и табличной части документа (у которых не установлен признак «Выч.») формула может содержать выражение, изменяющее в ходе ввода документа значения других реквизитов после ввода данного реквизита, а также выражения, выдающие контрольное сообщение;
  • для реквизитов вида «Комментарий» формулы формируют комментирующие тексты и цифры, которые потом будут выводиться в журнале операций в строке, отображающей введённый документ;
  • для реквизитов вида «Инф. табло» формулы определяют ту дополнительную информацию, которая будет отображаться в диалоговой форме документа (см. примечание выше).
Окно редактора структуры документа

Формулы записываются по правилам макроязыка. Они могут состоять из выражений и команд, разделённых символом «;» (точка с запятой). Команды записываются без предшествующего символа «!» (восклицательный знак).

Чаще всего в реквизитах используют команды установки периода, реже — команду СООБЩИТЬ.

Макроимена для использования в формулах реквизитов

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

  • ЗН — возвращает значение текущего реквизита шапки документа (точнее, соответствующего данному реквизиту элемента диалоговой формы, на который установлен курсор);
  • ЗНn — возвращает значение реквизита с номером n шапки документа;
  • ЗН| — возвращает значение текущего реквизита табличной части документа;
  • ЗН|n — возвращает значение реквизита с номером n текущей строки табличной части документа;
  • ЗНm|n — возвращает значение реквизита с номером n строки m табличной части документа;
  • ИТОГn — возвращает сумму значений реквизита с номером n всех строк табличной части документа.

Значение любому реквизиту документа можно присвоить с помощью обычного оператора присваивания, например: ЗН4=20. При этом выражение, задающее значение реквизита, имеющего тип "Субконто", "Счет" или "Валюта", должно быть символьным (например, текстовой строкой в кавычках) и содержать код счета или номер валюты, или номер субконто (для многоуровневых — в формате «X:X»).

Если реквизит имеет тип "Субконто", "Счет", "Валюта" или "Дата", сослаться его значение в стандартных макроименах можно с помощью следующих обозначений:

  • {n} — для ссылки на реквизит с номером n шапки документа;
  • {} — для ссылка на текущий реквизит шапки документа;
  • {m|n} — для ссылка на реквизит с номером n строки m табличной части документа;
  • {|n} — для ссылка на реквизит с номером n текущей строки табличной части документа.

То есть, например, для ссылки на дебетовый остаток по счёту, указанному в четвёртом реквизите шапки документа, можно использовать макроимя СКД{4}.

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

Если документ должен формировать проводки

Файл документа

В том случае, если документ должен формировать проводки или содержать печатную форму (например, расходные и приходные кассовые ордера, как правило, не формируют проводок, но используются для печати бланков РКО и ПКО), то к структуре документа необходимо «привязать» дополнительный файл, имя которого следует указать в поле «Файл» структуры документа (см. рис. выше).

Имя файла — произвольное, но необходимо учитывать, что программа создавалась для старых операционных систем Windows’3, Windows’95. То есть в имени должно быть не более восьми символов (английские буквы и цифры). Регистр символов значения не имеет. Расширение имени — .gfd.

Указанный файл будет создан программой автоматически. В нём будут храниться исходный код, формирующий проводки документа, и/или шаблон печатной формы, который вы создадите.

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

Исходный код, формирующий проводки документа

Чтобы отредактировать или написать новый исходный код, формирующий проводки документа, необходимо щёлкнуть по кнопке «Проводки» в окне редактирования структуры документа. При этом на экран будут выведено окно редактора кода.

Окно редактора кода

Команда создания проводки

Для формирования каждой проводки документа используется специальная команда !ПРОВОДКА.

В исходном коде данная команда записывается в отдельной строке. После символов «!ПРОВОДКА» в строке записывается также последовательность реквизитов проводки через точку с запятой(«;»). Причём эти реквизиты должны стоять в строго определенной последовательности:

  1. Дата проводки
  2. Счет дебета
  3. Счет кредита
  4. Сумма проводки
  5. Комментарий
  6. Субконто дебета
  7. Субконто кредита
  8. Количество
  9. Валюта
  10. Сумма в валюте
  11. Номер журнала операций

Обычно эти реквизиты представляют собой числовые или строковые выражения. Некоторые из реквизитов могут отсутствовать, но разделители в виде точки с запятой, соответствующие этим реквизитам, должны присутствовать, если в конце записи есть какой-то реквизит. Например:

!ПРОВОДКА ЗН1; "50"; "51"; 200.00;;;;;;;"БК"

Если все реквизиты в конце строки отсутствуют, соответствующие им разделители можно не ставить. Например:

!ПРОВОДКА ЗН1; "50"; "51"; 200.00

Дата проводки должна совпадать с датой документа, поэтому обычно в качестве даты указывают макроимя, ссылающееся на второй реквизит шапки документа — ЗН2.

Счета дебета и кредита проводки могут указываться как:

  • макроимя, ссылающееся на значение реквизита документа, имеющего тип "Счет", например: ЗН6;
  • код счёта кавычках, например: "68.1";
  • имя переменной, содержащей код счёта в виде строки символов, например: пСчет;
  • символьное выражение, начинающееся с операнда в виде пустой строки, например: ""+ЗН7+".22";
  • макроимя с символом «&», ссылающееся на текущий счёт, если использовалась команда !ВЫБРАТЬ СЧЕТ.

Сумма проводки указывается в виде числа или числового выражения, например: ЗН3*0.2.

Текст комментария (содержания) проводки указывается как строковое выражение. Например: "Счет пр. "+СН{|2}.

Субконто дебета и/или кредита проводки может быть указано как:

  • значение реквизита, имеющего тип "Субконто", например: ЗН|2;
  • номер вида субконто и номер субконто в кавычках, например: "2:5:1";
  • имя переменной, содержащей номер вида субконто и номер субконто в виде строки символов. Например: пТовар;
  • макроимя с символом «&», ссылающееся на текущее субконто, если использовалась команда !ВЫБРАТЬ СУБКОНТО.

Количество (количественное выражение) проводки указывается в виде числа или выражения числового типа.

Валюта проводки может быть указана как:

  • значение реквизита, имеющего тип "Валюта";
  • число, соответствующее коду валюты, например: 1;
  • имя переменной, содержащей код валюты в виде числа;
  • макроимя с символом «&», ссылающееся на текущую валюту, если использовалась команда !ВЫБРАТЬ ВАЛЮТУ.

Сумма проводки в валюте указывается в виде числа или числового выражения.

Номер журнала операций — строка из одного или двух символов, либо строковое выражение. Например: 68 или "ПР" или ЗН|7.

Чтобы при записи и последующем редактировании команды не запутаться с реквизитами проводки, в исходном коде команду !ПРОВОДКА, как правило, предваряют строкой комментария со списком реквизитов, расположенных в надлежащем порядке:

*         Дата;  Д;    К;  Сумма; Содержание;    Субк Д; Субк К;
!ПРОВОДКА ЗН2; "50"; ЗН|4; ЗН|5; пНомер+" "+пКому; ;ЗН|7

Цикл выборки строк табличной части документа

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

  • !ВЫБРАТЬ СТРОКИ — открыть автоматическую выборку строк (всех по порядку) и выбрать первую строку;
  • !СЛЕДУЮЩАЯ СТРОКА — выбрать следующую строку из выборки и повторить все действия от команды !ВЫБРАТЬ СТРОКИ до данной команды. Цикл повторяется до тех пор, пока не будет выбрана последняя строка.

Так как в документах, содержащих многострочную часть, проводки формируются, как правило, по каждой строке многострочной части, в исходном коде, формирующем проводки документа, внутри тела цикла !ВЫБРАТЬ СТРОКИ…СЛЕДУЮЩАЯ СТРОКА обычно размещаются команды !ПРОВОДКА.

Пример:

!ВЫБРАТЬ СТРОКУ
   !пСумма=СКД41:{|2}/СКД41:{|2}Н*ЗН|3
   !*       Дата;  Д;     К;     Сумма;     Содержание;                      Субк Д; Субк К; Кол
   !ПРОВОДКА ЗН2; "90.2"; "41.1"; пСумма; "НК "+ЗН1+": "+СН{|2}+" по средней"; ЗН7; ЗН|2; ЗН|3
!СЛЕДУЮЩАЯ СТРОКА

Для получения значений реквизитов документа в цикле !ВЫБРАТЬ СТРОКИ…СЛЕДУЮЩАЯ СТРОКА могут использоваться следующие макроимена:

  • ЗНn — возвращает значение реквизита с номером n шапки документа;
  • ЗН|n — возвращает значение реквизита с номером n текущей (выбранной) строки многострочной части документа;
  • ЗНm|n — возвращает значение реквизита с номером n строки m многострочной части документа.

Печатная форма документа

Шаблон печатной формы документа также хранится в файле документа. Для редактирования данного шаблона необходимо щёлкнуть по кнопке «Форма» в окне редактирования структуры документа. При этом откроется окно редактора шаблонов печатных форм.

Редактор печатных форм

Практически все действия с элементами шаблона печатной формы в редакторе шаблонов печатных форм выполняются с использованием палитры инструментов (см. рис. ниже). Если панель палитры инструментов отсутствует на экране, её можно вызвать через главное меню: «Действия -> Палитра инструментов». Здесь же в меню «Действия» продублированы основные команды панели палитры.

Палитра инструментов

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

Редактирование содержимого ячеек

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

Содержимое ячеек шаблона

Подробнее о составлении выражений я рассказывал в своей предыдущей статье.

Программный код в шаблоне печатной формы

Выражения (формулы), используемые в ячейках шаблона печатной формы, должный быть простыми, то есть содержать только имена переменных или макроимена реквизитов документа, которые при формировании печатной формы будут заменены конкретными значениями. Если же для вывода какого-то показателя требуется предварительно произвести какие-то вычисления, то выполняться данные вычисления должны в программном коде, который необходимо разместить в разделителях секций шаблона.

В окне редактора шаблонов такие разделители отображаются в виде линий красного цвета. Чтобы посмотреть исходный код, содержащийся в разделителе, необходимо щёлкнуть по разделителю мышкой. Код при этом отобразится в нижнем поле панели палитры (см. рис. ниже).

Разделитель секций

Поскольку код, содержащийся в разделителе, может быть довольно объёмным, для удобства работы с ним следует щёлкнуть по кнопке «Редактировать» (). При этом на экран будет выведено окно редактора текста (см. рис. ниже).

Окно редактора кода

Формирование многострочной части печатной формы

Многострочная часть печатной формы в таких документах как накладные, счета-фактуры, формируется в цикле !ВЫБРАТЬ СТРОКИ…СЛЕДУЮЩАЯ СТРОКА. Ячейки таблицы, вывод которых необходимо повторять заключаются между двумя разделителями секций. При этом в верхний разделитель помещают команду !ВЫБРАТЬ СТРОКИ, в нижний — команду !СЛЕДУЮЩАЯ СТРОКА (см. рис. ниже).

Команды формирования многострочной части документа

Примечание: В шаблонах печатных форм с многострочной частью после последних объектов формы (в конце документа) следует ставить дополнительный разделитель секций (см. рис. ниже). В противном случае нижняя часть документа (та, что находится ниже разделителя, содержащего команду !СЛЕДУЮЩАЯ СТРОКА) может быть перенесена на другую страницу. Это особенность данной версии программы.

Шаблон печатной формы

Для принудительного же переноса содержимого на другую страницу, если возникнет такая необходимость, можно воспользоваться командой !НОВАЯ СТРАНИЦА.

Другие статьи по схожей тематике