Нумерация документа счет с дробью УСН 7.7
Есть УСН 7.7 появилась необходимость нумеровать счета на оплату с дробной часть, т.е. есть счет №10 на сумму 50 000 руб. и на его основании надо в течении года для контрагента выписать счета 10/1 на сумму 5000 руб., 10/2 на сумму 10000 руб. и вот надо настроить такую сквозную нумерацию именно для счетов.
Натолкните, пожалуйста, на мысль, как это реализовать в УСН 7.7 ?
Натолкните, пожалуйста, на мысль, как это реализовать в УСН 7.7 ?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В УСН 77 же текстовый номер, если я правильно помню?
Чтобы автонумерацию не сбивать, все доп.номера должны быть "раньше". Например, номера подчиненных счетов можно формировать так:
т.е., если нумерация основных счетов - 001, 002, 003, то автонумерация подчиненных будет 0001/1, 0001/2, 0001/3 и т.д.
Чтобы автонумерацию не сбивать, все доп.номера должны быть "раньше". Например, номера подчиненных счетов можно формировать так:
ПодчиненныйСчет.УстановитьНовыйНомер("0"+СокрЛП(ДокументОснование.Номер)+"/");
т.е., если нумерация основных счетов - 001, 002, 003, то автонумерация подчиненных будет 0001/1, 0001/2, 0001/3 и т.д.
(2)
Писать то можно все, что угодно, но мне надо, чтобы в допномере поддерживалась автонумерация, т.е. копируем счет 0001 и при его сохранении номер у него уже 0001/1, если создаем новый счет то у него номер просто 0002, без всяких /...
как вариант, добавить новый реквизит ВнутреннийНомер - строка 20/30 - писать туда все что угодно
Писать то можно все, что угодно, но мне надо, чтобы в допномере поддерживалась автонумерация, т.е. копируем счет 0001 и при его сохранении номер у него уже 0001/1, если создаем новый счет то у него номер просто 0002, без всяких /...
1) Чтобы не было конфликтов по нумерации, длину номера увеличить с 6 до 8.
2) в Вашей версии УСН вставку вставить в процедуру ВводНового форме счета, после строки "Если Копирование=1 Тогда"
3) Первый документ сделать с номером "0000". Нумерация счетов при создании будет - 0001, 0002, 0003 и т.д. А при копировании нумерация будет 00001/01, 00002/02 и т.д.
2) в Вашей версии УСН вставку вставить в процедуру ВводНового форме счета, после строки "Если Копирование=1 Тогда"
3) Первый документ сделать с номером "0000". Нумерация счетов при создании будет - 0001, 0002, 0003 и т.д. А при копировании нумерация будет 00001/01, 00002/02 и т.д.
Процедура ВводНового(Копирование, ДокОснование);
Новый = 1;
Если Копирование = 1 Тогда //копирование документа
// вставка. добавляем нумерацию счетов с "/" при вводе копированием
НомерГлавногоДокумента = ДокОснование.НомерДок;
Слеш = Найти(НомерГлавногоДокумента, "/");
Если Слеш>0 Тогда
НомерГлавногоДокумента = Сред(Лев(НомерГлавногоДокумента,Слеш-1),2);
КонецЕсли;
УстановитьНовыйНомер("0"+СокрЛП(НомерГлавногоДокумента)+"/");
// конец вставки
Возврат;
КонецЕсли;
РасчетныйСчет = глЗначениеПоУмолчанию("ОсновнойБанковскийСчет");
ВариантОтправки = 1;
ТипЦен = ?(ПустоеЗначение(глЗначениеПоУмолчанию("ОсновнойСклад"))=1, "", глЗначениеПоУмолчанию("ОсновнойСклад").ТипЦен);
Форма.НДС.Видимость(0);
КонецПроцедуры
Показать // вставка. добавляем нумерацию счетов с "/" при вводе копированием в ВводНового()
// ДокументОснование - это новый созданный реквизит документа счет. Тип реквизита: Документ.Счет
НомерГлавногоДокумента = ДокОснование.НомерДок;
Слеш = Найти(НомерГлавногоДокумента, "/");
Если Слеш>0 Тогда
НомерГлавногоДокумента = Сред(Лев(НомерГлавногоДокумента,Слеш-1),2);
ДокументОснование = ДокОснование.ДокументОснование;
Иначе
ДокументОснование = ДокОснование;
КонецЕсли;
УстановитьНовыйНомер("0"+СокрЛП(НомерГлавногоДокумента)+"/");
ЗаполнитьТЧПрикопировании(ДокументОснование);
// конец вставки
// ТЧПрикопировании(ДокОснование) для заполнения ТЧ очередного подчиненного счета.
// Передается ссылка на главный счет
// Из количеств товаров в главном счете вычитаем выписанные количества этого же товара во всех подчиненных счетах
// Результат заносим в ТЧ очередного подчиненного счета.
Процедура ЗаполнитьТЧПрикопировании(ДокОснование)
Перем Запрос, ТекстЗапроса;
// найдем что уже выписано в других счетах
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Запрос)
|Период с (НачГода(ТекущаяДата())) по (КонГода(ТекущаяДата()));
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;
|Товар = Документ.Счет.Товар;
|Количество = Документ.Счет.Количество;
|ДокументОснование = Документ.Счет.ДокументОснование;
|Функция КоличествоСумма = Сумма(Количество);
|Группировка Товар без групп;
|Условие(ДокументОснование = ДокОснование);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Табл = СоздатьОбъект("ТаблицаЗначений");
ДокОснование.ВыгрузитьТабличнуюЧасть(Табл);
// Вычитаем
Пока Запрос.Группировка() = 1 Цикл
НС=0;
Если Табл.НайтиЗначение(Запрос.Товар,НС,"Товар")>0 Тогда
НовоеКоличество = Табл.ПолучитьЗначение(НС,"Количество")-Запрос.КоличествоСумма;
Если НовоеКоличество>0 Тогда
Табл.УстановитьЗначение(НС,"Количество",НовоеКоличество);
Иначе
Табл.УдалитьСтроку(НС);
КонецЕсли;
КонецЕсли;
КонецЦикла;
// пересчитываем суммы в ТЧ документа
ЗагрузитьТабличнуюЧасть(Табл);
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Пересчет("Количество");
КонецЦикла;
КонецПроцедуры
// ТЧПрикопировании(ДокОснование)
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот