о=ТекСтрокаСпісокНоменклатури.Колічество;
КонецЦікла;
КонецПроцедури
Процедура ПередЗапісью (Відмова, РежімЗапісі, РежімПроведенія)
СуммаПоДокументу=СпісокНоменклатури.Ітог ( Сума );
КонецПроцедури
. Документ «Прихід грошей» - призначений для додавання нового надходження грошей і відомостей про нього.
Модуль об'єкта:
Процедура ОбработкаПроведенія (Відмова, Режим)
Двіженія.Взаіморасчети.Запісать ();
Двіженія.Взаіморасчети.Запісивать=Істина;
Блокування=Новий БлокіровкаДанних;
ЕлементБлокіровкі=Блокировка.Добавить(laquo;РегистрНакопления.Взаиморасчетыraquo;);
ЭлементБлокировки.УстановитьЗначение(laquo;Контрагентraquo;, Контрагент);
ЕлементБлокіровкі.Режім=РежімБлокіровкіДанних.Ісключітельний;
ЕлементБлокіровкі.ІсточнікДанних=СпісокНакладних;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(laquo;Документraquo;, Накладна );
Блокіровка.Заблокіровать ();
Запит=Новий Запит;
Запрос.Текст="ВИБРАТИ
| ПріходДенегСпісокНакладних.Накладная ЯК Накладна
| помістити ВТСпісок
| ІЗ
| Документ.ПріходДенег.СпісокНакладних ЯК ПріходДенегСпісокНакладних
| ДЕ
| ПріходДенегСпісокНакладних.Ссилка= amp; Посилання
|
| індексувати за
| Накладна
|;
|
|////////////////////////////////////////////////////////////////////////////////
| ВИБРАТИ
| ВТСпісок.Накладная,
| ЕСТЬNULL (ВзаіморасчетиОстаткі.СуммаОстаток, 0) ЯК СуммаОстаток
| ІЗ
| ВТСпісок ЯК ВТСпісок
| ЛІВЕ З'ЄДНАННЯ РегістрНакопленія.Взаіморасчети.Остаткі (
| amp; Момент,
| Документ В
| (ВИБРАТИ
| Т.Накладная
| ІЗ
| ВТСпісок ЯК Т)
| І Контрагент= amp; Контрагент) ЯК ВзаіморасчетиОстаткі
| ПО ВТСпісок.Накладная=ВзаіморасчетиОстаткі.Документ
|
| УПОРЯДОЧИТЬ ПО
| ВТСпісок.Накладная.МоментВремені
| ПІДСУМКИ
| СУМА (СуммаОстаток)
| ПО
| ЗАГАЛЬНІ" ;
Запрос.УстановітьПараметр ( Посилання raquo ;, Лінк);
Запрос.УстановітьПараметр ( Момент raquo ;,? (Режим=РежімПроведеніяДокумента.Неоператівний, моментчасу (), що не визначилися));
Запрос.УстановитьПараметр(laquo;Контрагентraquo;, Контрагент);
Вибірка=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Якщо Виборка.Следующій () Тоді
Перевищення=СуммаПоДокументу + Виборка.СуммаОстаток;
Якщо Перевищення gt; 0 Тоді
Відмова=Істина;
Повідомити ( Сума оплати перевищує наявну заборгованість на + Перевищення);
Повернення;
КонецЕсли;
КонецЕсли;
ВиборкаДет=Виборка.Вибрать ();
СуммаРаспределенія=СуммаПоДокументу;
Поки ВиборкаДет.Следующій () І СуммаРаспределенія gt; 0 Цикл
ТекСумма=Мін (СуммаРаспределенія, -ВиборкаДет.СуммаОстаток);
Рух=Двіженія.Взаіморасчети.Добавіть ();
Двіженіе.ВідДвіженія=ВідДвіженіяНакопленія.Пріход;
Двіженіе.Період=Дата;
Двіженіе.Контрагент=Контрагент;
Двіженіе.Документ=ВиборкаДет.Накладная;
Двіженіе.Сумма=ТекСумма;
СуммаРаспределенія=СуммаРаспределенія - ТекСумма;
КонецЦікла;
КонецПроцедури
. Документ «Акт прийому-передачі» призначений для фіксації факту передачі документів від однієї сторони іншій.
Модуль об'єкта:
Процедура Обра...