Содержание

2.40 Документ ПриходныйОрдер.

Товар отгружен, пора получить за него денежки. Деньги мы будем получать с покупателя наличными в кассу по Приходному ордеру. Проводка в документе будет всего одна (Д 50.1 – К 62). Списывать долг с конкретного покупателя мы будем в разрезе конкретной накладной на отгруз. Причем, если сумма в ордере больше непогашенного остатка по указанной накладной, то мы раскидаем остаток прихода денег по остальным непогашенным накладным клиента, а если накладная не указана, то спишем долг по самой ранней накладной. Этот документ будет очень похож на Расходный ордер, поэтому просто скопируем его и внесем небольшие изменения.
Сведем данные по документу в таблицу:
Идентификатор: ПриходныйОрдер
Журнал: Кассовые
Нумератор: Нет       Периодичность: Год
Длина: 5         Тип: число
Уникальность: да       Автонумерация: да
Может являться основанием для документа любого вида?: нет
Проводить: да
Автоматическое удаление движений: да
Автоматическая нумерация строк: да
Бухгалтерский учет: да
Расчет: нет
Оперативный учет: нет
Создавать операцию: Всегда     Редактировать операцию: нет

Является основанием для

Вводится на основании

Шапка

Реквизит Описание ТипЗначения

Доп.

Плательщик от кого С.Контрагенты  
Основание за что платит Д.РасходнаяНакладная  
Сумма сколько Число 12.2 3, +

Таблица

Реквизит Описание ТипЗначения

Доп.

В журнале "Кассовые" добавим в графу таблицы – Сумма из реквизита документа "ПриходныйОрдер" Сумма.
Перейдем к редактированию формы документа. Сделаем все аналогично с Расходным ордером. Модуль формы напишите сами, он тоже аналогичен.
Модуль проведения тоже аналогичен... Пишите сами для тренировки. Только учтите, что 62-ой счет пассивный и сальдо у него есть только по кредиту!

2.41 Документ Ведомость.

Ну вот, наконец, мы перешли к самому главному документу нашей конфигурации – Ведомости на зарплату. По сему наиважнейшему документу мы должны выплатить работникам трудовую копейку. Этот документ будет содержать список сотрудников и суммы к выплате, кроме того, в документе будет особая кнопка для занесения в ведомость всех сотрудников, по которым есть что платить. Сделаем в этом документе возможность редактировать операции.
Сведем все в таблицу:
Идентификатор: Ведомость
Журнал: Ведомости
Нумератор: Нет       Периодичность: Год
Длина: 5         Тип: число
Уникальность: да       Автонумерация: да
Может являться основанием для документа любого вида?: нет
Проводить: да
Автоматическое удаление движений: да
Автоматическая нумерация строк: да
Бухгалтерский учет: да
Расчет: нет
Оперативный учет: нет
Создавать операцию: Всегда     Редактировать операцию: да

Является основанием для

Вводится на основании

Шапка

Реквизит Описание ТипЗначения

Доп.

Таблица

Реквизит Описание ТипЗначения

Доп.

Сотрудник   С.Сотрудники  
Сумма   Число 10.2 +, И
Документ в отдельном журнале.
Приведем форму журнала в вид, нравящийся нам.
Отредактируем форму документа.

Поля АвторДокумента и Курс делаем недоступными. В поля Валюта, ДатаКурса добавляем формулу Валюта(). Вставляем кнопку [Заполнить] с формулой Заполнить(). Вставляем поле текст с формулой Итог("Сумма") – для итога по колонке.
В модуле формы документа пишем:
Перем СтВалюта;
Перем СтДатаКурса;
Перем СтКурс;
//==========================================================
Процедура ВводНового()
  АвторДокумента=СокрЛП(ИмяПользователя());
  ФирмаДокумента=Константа.ОснФирма;
  Валюта=Константа.ОснВалюта;
  ДатаКурса=ДатаДок;
  Курс=1;
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура ПриОткрытии()
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
  ПриЗаписиПерепроводить(1);
КонецПроцедуры
//==========================================================
Процедура Валюта()
  КурсС=СтКурс;
  КратС=СтВалюта.Кратность;
  КурсН=Валюта.Курс.Получить(ДатаКурса);
  КратН=Валюта.Кратность;
  Коэфф=Окр((КурсС*КратН)/(КурсН*КратС),6,1);
// переводим в валюту документа
  Курс=КурсН;
  ВыбратьСтроки();
  Пока ПолучитьСтроку()=1 Цикл
    Сумма=Окр(Сумма*Коэфф,2,1);
  КонецЦикла;
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура Заполнить()
  КурсД=Курс;
  КратД=Валюта.Кратность;
  КурсУ=Константа.ОснВалюта.Курс.Получить(ДатаДок);
  КратУ=Константа.ОснВалюта.Кратность;
  Коэфф=Окр((КурсД*КратУ)/(КурсУ*КратД),6,1); // переводим в валюту документа
  УдалитьСтроки();
// Очищаем табличную часть документа
  БухИтоги=СоздатьОбъект("БухгалтерскиеИтоги");
  БухИтоги.ИспользоватьПланСчетов(ПланыСчетов.Наш);
  БухИтоги.ИспользоватьРазделительУчета(ФирмаДокумента);
  БухИтоги.ИспользоватьСубконто(ВидыСубконто.Сотрудник,,1);
  БухИтоги.ВыполнитьЗапрос(,ТекущаяДата(),"70");
  БухИтоги.ВыбратьСубконто(1);
  Пока БухИтоги.ПолучитьСубконто(1)=1 Цикл
    Сотр=БухИтоги.Субконто(1);
    ИОст=БухИтоги.СКК(1);
    НоваяСтрока();
// Заполняем новыми строками
    Сотрудник=Сотр;
    Сумма=Окр(ИОст*Коэфф,2,1);
  КонецЦикла;
КонецПроцедуры
Напишем модуль проведения документа. Он очень простой.
Процедура ОбработкаПроведения()
  КурсД=Курс;
  КратД=Валюта.Кратность;
  КурсУ=Константа.ОснВалюта.Курс.Получить(ДатаДок);
  КратУ=Константа.ОснВалюта.Кратность;
  Коэфф=Окр((КурсД*КратУ)/(КурсУ*КратД),6,1);
// переводим в валюту документа
  ВыбратьСтроки();
  Пока ПолучитьСтроку() = 1 Цикл
    Операция.НоваяПроводка();
    Операция.Дебет.Счет = СчетПоКоду("70",ПланыСчетов.Наш);
    Операция.Кредит.Счет = СчетПоКоду("50.1",ПланыСчетов.Наш);
    Операция.Дебет.Сотрудник = Сотрудник;
    Операция.Сумма = Окр(Сумма*Коэфф,2,1);
    Операция.Фирма = ФирмаДокумента;
    Операция.Комментарий = "Выплата зарплаты из кассы";
    Операция.НомерЖурнала = "1";
  КонецЦикла;
  Операция.Содержание = "Выплата зарплаты";
  Операция.СуммаОперации = Окр(Итог("Сумма")*Коэфф,2,1);
  Операция.Автор = АвторДокумента;
  Операция.Записать();
КонецПроцедуры
Как видите, все просто и коротко. Проверьте работоспособность документа в 1С:Предприятии. И попробуйте поредактировать операцию, создаваемую документом.


Предыдущая Содержание Следующая