Форум Чистова. Подготовка к экзаменам 1С

Аттестация "1С:Специалист" => Аттестация "1С:Специалист" УТ 11 => Тема начата: LepRiKonS от Январь 20, 2014, 12:55:15 pm

Название: Задача 2.30
Отправлено: LepRiKonS от Январь 20, 2014, 12:55:15 pm
На экзамене попалась эта задача. Экзамен сдан на 5. 

 Решал следующим образом:
 1) Непериодический РС "Лимиты по подразделениям" - для лимитов.
 2) Далее используем типовые регистры (это важно):
 а) ДвиженияДенежныеСредстваКонтрагент - анализ суммы отгрузок за месяц между подразделением и поставщиком
 б) ДенежныеСредстваКВыплате (остатки) - анализ суммы остатка по заявке
 3) Доработка документа "РКО", где программным образом отключается проверка реквизита "ЗаявкаНаРасходованиеДенежныхСредств" если СуммаПлана+ОстокСуммыВсехЗаявок (и п. 2б) >= СуммеОтгрузок (п. 2а)
 4) Отчет строим по нашему регистру и ДвиженияДенежныеСредстваКонтрагент
Название: Задача 2.30
Отправлено: Alexander от Июль 03, 2014, 09:41:26 am
Неужели можно игнорировать типовой механизм лимитов со статьями ДДС?
Название: Задача 2.30
Отправлено: nodalt от Сентябрь 10, 2014, 06:49:31 pm
Alexander, какой типовой механизм Вы имеете в виду?
Название: Задача 2.30
Отправлено: trofrom от Сентябрь 13, 2014, 04:06:59 pm
Типовой механизм появился в последних релизах, а экзаменационном релизе (11.1.2.8)  его ещё нет)))
Название: Re: Задача 2.30
Отправлено: LepRiKonS от Декабрь 08, 2014, 04:10:31 pm
Неужели можно игнорировать типовой механизм лимитов со статьями ДДС?
Можно, когда его не было. Появился он через месяца - два после сдачи.
Название: Re: Задача 2.30
Отправлено: LepRiKonS от Декабрь 08, 2014, 04:11:03 pm
Типовой механизм появился в последних релизах, а экзаменационном релизе (11.1.2.8)  его ещё нет)))
Все верно.  ;)
Название: Re: Задача 2.30
Отправлено: garnett_2187 от Январь 08, 2015, 07:01:10 pm
Подскажите как мне в  РКО получить подразделение? с типом оплата поставщику подразделение скрыто и не заполнено (даже если на основании заявки на расходование с заполненным подразделением)....
Если идти в ТЧ расшифровка - то там можно вытащить из  заявок - но суть то в том чтобы создавать рко без заявок.

сделать видимым поле подразделение и делать на него проверку? - как это повлияет на типовой механизм - движения в регистры (типовые) будут с подразделением...

Тянуть из заказов ТЧ расшифровки (объектРасчетов) - а если разные подразделения? тем более нужно делать РКО только на основании поступления (с заказом)...

или я чтото не понимаю.

Название: Re: Задача 2.30
Отправлено: JL от Январь 19, 2015, 12:27:33 pm
Выложите, пожалуйста, решение этой задачи на 11.1.6 и старше - экзамен принимают теперь на более новых релизах.

Вот результаты с экзамена, эта задача не сдана, использовалось решение из архива пользователя trofrom.
1. Надо обязательно использовать типовые регистр и документ.
2. Остатки нельзя получать сложением оборотов.
3. Регистр накопления оборотов в регистр остатков преобразовать нельзя, т.к. рушится работа конфигурации.

Название: Re: Задача 2.30
Отправлено: elisey357 от Февраль 11, 2015, 12:25:19 pm
Скажите пожалуйста, типовой регистр это значит пользоваться тем, который есть в демо, или же можно для этой задачи создать новый регистр?
И еще, вот с такой ошибкой сталкивался кто?
(https://pp.vk.me/c623326/v623326568/1bcb2/aMEUSfRNAfE.jpg)
Название: Re: Задача 2.30
Отправлено: mswanted от Апрель 01, 2015, 02:29:28 pm
Добрый день, в последних релизах 11.1.9 , на сколько я понял уже реализовали данный функционал.
Получается решение сводиться к добавлению нового варианта отчета Лимиты расхода денежных средств   ...??????
Название: Re: Задача 2.30
Отправлено: 7183847 от Май 04, 2015, 05:17:45 pm
https://www.youtube.com/watch?v=vdj6LOBstHI
Название: Re: Задача 2.30
Отправлено: Karabas от Июль 06, 2015, 07:57:14 am
Т.к. в релизе 11.1.9.61 и выше лимиты без заявок уже реализованы, то надо решать по аналогии с 2.31 (полный аналог 2.30, только "Списание безнал. ДС" вместо РКО и в кассе надо галку "Разрешить выдачу ДС без заявок" в 2.30):


Пояснение.
Релиз 11.1.9.61. Функционал лимита расхода ДС уже реализован.
Стандартная схема работает следующим образом. Документ Лимит расхода ДС делает запись суммы в регистр Лимит расхода ДС по полю Лимит.
Заявка на расходование ДС делает запись суммы по полю Расход в пределах лимита. При установке флага Сверх лимита - по полю Расход сверх лимита.
При установленом флаге для р/с Разрешить списание ДС без заявок на оплату документ Списание безналичных ДС делает запись суммы по регистру Лимит расхода ДС по полю Расход сверх лимита. В противном случае (при отключенном флаге для р/с Разрешить списание ДС без заявок на оплату) движение по регистру делает документ Заявка на расходование ДС, на основании которой был введен документ Списание безналичных ДС.
В конфигурации реализована новая схема контроля остатков, т.е. сначала делается проведение по регистру, а потом в случае наличия отрицательных остатков выдается сигнал об ошибке и транзакция откатывается.
Проведение по регистрам и контроль правильности провдения выполняется стандартными механизмами конфигурации.

Решение работает след. образом.
В документе Списание безналичных ДС при проведении без заявки для хоз. операции Оплата поставщику делаем запись суммы в регистр Лимит расхода ДС по полю Расход в пределах лимита, а не по Расход сверх лимита. Также для этого документа добавляем регистр Лимит расхода ДС в список контролируемых регистров на наличие отрицательных остатков. В случае исчерпания лимита выдается сообщение об ошибке и документ не проводится.
Та же ошибка и при проведении Заявки на расходование ДС, что вынуждает использовать флаг Сверхлимита.
Далее на основании заявки вводим документ Списание безналичных ДС, который движений по этому регистру уже не делает.

В отчете Лимит расхода ДС есть графа Недорасход - остаток лимита.

Минусы - вмешиваемся в работу типового механизма.
Плюсы - все делается просто и быстро, вмешательство опять же использует стандартные механизмы.


Решение:
1) Включить ф.о. “Заявки на расходование денежных средств” (все галочки).
2) Для р/с включить флаг «Разрешить списание ДС без заявок»
3) Документ Списание безналичных ДС – модуль менеджера
В процедуре “ЗаполнитьИменаРеквизитовПоХозяйственнойОперации” добавить реквизит для хозяйственной операции с видом “Оплата поставщику”:
МассивРеквизитовОперации.Добавить(“Подразделение”);
4) Документ Списание безналичных ДС – модуль менеджера
В функции ТекстЗапросаТаблицаЛимитыРасходаДенежныхСредств для хоз. операции Оплата поставщику переопределить выборку суммы в поле РасходВПределахЛимита, а не РасходСверхЛимита
ЕСТЬNULL(ТаблицаРасшифровкаПлатежа.Сумма, ДанныеДокумента.СуммаДокумента) * &КоэффициентПересчетаВВалютуУпр КАК РасходВПределахЛимита,
0 КАК РасходСверхЛимита
Для остальных операций соответственно добавить
0 КАК РасходВПределахЛимита,
5) Документ Списание безналичных ДС – модуль объекта
В процедуре СформироватьСписокРегистровДляКонтроля() добавить после Массив.Добавить(Движения.ДенежныеСредстваКВыплате); след. код.
Если ЭтотОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОплатаПоставщику Тогда
Массив.Добавить(Движения.ЛимитыРасходаДенежныхСредств);
КонецЕсли;
6) Общий модуль ПроведениеСервер, Процедура ВыполнитьКонтрольРезультатовПроведения
В ветку
Если ЕстьИзмененияВТаблице(ДанныеТаблиц,”ДвиженияЛимитыРасходаДенежныхСредствИзменение”) Тогда
добавить след. код (где именно добавить понятно при проведении – выскакивает ошибка Поле ДатаПлатежа не найдено)
Если ТипЗнч(Объект) = Тип(“ДокументОбъект.СписаниеБезналичныхДенежныхСредств”) Тогда
Период = Объект.Дата;
7) В отчете Лимиты расхода ДС создаем новый вариант с подразделениями

Итого строк 40 кода, использование стандартного отчета, в конструктор запросов вообще не заходим, основная методика CtrlC – CtrlV.

Или все так просто, или я чего-то не понимаю  :-[

PS: на экзамене попался другой билет
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Август 16, 2015, 03:50:37 pm
Здравствуйте, подскажите, почему все используют регистр "ДвиженияДенежныеСредстваКонтрагент"? Ведь нам нужно контролировать лимит по подразделению, а не контрагенту.
Вот ход моих мыслей:
Я думаю при проведении документа проверять вот такую формулу:
Сумма РКО + (ДСКВыплате (не исполненные заявки)) + (ДСНаличные (выплаченныеРКО)) > ЛимитыРасходаДС тогда отказ.

Очень хочется услышать Ваши мысли по этому поводу.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Август 17, 2015, 03:25:11 pm
Вот мое решение:

Эта процедура вставляется в конце обработки проведения.

Как мы видим, есть отличие от большинства решений в сети - я не учитываю суммы в пределах лимита, т.к. они проходят "вне очереди" по условию задачи:

Цитировать
При превышении лимита оплата возможна только по предварительно выставленной заявке

т.е. превышение у нас может быть, но только по заявке. Значит мы обрабатываем сумму превышения лимита, так же Вы могли заметить, что сумма документа не прибавляется к сумме, дело в том, что она уже входит в сумму превышения лимита.

Где-то был пост, что решить задачу можно без кодирования, я увы не додумался.

Процедура ПревышенЛимитПоПодразделению(Отказ)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств,
| СУММА(ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот) КАК ЛимитОборот,
| СУММА(ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот) КАК РасходСверхЛимитаОборот
|ПОМЕСТИТЬ ВТЛимиты
|ИЗ
| РегистрНакопления.ЛимитыРасходаДенежныхСредств.Обороты(
| &НачалоПериода,
| &КонецПериода,
| Месяц,
| Организация = &Организация
| И Подразделение = &Подразделение
| И СтатьяДвиженияДенежныхСредств В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| РасходныйКассовыйОрдерРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств
| ИЗ
| Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
| ГДЕ
| РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = &Ссылка
| И РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику))) КАК ЛимитыРасходаДенежныхСредствОбороты
|ГДЕ
| ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот > 0
|
|СГРУППИРОВАТЬ ПО
| ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТЛимиты.РасходСверхЛимитаОборот - ВТЛимиты.ЛимитОборот КАК Перерасход,
| ВТЛимиты.СтатьяДвиженияДенежныхСредств КАК Статья
|ИЗ
| ВТЛимиты КАК ВТЛимиты
|ГДЕ
| ВТЛимиты.РасходСверхЛимитаОборот - ВТЛимиты.ЛимитОборот > 0";

Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(Дата));
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(Дата));
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Подразделение", Касса.Подразделение);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ОплатаПоставщику);

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
КонецЕсли;

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
Сообщить("Превышение лимита по статье " + Выборка.Статья + " на " + Выборка.Перерасход);
КонецЦикла;
КонецПроцедуры
Название: Re: Задача 2.30
Отправлено: ВиталийЧебан от Август 21, 2015, 08:13:04 pm
Qwerty1,  чем вам не угодило, на мой взгляд отличное, решение danissmo из поста http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204 (http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204) ? Делается за 10 минут.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Август 22, 2015, 04:08:58 am
Qwerty1,  чем вам не угодило, на мой взгляд отличное, решение danissmo из поста http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204 (http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204) ? Делается за 10 минут.

Мое решение делается не дольше и только своей процедурой, а вот как сделать без единой строчки кода?
Название: Re: Задача 2.30
Отправлено: frd от Август 24, 2015, 10:12:50 am
Qwerty1,  чем вам не угодило, на мой взгляд отличное, решение danissmo из поста http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204 (http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204) ? Делается за 10 минут.
Но ведь это же решение задачи 2.31, а не 2.30.
В этой задаче какие регистры нам нужно контролировать, кроме ЛимитыРасходаДенежныхСредств ?
Название: Re: Задача 2.30
Отправлено: ВиталийЧебан от Август 24, 2015, 10:39:36 am
Qwerty1,  чем вам не угодило, на мой взгляд отличное, решение danissmo из поста http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204 (http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204) ? Делается за 10 минут.
Но ведь это же решение задачи 2.31, а не 2.30.
В этой задаче какие регистры нам нужно контролировать, кроме ЛимитыРасходаДенежныхСредств ?

Задачи практически идентичны, отличается только используемый документ.
Название: Re: Задача 2.30
Отправлено: frd от Август 28, 2015, 02:54:31 pm
Qwerty1,  чем вам не угодило, на мой взгляд отличное, решение danissmo из поста http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204 (http://forum.chistov.pro/index.php?topic=2819.msg40204#msg40204) ? Делается за 10 минут.
Но ведь это же решение задачи 2.31, а не 2.30.
В этой задаче какие регистры нам нужно контролировать, кроме ЛимитыРасходаДенежныхСредств ?

Задачи практически идентичны, отличается только используемый документ.

Т.е. идея такая же? Правим запрос (из СверхЛимита на ВпределахЛимита) и т.д.? В таком случае РКО действительно контролирует в пределах лимита, но вот если создать заявку "Заявку" (которая двинет поле СверхЛимита) и на ее основании создать РКО - РКО не контролирует Лимиты и вообще не двигает этот регистр (((
Название: Re: Задача 2.30
Отправлено: ВиталийЧебан от Август 28, 2015, 05:30:21 pm
Т.е. идея такая же? Правим запрос (из СверхЛимита на ВпределахЛимита) и т.д.? В таком случае РКО действительно контролирует в пределах лимита, но вот если создать заявку "Заявку" (которая двинет поле СверхЛимита) и на ее основании создать РКО - РКО не контролирует Лимиты и вообще не двигает этот регистр (((

Прочитайте внимательно пояснение решения http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864
РКО по заявке не должен делать движений по регистру Лимиты.
Название: Re: Задача 2.30
Отправлено: frd от Август 28, 2015, 10:22:27 pm
Т.е. идея такая же? Правим запрос (из СверхЛимита на ВпределахЛимита) и т.д.? В таком случае РКО действительно контролирует в пределах лимита, но вот если создать заявку "Заявку" (которая двинет поле СверхЛимита) и на ее основании создать РКО - РКО не контролирует Лимиты и вообще не двигает этот регистр (((

Прочитайте внимательно пояснение решения http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864
РКО по заявке не должен делать движений по регистру Лимиты.
А как тогда контролируется, что сумма в РКО не превышает сумму, утвержденную в Заявке?
Название: Re: Задача 2.30
Отправлено: ВиталийЧебан от Август 29, 2015, 11:36:27 am
А как тогда контролируется, что сумма в РКО не превышает сумму, утвержденную в Заявке?

По регистру Денежные средства к выплате.
Название: Re: Задача 2.30
Отправлено: mswanted от Сентябрь 30, 2015, 12:38:26 am
Добрый вечер. На экзамене попалась эта задача . Решил как по описанию


Цитировать
Процедура ПревышенЛимитПоПодразделению(Отказ)
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств,
      |   СУММА(ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот) КАК ЛимитОборот,
      |   СУММА(ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот) КАК РасходСверхЛимитаОборот
      |ПОМЕСТИТЬ ВТЛимиты
      |ИЗ
      |   РегистрНакопления.ЛимитыРасходаДенежныхСредств.Обороты(
      |         &НачалоПериода,
      |         &КонецПериода,
      |         Месяц,
      |         Организация = &Организация
      |            И Подразделение = &Подразделение
      |            И СтатьяДвиженияДенежныхСредств В
      |               (ВЫБРАТЬ РАЗЛИЧНЫЕ
      |                  РасходныйКассовыйОрдерРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств
      |               ИЗ
      |                  Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
      |               ГДЕ
      |                  РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = &Ссылка
      |                  И РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику))) КАК ЛимитыРасходаДенежныхСредствОбороты
      |ГДЕ
      |   ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот > 0
      |
      |СГРУППИРОВАТЬ ПО
      |   ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ВТЛимиты.РасходСверхЛимитаОборот - ВТЛимиты.ЛимитОборот КАК Перерасход,
      |   ВТЛимиты.СтатьяДвиженияДенежныхСредств КАК Статья
      |ИЗ
      |   ВТЛимиты КАК ВТЛимиты
      |ГДЕ
      |   ВТЛимиты.РасходСверхЛимитаОборот - ВТЛимиты.ЛимитОборот > 0";
   
   Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(Дата));
   Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(Дата));
   Запрос.УстановитьПараметр("Организация", Организация);
   Запрос.УстановитьПараметр("Подразделение", Касса.Подразделение);
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Запрос.УстановитьПараметр("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ОплатаПоставщику);
   
   РезультатЗапроса = Запрос.Выполнить();
   Если Не РезультатЗапроса.Пустой() Тогда
      Отказ = Истина;   
   КонецЕсли;   
   
   Выборка = РезультатЗапроса.Выбрать();
   
   Пока Выборка.Следующий() Цикл
      Сообщить("Превышение лимита по статье " + Выборка.Статья + " на " + Выборка.Перерасход);
   КонецЦикла;
КонецПроцедуры

Препод сказал что решать надо без кодирования((((.Оценка 2
Название: Re: Задача 2.30
Отправлено: flex от Октябрь 01, 2015, 12:38:32 pm
Подскажите, пожалуйста, решение без кодирования. Получается две задачи не имеют верного решения. Некоторые тут писали, что задача решена типовым функционалом, однако без подробностей.
Название: Re: Задача 2.30
Отправлено: vaYs от Октябрь 09, 2015, 03:29:23 pm
Я решил задачу (на релизе 11.1.10.176) несколькими строками кода.

1. В модуле менеджера документа РасходныйКассовыйОрдер в функции ТекстЗапросаТаблицаЛимитыРасходаДенежныхСредств
   //++
   //|   ЕСТЬNULL(ТаблицаРасшифровкаПлатежа.Сумма, ДанныеДокумента.СуммаДокумента) * &КоэффициентПересчетаВВалютуУпр КАК РасходСверхЛимита
   |   ВЫБОР
   |      КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику)
   |         ТОГДА 0
   |      ИНАЧЕ ЕСТЬNULL(ТаблицаРасшифровкаПлатежа.Сумма, ДанныеДокумента.СуммаДокумента) * &КоэффициентПересчетаВВалютуУпр
   |   КОНЕЦ КАК РасходСверхЛимита,
   |   ВЫБОР
   |      КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику)
   |         ТОГДА ЕСТЬNULL(ТаблицаРасшифровкаПлатежа.Сумма, ДанныеДокумента.СуммаДокумента) * &КоэффициентПересчетаВВалютуУпр
   |      ИНАЧЕ 0
   |   КОНЕЦ КАК РасходВПределахЛимита
   //--

2. В модуле объекта документа РасходныйКассовыйОрдер в Процедуре СформироватьСписокРегистровДляКонтроля
      //++ 2.30
      Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОплатаПоставщику Тогда
         Массив.Добавить(Движения.ЛимитыРасходаДенежныхСредств);
      КонецЕсли;
      //--

3. В общем модуле ПроведениеСервер в Процедуре ВыполнитьКонтрольРезультатовПроведения
в блоке с условием
"Если ЕстьИзмененияВТаблице(ДанныеТаблиц,"ДвиженияЛимитыРасходаДенежныхСредствИзменение") Тогда"
      //++ 2.30
      Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.РасходныйКассовыйОрдер") Тогда
         Период = Объект.Дата;
      Иначе
      //--
      Если ЗначениеЗаполнено(Объект.ДатаПлатежа) Тогда
         Период = Объект.ДатаПлатежа;
      ИначеЕсли ЗначениеЗаполнено(Объект.ЖелательнаяДатаПлатежа) Тогда
         Период = Объект.ЖелательнаяДатаПлатежа;
      Иначе
         Период = Объект.Дата;
      КонецЕсли;
      //++
      КонецЕсли;
      //--

А без кодирования вообще никак не получается, только потому, что РКО ни при каких настройках не проверяет регистр "ЛимитыРасходаДенежныхСредств".
А отчет есть типовой "Лимиты расхода денежных средств".

Кто что может сказать про решение?
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Ноябрь 04, 2015, 09:36:10 am
Товарищи, кто нибудь додумался, как без кодирования решить данную задачку?

Давайте рассуждать:
В кассе нужно по любому установить галочку "без заявок", т.к. мы можем проводить РКО без заявок на сумму лимита!  :)

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

Ну а РКО проводится на любую сумму без проблем, т.е. неужели все таки галочку в кассе "без заявок" ставить не нужно?! А как же условие?!
Цитировать
При превышении лимита оплата возможна только по предварительно выставленной заявке
Тут само вырывается: "а не при превышении, возможно проведение РКО без заявки"!

Но мы перефразируем условие так: "При превышении лимита оплата возможна только по предварительно выставленной заявке (с галочкой "сверх лимита"), а не при превышении просто по заявке (без галочки!)"

Другого пути нет, только запрещать проводить РКО без заявки!
Конечно можно наехать на экзаменатора, мол, а как же проводить РКО без заявки? Но в условии дословно про РКО без заявки ничего не написано, т.е. все таки:
Цитировать
Другого пути нет, только запрещать проводить РКО без заявки!

На этом все!

Название: Re: Задача 2.30
Отправлено: flex от Ноябрь 18, 2015, 12:59:05 pm
Предлагаю вариант решения без кодирования. При создании лимита на месяц создается заявка на весь лимит с  получателем НашеПредприятие. РКО оформляется на основании документа ПТУ. При этом получателем указываем НашеПредприятие. Такие РКО проводятся, в документе формируется ссылка на документ основание.  При превышении лимита оплата проводится по заявке с пометкой сверх лимита. Остается доработать отчет Лимиты расхода ДС. Однако в регистры не пишется реальный получатель платежа и перестают верно работать отчеты Ведомость расчетов с поставщиками. Т.е. что-то еще надо исправить.
Название: Re: Задача 2.30
Отправлено: raisin30 от Ноябрь 25, 2015, 05:47:04 pm
https://www.youtube.com/watch?v=vdj6LOBstHI
Получается что этот вариант решения тоже не верен?
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Ноябрь 26, 2015, 02:47:10 pm
https://www.youtube.com/watch?v=vdj6LOBstHI
Получается что этот вариант решения тоже не верен?

А мой вариант Вы считаете не верен?
Название: Re: Задача 2.30
Отправлено: flex от Ноябрь 26, 2015, 02:56:18 pm
Народ отправляют с оценкой 2. Требуют решение без кодирования. На форуме на сегодня готовых  решений для 2.30, 2.31 не видно.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Ноябрь 29, 2015, 03:16:27 pm
Народ отправляют с оценкой 2. Требуют решение без кодирования. На форуме на сегодня готовых  решений для 2.30, 2.31 не видно.

Вы считаете, что мое решение не верно?
Название: Re: Задача 2.30
Отправлено: flex от Ноябрь 29, 2015, 04:27:34 pm
У вас есть решение без кодирования? Поделитесь, очень интересно.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Декабрь 03, 2015, 02:07:28 pm
У вас есть решение без кодирования? Поделитесь, очень интересно.
Вот мои рассуждения:
http://forum.chistov.pro/index.php?topic=2819.msg42972#msg42972 (http://forum.chistov.pro/index.php?topic=2819.msg42972#msg42972)
Название: Re: Задача 2.30
Отправлено: flex от Декабрь 03, 2015, 05:47:16 pm
При всем уважении, решения не вижу. У меня там тоже были рассуждения, несколько в другой плоскости, но решением я это не называю.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Декабрь 06, 2015, 11:47:54 am
При всем уважении, решения не вижу. У меня там тоже были рассуждения, несколько в другой плоскости, но решением я это не называю.

Да, я сейчас прочел свои рассуждения и понял, что на решение это не тянет.

Но! Эта задачка не дает мне покоя!

Я придумал решение! Оно на грани бреда.  ;D

Вот:

Нам необходимо контролировать лимиты ДС по подразделениям:
Ставим галочки: заявки на расходование ДС, лимиты расхода ДС,  лимиты расхода по подразделениям и контролировать превышение лимитов.

Рассмотрим условие:
Цитировать
•   Пока подразделение не выбрало этот лимит, платежи могут осуществляться без оформления заявки на расходование денежных средств.

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

Дальше идет старая схема:
Далее у нас работает лимит, если идет превышение, то устанавливаем флажок «сверх лимита».

Понимаю, что Вы думаете, что за бред, но все же этот бред работает. Если взять за обязательное условие наличие ответственного по кассе, то можно сделать полноценное решение.
Очень хочу услышать комментарии.
Название: Re: Задача 2.30
Отправлено: flex от Декабрь 06, 2015, 01:11:04 pm
Полагаю, флаг сверх лимита вообще ставить не нужно. Ставить его кассир просто не должен, это не разрешено правами.  И тем более это не прокатит как решение. Опять же касс может быть несколько.
Название: Re: Задача 2.30
Отправлено: Qwerty1 от Декабрь 07, 2015, 04:37:28 am
Полагаю, флаг сверх лимита вообще ставить не нужно.

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

Ставить его кассир просто не должен, это не разрешено правами.

Дать ему эти права.


И тем более это не прокатит как решение.

Почему?  :)

Опять же касс может быть несколько.

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

Я просто хочу развить дискуссию по этой задачке.
Название: Re: Задача 2.30
Отправлено: Re4son от Март 24, 2016, 05:26:02 pm
так а пришел кто-то к решению какому-нибудь?

из того что я понял обязательно нужно и понятно как делать: 1. вбить данные, с чем придется немного повозиться. Т..е задача на ввод данных 2. сделать вариант отчета по подразделениям, т.к. все нужные данные отчет и так рассчитывает (не зависимо от того, как пишутся данные, сверх лимита или нет)

а вот по поводу контроля лимитов... без когда что-то никак не получается.

Однако меня посетила мысль, может создание заявок на расход контролируется вручную, для этого и есть отчет. Мысль бредовая, но опять же, только потому, что никаких контролей по РКО без заявки не нашел (более того, никаких контролей в РКО по лимитам - нету).
При этом первых 2 билета откровенно более легкие (увы пока до остальных не дошел) - может поэтому сделали такое элементарное задание....

более того, контроль в регистре (по дефолту) идет по лимиту + расходы в рамках лимита, однако РКО не пишет в лимит ничего. Строго пишет все сверх лимита, т.е. контроль никак не сработает. Только если заявкой (а насчет этого в условии написано четко). Вот потому и думаю, если уж контроля без заявки нету, может подразумевается что это делается вручную с помощью отчета?

ну и сами постановки задач. 1я задача 3го билета - четко написано, нужно ввести цепочку, а тут просто что "такая политика", поэтому нужно сделать отчет
...
Название: Re: Задача 2.30
Отправлено: Илья Тюшин от Май 12, 2016, 09:57:04 am
Up!
Может, кто-нибудь всё же в последнее время сдавал эту задачу и сдал? Или даже если сдавал, но не сдал, то как вы решали?
Название: Re: Задача 2.30
Отправлено: SunB от Май 27, 2016, 03:17:40 pm
up!
Название: Re: Задача 2.30
Отправлено: SunB от Июнь 18, 2016, 06:02:56 pm
Добрый день коллеги!

Пока ждал ответ по поводу решения этой задачки в нашем часто обновляющемся обсуждении, дошел до билета 10 (а там задача 2.31, похожая), обсуждение здесь: (http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864), где пользователь Danissimo любезно натолкнул на правильное решение.

На основе этого я сделал решение этой задачи.
Пояснение к решению почитайте там же у Danissimo http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864


Решение проверено успешной сдачей экзамена 17.06.2016, как раз именно этот билет и попался.

Сдавал в УЦ1

Претензии у преподавателя не было, все гуд.


Данное решение сделано на релизе 11.1.10.199 (по нему готовил все билеты).

Методика актуальна и для релизов младше, единственное строки кода в модулях в этом случае могут быть не те.


------------------------

1) Включить ф.о. “Заявки на расходование денежных средств” (все галочки). Администрирование – Организации и денежные средства – Заявки на расходование денежных средств – и все подгалочки

2) Для р/с включить флаг «Разрешить списание ДС без заявок»

3) Документ РасходныйКассовыйОрдер – модуль менеджера

В процедуре “ЗаполнитьИменаРеквизитовПоХозяйственнойОперации” добавить реквизит для хозяйственной операции с видом “Оплата поставщику”:

Строка 153
МассивРеквизитовОперации.Добавить("Подразделение");

4) Отключаем «Выдавать ошибку» для реквизита ЗаявкаНаРасходованиеДенежныхСредств в таб части РасшифровкаПлатежа документа РКО.

4.1)  Документ Расходный кассовый ордер – модуль менеджера
В функции ТекстЗапросаТаблицаЛимитыРасходаДенежныхСредств (строка 2107)
для хоз. операции Оплата поставщику
переименовать (строка 2142"... КАК РасходСверхЛимита"  на  "...КАК РасходВПределахЛимита"

4.2) Строка 2186 строку "... ДанныеДокумента.СуммаДокумента КАК РасходСверхЛимита "  на "... ДанныеДокумента.СуммаДокумента КАК РасходВПределахЛимита "


5) Документ Расходный кассовый ордер – модуль объекта
В процедуре СформироватьСписокРегистровДляКонтроля()
добавить после Массив.Добавить(Движения.РасчетыСКлиентами);  (строка 1383) след. код.

Если ЭтотОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОплатаПоставщику Тогда
         Массив.Добавить(Движения.ЛимитыРасходаДенежныхСредств);
      КонецЕсли;


6) Общий модуль ПроведениеСервер,
Процедура ВыполнитьКонтрольРезультатовПроведения (строка 448)

добавить след. код (где именно добавить понятно при проведении – выскакивает ошибка Поле ДатаПлатежа не найдено)

Т.Е. ДЕЛАЕМ со строки 2029

такой код:

      Если ТипЗнч(Объект) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
         Период = Объект.Дата;
      Иначе              
         Если ЗначениеЗаполнено(Объект.ДатаПлатежа) Тогда
            Период = Объект.ДатаПлатежа;
         ИначеЕсли ЗначениеЗаполнено(Объект.ЖелательнаяДатаПлатежа) Тогда
            Период = Объект.ЖелательнаяДатаПлатежа;
         Иначе
            Период = Объект.Дата;
         КонецЕсли;
      Конецесли;



7) В отчете Лимиты расхода ДС создаем новый вариант с подразделениями Финансы – Отчеты по финансам - все отчеты – Лимит расхода денежных средств

7.1 ) Добавляем Подразделение с иерархией, у статьи ДДС иерархию снимаем


ТЕСТИРОВАНИЕ:

1)   Создаем документ Лимит расходования денежных средств по подразделению Отдел закупок, в строке таб части ставим галочку «Лимит», и указываем сумму 10000,00
2)   Создаем заявку расходный кассовый ордер. Если сумма больше установленного лимита, то проведение запрещено.
3)   После избрания лимита, следует пользоваться заявкой на расход ДС с галочкой «сверх лимита». Он проведется, все ок и создавать на основании РКО.



Всем удачи.
Название: Re: Задача 2.30
Отправлено: botaevgarik от Июль 21, 2016, 10:59:07 am
Добрый день коллеги!

Пока ждал ответ по поводу решения этой задачки в нашем часто обновляющемся обсуждении, дошел до билета 10 (а там задача 2.31, похожая), обсуждение здесь: (http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864), где пользователь Danissimo любезно натолкнул на правильное решение.

На основе этого я сделал решение этой задачи.
Пояснение к решению почитайте там же у Danissimo http://forum.chistov.pro/index.php?topic=2681.msg37864#msg37864


Решение проверено успешной сдачей экзамена 17.06.2016, как раз именно этот билет и попался.

Сдавал в УЦ1

Претензии у преподавателя не было, все гуд.


Данное решение сделано на релизе 11.1.10.199 (по нему готовил все билеты).

Методика актуальна и для релизов младше, единственное строки кода в модулях в этом случае могут быть не те.


------------------------

1) Включить ф.о. “Заявки на расходование денежных средств” (все галочки). Администрирование – Организации и денежные средства – Заявки на расходование денежных средств – и все подгалочки

2) Для р/с включить флаг «Разрешить списание ДС без заявок»

3) Документ РасходныйКассовыйОрдер – модуль менеджера

В процедуре “ЗаполнитьИменаРеквизитовПоХозяйственнойОперации” добавить реквизит для хозяйственной операции с видом “Оплата поставщику”:

Строка 153
МассивРеквизитовОперации.Добавить("Подразделение");

4) Отключаем «Выдавать ошибку» для реквизита ЗаявкаНаРасходованиеДенежныхСредств в таб части РасшифровкаПлатежа документа РКО.

4.1)  Документ Расходный кассовый ордер – модуль менеджера
В функции ТекстЗапросаТаблицаЛимитыРасходаДенежныхСредств (строка 2107)
для хоз. операции Оплата поставщику
переименовать (строка 2142"... КАК РасходСверхЛимита"  на  "...КАК РасходВПределахЛимита"

4.2) Строка 2186 строку "... ДанныеДокумента.СуммаДокумента КАК РасходСверхЛимита "  на "... ДанныеДокумента.СуммаДокумента КАК РасходВПределахЛимита "


5) Документ Расходный кассовый ордер – модуль объекта
В процедуре СформироватьСписокРегистровДляКонтроля()
добавить после Массив.Добавить(Движения.РасчетыСКлиентами);  (строка 1383) след. код.

Если ЭтотОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОплатаПоставщику Тогда
         Массив.Добавить(Движения.ЛимитыРасходаДенежныхСредств);
      КонецЕсли;


6) Общий модуль ПроведениеСервер,
Процедура ВыполнитьКонтрольРезультатовПроведения (строка 448)

добавить след. код (где именно добавить понятно при проведении – выскакивает ошибка Поле ДатаПлатежа не найдено)

Т.Е. ДЕЛАЕМ со строки 2029

такой код:

      Если ТипЗнч(Объект) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
         Период = Объект.Дата;
      Иначе              
         Если ЗначениеЗаполнено(Объект.ДатаПлатежа) Тогда
            Период = Объект.ДатаПлатежа;
         ИначеЕсли ЗначениеЗаполнено(Объект.ЖелательнаяДатаПлатежа) Тогда
            Период = Объект.ЖелательнаяДатаПлатежа;
         Иначе
            Период = Объект.Дата;
         КонецЕсли;
      Конецесли;



7) В отчете Лимиты расхода ДС создаем новый вариант с подразделениями Финансы – Отчеты по финансам - все отчеты – Лимит расхода денежных средств

7.1 ) Добавляем Подразделение с иерархией, у статьи ДДС иерархию снимаем


ТЕСТИРОВАНИЕ:

1)   Создаем документ Лимит расходования денежных средств по подразделению Отдел закупок, в строке таб части ставим галочку «Лимит», и указываем сумму 10000,00
2)   Создаем заявку расходный кассовый ордер. Если сумма больше установленного лимита, то проведение запрещено.
3)   После избрания лимита, следует пользоваться заявкой на расход ДС с галочкой «сверх лимита». Он проведется, все ок и создавать на основании РКО.



Всем удачи.

Решал в УЦ№1 также, не сдал. потому что при проведении заявки на расход сразу, вся сумма из заявки отображается в отчете. А нужно только ОПЛАЧЕННЫЕ сумма сверх лимита.
Название: Re: Задача 2.30
Отправлено: 0ptimus от Сентябрь 03, 2016, 04:09:05 pm
Решал в УЦ№1 также, не сдал. потому что при проведении заявки на расход сразу, вся сумма из заявки отображается в отчете. А нужно только ОПЛАЧЕННЫЕ сумма сверх лимита.

можно добавить в запрос отчета ЛимитыРасходаДенежныхСредств строки.
в конструкторе в запросе ЛимитыРасходаДенежныхСредств, Запрос 2 добавить условие:

ГДЕ
   ВЫБОР
         КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств
            ТОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор В
                  (ВЫБРАТЬ РАЗЛИЧНЫЕ
                     ДенежныеСредства.ЗаявкаНаРасходованиеДенежныхСредств
                  ИЗ
                     РегистрНакопления.ДенежныеСредстваКВыплате КАК ДенежныеСредства
                  ГДЕ
                     ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход))
         ИНАЧЕ ИСТИНА
      КОНЕЦ

тогда в отчет будут попадать только данные оплаченных заявок.
Поправьте пжл, если некорректно.

Но нужно учесть еще момент - заявка может быть оплачена частично, так что правильнее будет делать еще корректировку запроса и вытягивать из регистра накопления ДенежныеСредстваКВыплате  именно оплаченную сумму по заявке. Пока это не сделал - как сделаю скину сюда.
Если вдруг кто-то знает более удобный способ или видит, почему данный способ некорректен - напишите пожалуйста, а то мне через месяц сдавать, надо подготовиться =))
Название: Re: Задача 2.30
Отправлено: 0ptimus от Сентябрь 05, 2016, 12:18:24 pm
доделал решение, чтобы отображалось в отчете в соответствии с условиями задачи - именно сколько в пределах лимита и сколько сверху.

изменил запрос в отчете (выделено жирным):

-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ДокументыЛимиты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
   ДокументыЛимиты.Ссылка.Период КАК Период,
   ДокументыЛимиты.Ссылка КАК Регистратор,
   ДокументыЛимиты.Ссылка.МоментВремени КАК МоментВремени,
   ДокументыЛимиты.Ссылка.Организация КАК Организация,
   ДокументыЛимиты.Ссылка.Подразделение КАК Подразделение,
   ДокументыЛимиты.ЕстьЛимит КАК ЕстьЛимит
ПОМЕСТИТЬ ЛимитыРасходаПоДокументам
ИЗ
   Документ.ЛимитыРасходаДенежныхСредств.Лимиты КАК ДокументыЛимиты
ГДЕ
   ДокументыЛимиты.Ссылка.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И ДокументыЛимиты.Ссылка.Проведен
   
ИНДЕКСИРОВАТЬ ПО
   СтатьяДвиженияДенежныхСредств,
   Период,
   Организация,
   Подразделение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ЛимитыРасходаПоДокументам.СтатьяДвиженияДенежныхСредств,
   ЛимитыРасходаПоДокументам.Организация,
   ЛимитыРасходаПоДокументам.Подразделение,
   999999999999999 КАК Лимит,
   0 КАК РасходВПределахЛимита,
   0 КАК РасходСверхЛимита,
   ЛимитыРасходаПоДокументам.Регистратор,
   ЛимитыРасходаПоДокументам.Период КАК ПериодМесяц,
   НАЧАЛОПЕРИОДА(ЛимитыРасходаПоДокументам.Период, КВАРТАЛ) КАК ПериодКвартал,
   НАЧАЛОПЕРИОДА(ЛимитыРасходаПоДокументам.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
   НАЧАЛОПЕРИОДА(ЛимитыРасходаПоДокументам.Период, ГОД) КАК ПериодГод,
   ИСТИНА КАК ЛимитНеОграничен
ПОМЕСТИТЬ ЛимитыРасходаДенежныхСредств
ИЗ
   ЛимитыРасходаПоДокументам КАК ЛимитыРасходаПоДокументам
      ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыРасходаПоДокументам КАК Отбор
      ПО ЛимитыРасходаПоДокументам.СтатьяДвиженияДенежныхСредств = Отбор.СтатьяДвиженияДенежныхСредств
         И ЛимитыРасходаПоДокументам.Период = Отбор.Период
         И ЛимитыРасходаПоДокументам.Организация = Отбор.Организация
         И ЛимитыРасходаПоДокументам.Подразделение = Отбор.Подразделение
         И ЛимитыРасходаПоДокументам.МоментВремени < Отбор.МоментВремени
ГДЕ
   Отбор.МоментВремени ЕСТЬ NULL
   И НЕ ЛимитыРасходаПоДокументам.ЕстьЛимит

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств,
   ЛимитыРасходаДенежныхСредствОбороты.Организация,
   ЛимитыРасходаДенежныхСредствОбороты.Подразделение,
   ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот,
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств И ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот <> 0
         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот + ДенежныеСредстваКВыплатеОстатки.СуммаОстаток
      ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот
   КОНЕЦ КАК РасходВПределахЛимитаОборот,
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств И ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот <> 0

         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ДенежныеСредстваКВыплатеОстатки.СуммаОстаток
               ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот
   КОНЕЦ КАК РасходСверхЛимитаОборот,

   ЛимитыРасходаДенежныхСредствОбороты.Регистратор,
   ЛимитыРасходаДенежныхСредствОбороты.ПериодМесяц,
   ЛимитыРасходаДенежныхСредствОбороты.ПериодКвартал,
   ЛимитыРасходаДенежныхСредствОбороты.ПериодПолугодие,
   ЛимитыРасходаДенежныхСредствОбороты.ПериодГод,
   ЛОЖЬ
ИЗ
   РегистрНакопления.ЛимитыРасходаДенежныхСредств.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ЛимитыРасходаДенежныхСредствОбороты
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКВыплате.Остатки({&КонецПериода}, ) КАК ДенежныеСредстваКВыплатеОстатки
      ПО ЛимитыРасходаДенежныхСредствОбороты.Регистратор = ДенежныеСредстваКВыплатеОстатки.ЗаявкаНаРасходованиеДенежныхСредств
         И ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств = ДенежныеСредстваКВыплатеОстатки.СтатьяДвиженияДенежныхСредств
ГДЕ
   ВЫБОР
         КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств
            ТОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор В
                  (ВЫБРАТЬ РАЗЛИЧНЫЕ
                     ДенежныеСредства.ЗаявкаНаРасходованиеДенежныхСредств
                  ИЗ
                     РегистрНакопления.ДенежныеСредстваКВыплате КАК ДенежныеСредства
                  ГДЕ
                     ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход))
         ИНАЧЕ ИСТИНА
      КОНЕЦ

;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ЛимитыРасходаДенежныхСредств.СтатьяДвиженияДенежныхСредств,
   ЛимитыРасходаДенежныхСредств.Организация,
   ЛимитыРасходаДенежныхСредств.Подразделение,
   СУММА(ЛимитыРасходаДенежныхСредств.Лимит) КАК Лимит,
   СУММА(ЛимитыРасходаДенежныхСредств.РасходВПределахЛимита) КАК РасходВПределахЛимита,
   СУММА(ЛимитыРасходаДенежныхСредств.РасходСверхЛимита) КАК РасходСверхЛимита,
   ЛимитыРасходаДенежныхСредств.Регистратор,
   ЛимитыРасходаДенежныхСредств.ПериодМесяц,
   ЛимитыРасходаДенежныхСредств.ПериодКвартал,
   ЛимитыРасходаДенежныхСредств.ПериодПолугодие,
   ЛимитыРасходаДенежныхСредств.ПериодГод,
   МАКСИМУМ(ЛимитыРасходаДенежныхСредств.ЛимитНеОграничен) КАК ЛимитНеОграничен
ИЗ
   ЛимитыРасходаДенежныхСредств КАК ЛимитыРасходаДенежныхСредств

СГРУППИРОВАТЬ ПО
   ЛимитыРасходаДенежныхСредств.СтатьяДвиженияДенежныхСредств,
   ЛимитыРасходаДенежныхСредств.Организация,
   ЛимитыРасходаДенежныхСредств.Подразделение,
   ЛимитыРасходаДенежныхСредств.Регистратор,
   ЛимитыРасходаДенежныхСредств.ПериодМесяц,
   ЛимитыРасходаДенежныхСредств.ПериодКвартал,
   ЛимитыРасходаДенежныхСредств.ПериодПолугодие,
   ЛимитыРасходаДенежныхСредств.ПериодГод

-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------

и на вкладке "Ресурсы" в СКД внес изменения для полей РасходВПределахЛимита и РасходСверхЛимита:

РасходВПределахЛимита: ВЫБОР КОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита) >= Сумма(Лимит) ТОГДА Сумма(Лимит) ИНАЧЕ Сумма(РасходВПределахЛимита) Конец

РасходСверхЛимита: ВЫБОР КОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита) >= Сумма(Лимит) ТОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита)  - Сумма(Лимит) ИНАЧЕ Сумма(РасходСверхЛимита) Конец

остальное все по решению в сообщении
Автор: SunB
« : Июня 18, 2016, 06:02:56 pm » Цитата

в итоге отчет отображает все, как требует условие. Если найдете недочеты или ошибки - пишите.
Название: Re: Задача 2.30
Отправлено: Castet от Сентябрь 26, 2016, 12:56:38 am
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств И ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот <> 0
         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот + ДенежныеСредстваКВыплатеОстатки.СуммаОстаток
      ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот
   КОНЕЦ КАК РасходВПределахЛимитаОборот,
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств И ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот <> 0

         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ДенежныеСредстваКВыплатеОстатки.СуммаОстаток
               ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот
   КОНЕЦ КАК РасходСверхЛимитаОборот,


Небольшая рихтовка:
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств
            И ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот <> 0
         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот + ЕСТЬNULL(ДенежныеСредстваКВыплатеОстатки.СуммаОстаток, 0)
      ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот
   КОНЕЦ,
   ВЫБОР
      КОГДА ЛимитыРасходаДенежныхСредствОбороты.Регистратор ССЫЛКА Документ.ЗаявкаНаРасходованиеДенежныхСредств
            И ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот <> 0
         ТОГДА ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ЕСТЬNULL(ДенежныеСредстваКВыплатеОстатки.СуммаОстаток, 0)
      ИНАЧЕ ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот
   КОНЕЦ,

Иначе полностью оплаченные сверхлимитные заявки не попадали в перерасход Отчета Лимиты расхода ДС.
Название: Re: Задача 2.30
Отправлено: ak8647 от Ноябрь 02, 2016, 01:36:10 pm
и на вкладке "Ресурсы" в СКД внес изменения для полей РасходВПределахЛимита и РасходСверхЛимита:

РасходВПределахЛимита: ВЫБОР КОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита) >= Сумма(Лимит) ТОГДА Сумма(Лимит) ИНАЧЕ Сумма(РасходВПределахЛимита) Конец

РасходСверхЛимита: ВЫБОР КОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита) >= Сумма(Лимит) ТОГДА Сумма(РасходВПределахЛимита) + Сумма(РасходСверхЛимита)  - Сумма(Лимит) ИНАЧЕ Сумма(РасходСверхЛимита) Конец

Это по-моему лишнее, ведь в отчете уже есть колонка "Отклонение", где и показана разница между ВПределах и Свыше Лимита. Разница уйдет или в Недорасход, или в Перерасход