Автор Тема: Расхождения от актуальных билетов - обсуждения, методы решения  (Прочитано 43121 раз)

0 Пользователей и 1 Гость просматривают эту тему.

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
У меня информация только по первым 6 билетам для дистанционного экзамена (на очном билеты выглядят по-другому). Собирал по информации от отписавшихся здесь сдававших.

Во всех СПР убрали условие про данные за разные расчетные периоды (изменено на текущий).

Билет 5.
СПР.
1. Добавдено условие "Если сотрудник опоздал на работу, то за каждые целые 15 минут опоздания начисляется штраф в размере 100 рублей."
БП.
1. Есть какие-то отличия, какие не знаю.


Народ, кто-нибудь знает, какие отличия есть в Билете № 5, в задаче по Бухгалтерскому учету?

Sims

  • Пользователь
  • **
  • Сообщений: 14
У меня информация только по первым 6 билетам для дистанционного экзамена (на очном билеты выглядят по-другому). Собирал по информации от отписавшихся здесь сдававших.

Во всех СПР убрали условие про данные за разные расчетные периоды (изменено на текущий).

Билет 5.
СПР.
1. Добавдено условие "Если сотрудник опоздал на работу, то за каждые целые 15 минут опоздания начисляется штраф в размере 100 рублей."
БП.
1. Есть какие-то отличия, какие не знаю.


Народ, кто-нибудь знает, какие отличия есть в Билете № 5, в задаче по Бухгалтерскому учету?

БП <> БУ


freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Sims, поясни, что это значит.

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Ты имеешь в виду БП - это бизнес-процесс?

Trevis

  • Пользователь
  • **
  • Сообщений: 18
Ты имеешь в виду БП - это бизнес-процесс?
В сообщении Clition указано, что есть отличия в БП (бизнес процессах), а не в БУ (бухгалтерском учёте)

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Спасибо за пояснение !

RA

  • Пользователь
  • **
  • Сообщений: 20
Кто мне скажет . есть ли придирки к написанию модуля в таких документах как приход денег . затраты, расход денег,
где в условии сказано док делает проводку .  делал в затратах просто проводку конструктором . без запроса и набора движений с блокировкой.

Trevis

  • Пользователь
  • **
  • Сообщений: 18
Кто мне скажет . есть ли придирки к написанию модуля в таких документах как приход денег . затраты, расход денег,
где в условии сказано док делает проводку .  делал в затратах просто проводку конструктором . без запроса и набора движений с блокировкой.
Если в документе все данные для проводки берутся из самого документа, т.е. не нужно получать данные из регистров и других объектов, то и никаких запросов для проведения делать не требуется. Достаточно будет того кода, который напишет конструктор

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
По поводу использования конструктора запросов могу добавить.
В правилах экзамена сказано, что конфигурация должна работать корректно при наличии дублей строк.
Группировка в запросе решает эту проблему, конструктор запросов - нет.
И ещё.
Будет ошибкой делать следующее.
В приходной накладной, если делаете проверку в цикле,
что бы не приходовать услуги на склад.
Что-то типа "Если Номенлатура.Услуга тогда".
Обращение через точку здесь - это запрос в цикле.
За это минус.


RA

  • Пользователь
  • **
  • Сообщений: 20
По поводу использования конструктора запросов могу добавить.
В правилах экзамена сказано, что конфигурация должна работать корректно при наличии дублей строк.
Группировка в запросе решает эту проблему, конструктор запросов - нет.
И ещё.
Будет ошибкой делать следующее.
В приходной накладной, если делаете проверку в цикле,
что бы не приходовать услуги на склад.
Что-то типа "Если Номенлатура.Услуга тогда".
Обращение через точку здесь - это запрос в цикле.
За это минус.

а как вы решете  проблему с дублей строк?

2) можно в табчасти в свойствах отбора у товара указать .чтобы отбирал только товар .в таб часть . зачем условия писать

RA

  • Пользователь
  • **
  • Сообщений: 20

Это Док Приход Денег .

можно же просто конструктором сделать проводку  и структурой получить курс на дату



Процедура ОбработкаПроведения(Отказ, Режим)
   
   Движения.Проводки.Записывать = Истина;
   Движения.Проводки.Записать();
   
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Проводки");
   ЭлементБлокировки.УстановитьЗначение("Счет", ПланыСчетов.Управленческий.Покупатели);
   ЭлементБлокировки.УстановитьЗначение(ПланыВидовХарактеристик.ВидыСубконто.Контрагент, Контрагент);
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   Блокировка.Заблокировать();

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

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Переформулируй свой вопрос, RA. Не пойму, что ты хочешь услышать. Ты привел текст запроса на списание задолженностей, начиная с самой большой. Как здесь можно обойтись одним конструктором?

eiffil

  • Пользователь
  • **
  • Сообщений: 87
По поводу использования конструктора запросов могу добавить.
В правилах экзамена сказано, что конфигурация должна работать корректно при наличии дублей строк.
Группировка в запросе решает эту проблему, конструктор запросов - нет.
И ещё.
Будет ошибкой делать следующее.
В приходной накладной, если делаете проверку в цикле,
что бы не приходовать услуги на склад.
Что-то типа "Если Номенлатура.Услуга тогда".
Обращение через точку здесь - это запрос в цикле.
За это минус.

По п.1 - это не так, если данные могут быть получены только из документа. Пример - проведение приходной накладной по регистру остатков. Даже если будет несколько строк в документе - ну будет несколько записей в регистре, какие тут проблемы.
А вот по п.2 согласен абсолютно: проверку в цикле "Если Номенлатура.Услуга тогда" однозначно убирать в запрос, т.к. фактически для каждой строки выполняется получение всех реквизитов "номенклатура" текущей строки и по большому счету это аналогично ошибке "запрос в цикле" (Белоусов на своих курсах это так и назвал). Аналогично при выводе ошибки, например Сообщить("по номенклатуре " + Выборка.Номенклатура " не хватает остатка"); нужно выводить НоменклатураПредставление, полученное в запросе, иначе при выводе в сообщении Выборка.Номенклатура - это неявный запрос к базе данных в цикле.

AlexVK52

  • Пользователь
  • **
  • Сообщений: 28
Подскажите, при попытке получения актуальных билетов (или иных обращениях к ссылкам на форуме) получаю сообщение о невозможности открытия файла (картинка во вложении). Кто и как сейчас это обходит?
Как получить актуальные билеты и прочие вложения форума?

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Зайди в тему "Актуальные билеты". В самом конце, на последней странице темы, у одного из форумчан есть ответ с вложением.

https://forum.chistov.pro/index.php?topic=2670.1140