Товар отгружен, пора получить за него денежки.
Деньги мы будем получать с покупателя наличными в кассу по Приходному ордеру.
Проводка в документе будет всего одна (Д 50.1 – К 62).
Списывать долг с конкретного покупателя мы будем в разрезе конкретной накладной на отгруз.
Причем, если сумма в ордере больше непогашенного остатка по указанной накладной,
то мы раскидаем остаток прихода денег по остальным непогашенным накладным клиента,
а если накладная не указана, то спишем долг по самой ранней накладной.
Этот документ будет очень похож на Расходный ордер,
поэтому просто скопируем его и внесем небольшие изменения.
Сведем данные по документу в таблицу:
Идентификатор: ПриходныйОрдер Журнал: Кассовые Нумератор: Нет       Периодичность: Год Длина: 5         Тип: число Уникальность: да       Автонумерация: да Может являться основанием для документа любого вида?: нет |
|||||
Проводить: да Автоматическое удаление движений: да Автоматическая нумерация строк: да |
Бухгалтерский учет: да Расчет: нет Оперативный учет: нет |
||||
Создавать операцию: Всегда     Редактировать операцию: нет | |||||
Является основанием для |
Вводится на основании |
||||
Шапка |
|||||
Реквизит | Описание | ТипЗначения |
Доп. |
||
Плательщик | от кого | С.Контрагенты |   | ||
Основание | за что платит | Д.РасходнаяНакладная |   | ||
Сумма | сколько | Число 12.2 | 3, + | ||
Таблица |
|||||
Реквизит | Описание | ТипЗначения |
Доп. |
Ну вот, наконец, мы перешли к самому главному документу
нашей конфигурации – Ведомости на зарплату.
По сему наиважнейшему документу мы должны выплатить работникам трудовую копейку.
Этот документ будет содержать список сотрудников и суммы к выплате,
кроме того, в документе будет особая кнопка для занесения в ведомость всех сотрудников,
по которым есть что платить. Сделаем в этом документе возможность редактировать операции.
Сведем все в таблицу:
Идентификатор: Ведомость Журнал: Ведомости Нумератор: Нет       Периодичность: Год Длина: 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С:Предприятии.
И попробуйте поредактировать операцию, создаваемую документом.