Автор Тема: Задача 1.07  (Прочитано 119246 раз)

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

glow2020

  • Пользователь
  • **
  • Сообщений: 13
Re: Задача 1.07
« Ответ #255 : Апрель 25, 2016, 05:47:42 pm »
Во многих решениях встречается такой запрос на определение границы последовательности
ВЫБРАТЬ
ДокументыПродажи.Регистратор,
ДокументыПродажи.МоментВремени КАК МоментВремени,
ДокументыПродажи.Регистратор.Представление
ИЗ
Последовательность.ДокументыПродажи КАК ДокументыПродажи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Последовательность.ДокументыПродажи.Границы КАК ДокументыПродажиГраницы
ПО ДокументыПродажи.МоментВремени >= ДокументыПродажиГраницы.МоментВремени
ГДЕ
ДокументыПродажи.Регистратор.Проведен

УПОРЯДОЧИТЬ ПО
МоментВремени
Так же в курсах Гилева встречал такое. Как при этом быть с условием ДокументыПродажи.МоментВремени >= ДокументыПродажиГраницы.МоментВремени, если >= то всегда будет пересчитываться последний документ, если  >, первый измененный в последовательности не будет пересчитан. И как быть, если указано не передвигать границу последовательности (ее передвигают программно) и данные еще не введены, граница равна '00010101' и такой запрос ничего не возвращает.

goodwin

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Евгений
Re: Задача 1.07
« Ответ #256 : Май 31, 2016, 10:47:56 pm »
Во многих решениях встречается такой запрос на определение границы последовательности
ВЫБРАТЬ
ДокументыПродажи.Регистратор,
ДокументыПродажи.МоментВремени КАК МоментВремени,
ДокументыПродажи.Регистратор.Представление
ИЗ
Последовательность.ДокументыПродажи КАК ДокументыПродажи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Последовательность.ДокументыПродажи.Границы КАК ДокументыПродажиГраницы
ПО ДокументыПродажи.МоментВремени >= ДокументыПродажиГраницы.МоментВремени
ГДЕ
ДокументыПродажи.Регистратор.Проведен

УПОРЯДОЧИТЬ ПО
МоментВремени
Так же в курсах Гилева встречал такое. Как при этом быть с условием ДокументыПродажи.МоментВремени >= ДокументыПродажиГраницы.МоментВремени, если >= то всегда будет пересчитываться последний документ, если  >, первый измененный в последовательности не будет пересчитан. И как быть, если указано не передвигать границу последовательности (ее передвигают программно) и данные еще не введены, граница равна '00010101' и такой запрос ничего не возвращает.

Не знаю верно или нет. Мои мысли:

1. По поводу >= или >. Выбираю >=

Если документ проводится задним числом и нарушает последовательность, то граница перемещается на его момент времени.

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

2. По поводу данные не введены.

Самое простое сделать условие, которое учитывает такой вариант событий через "Если Тогда".

У меня другой вопрос.

Если мы должны перепровести документ, обязательно ли это делать через получить объект и провести в запросе?

или же есть вариант работать с движениями этого самого документа, а точнее с набором записей в регистре, не получая данный объект?
« Последнее редактирование: Май 31, 2016, 10:52:38 pm от goodwin »


ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #257 : Сентябрь 20, 2016, 11:07:04 am »
Всем доброго времени суток!
Решил задачу с последовательностью и регламентным заданием. Три регистра. В расходной новая методика в списании себестоимости старая. Последовательность настроена на регистр себестоимости. Отчеты сделаны один в один как в задании. Постарался учесть все моменты. Если будет у кого желание, посмотрите плиз, может что то и забыл.
А так сделал вроде на "пять"))

kuzyara

  • Пользователь
  • **
  • Сообщений: 26
  • ФИО: дядя Коля
Re: Задача 1.07
« Ответ #258 : Сентябрь 26, 2016, 01:09:58 pm »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

kuzyara

  • Пользователь
  • **
  • Сообщений: 26
  • ФИО: дядя Коля
Re: Задача 1.07
« Ответ #259 : Сентябрь 27, 2016, 05:08:19 am »
Последовательность настроена на регистр себестоимости.
А разве последовательность не должна сбиваться после ввода расходной накладной задним числом или отмены проведения?
« Последнее редактирование: Сентябрь 27, 2016, 05:23:46 am от kuzyara »

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #260 : Октябрь 02, 2016, 09:42:29 am »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

если конечно говорить о моем решении то:

Пункт а не совсем понятно.
Если поместить функцию списания так же как и процедуру ВыполнитьСписаниеИСместитьГП, то можно.
Только не понятно причем тут дополнительные свойства.

Пункт б. Функцию можно расположить во многих местах с глобальным контекстом, но я так рассуждал. Если функция что то делает с расходнымИ документАМИ, значит надо в менеджере этих расходных документов. Логическая группировка. В модуль объекта она не подойдет по понятным причинам.


 

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #261 : Октябрь 02, 2016, 09:58:18 am »
Последовательность настроена на регистр себестоимости.
А разве последовательность не должна сбиваться после ввода расходной накладной задним числом или отмены проведения?

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

Что касается отмены проведения, то все отработает нормально.

Даже если у прихода отменить проведение, то граница сдвинется.





kuzyara

  • Пользователь
  • **
  • Сообщений: 26
  • ФИО: дядя Коля
Re: Задача 1.07
« Ответ #262 : Октябрь 04, 2016, 08:12:25 am »
Подскажите, правильно ли я понимаю механизм "Последовательности":
а) Перемещение при проведении - Не использовать - это значит что при проведении документа граница самостоятельно вперед двигаться не будет
б) Входящие документы - РасходнаяНакладная - это значит что в таблицу регистрации попадут только расходники, приходники же не нужны - их движения не требуют перепроведения
в) Движения - СебестоимостьТоваров - это значит что при записи движений по этому регистру граница будет откинута назад на момент времени, состоящий из регистратора и периода набора?

Зачем в диалоге выбора движений, влияющих на последовательность присутствуют непериодические регистры сведений без регистратора?
« Последнее редактирование: Октябрь 04, 2016, 08:59:23 am от kuzyara »

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #263 : Октябрь 04, 2016, 12:45:00 pm »
Подскажите, правильно ли я понимаю механизм "Последовательности":
а) Перемещение при проведении - Не использовать - это значит что при проведении документа граница самостоятельно вперед двигаться не будет
б) Входящие документы - РасходнаяНакладная - это значит что в таблицу регистрации попадут только расходники, приходники же не нужны - их движения не требуют перепроведения
в) Движения - СебестоимостьТоваров - это значит что при записи движений по этому регистру граница будет откинута назад на момент времени, состоящий из регистратора и периода набора?

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

а) правильно
б) в таблицу последовательностей попадут только расходники, но граница последовательности может содержать любой документ - регистратор регистра, который как раз и выбирается в "Движения,влияющих на последовательность". Потом как раз и определяется из этого документа граница. Приходников нет в последовательности, потому что их перепроводить не надо.

Вот допустим взяли вы старый приходник и перепровели, изменили что то.
У вас граница перескочит на дату этого приходника, потому что приходник является регистратором регистра себестоимостьтоваров.

Ну а расчет себестоимости уже возьмет уже от "даты приходника" выберет расходники из последовательности и перепроведет. То есть приходники то перепроводить не надо из за изменений приходников, а расходники надо перепроводить и из за изменений приходников и из за изменений расходников.

в) граница будет откинута назад при изменении движений. Если ничего не поменяется то ничего не откинется.

"Зачем показываются регистры без регистратор?", на этот вопрос у меня точного ответа нет, могу лишь предположить, в связи с тем что надо выбрать сначала регистр, а потом уже регистраторы)))


Magvay78

  • Новичок
  • *
  • Сообщений: 1
Re: Задача 1.07
« Ответ #264 : Октябрь 04, 2016, 05:24:08 pm »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #265 : Октябрь 04, 2016, 07:32:27 pm »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

1:
Вот правила,
http://static.1c.ru/rus/partners/training/files/ATT83PL.rtf
читал, не увидел где это написано, есть возможность показать в каком это пункте?

2:
ну да, так она и двигается от обоих типов документов. она будет двигаться от всех регистраторов регистра на которую настроена.

3:
да, тут не однозначно получается. С одной стороны последовательность надо восстанавливать и проводить(перепроводить) все. С другой стороны документ может и не хотели проводить, а списание себестоимости его проведет. Ну а с третьей стороны что он тогда делает в документах, если его не хотели проводить)))

Соглашусь, надо проводить(перепроводить) все, поэтому условие
СписаниеСебестоимости.Регистратор.Проведен
надо убрать.

Спасибо за просмотр! 

GH0STexe

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Иван
Re: Задача 1.07
« Ответ #266 : Октябрь 05, 2016, 05:55:49 am »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

1:
Вот правила,
http://static.1c.ru/rus/partners/training/files/ATT83PL.rtf
читал, не увидел где это написано, есть возможность показать в каком это пункте?

2:
ну да, так она и двигается от обоих типов документов. она будет двигаться от всех регистраторов регистра на которую настроена.

3:
да, тут не однозначно получается. С одной стороны последовательность надо восстанавливать и проводить(перепроводить) все. С другой стороны документ может и не хотели проводить, а списание себестоимости его проведет. Ну а с третьей стороны что он тогда делает в документах, если его не хотели проводить)))

Соглашусь, надо проводить(перепроводить) все, поэтому условие
СписаниеСебестоимости.Регистратор.Проведен
надо убрать.

Спасибо за просмотр!

1. Написано или не написано в правилах не важно - снизят баллы за неоптимальность
2.
3.Если документ не проведен, то он не учкаствует в учете. Трогать его невкоем случае не надо

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #267 : Октябрь 05, 2016, 08:58:28 am »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

1:
Вот правила,
http://static.1c.ru/rus/partners/training/files/ATT83PL.rtf
читал, не увидел где это написано, есть возможность показать в каком это пункте?

2:
ну да, так она и двигается от обоих типов документов. она будет двигаться от всех регистраторов регистра на которую настроена.

3:
да, тут не однозначно получается. С одной стороны последовательность надо восстанавливать и проводить(перепроводить) все. С другой стороны документ может и не хотели проводить, а списание себестоимости его проведет. Ну а с третьей стороны что он тогда делает в документах, если его не хотели проводить)))

Соглашусь, надо проводить(перепроводить) все, поэтому условие
СписаниеСебестоимости.Регистратор.Проведен
надо убрать.

Спасибо за просмотр!

1. Написано или не написано в правилах не важно - снизят баллы за неоптимальность
2.
3.Если документ не проведен, то он не учкаствует в учете. Трогать его невкоем случае не надо


3. Сколько людей столько и мнений))))

GH0STexe

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Иван
Re: Задача 1.07
« Ответ #268 : Октябрь 05, 2016, 10:07:52 am »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

1:
Вот правила,
http://static.1c.ru/rus/partners/training/files/ATT83PL.rtf
читал, не увидел где это написано, есть возможность показать в каком это пункте?

2:
ну да, так она и двигается от обоих типов документов. она будет двигаться от всех регистраторов регистра на которую настроена.

3:
да, тут не однозначно получается. С одной стороны последовательность надо восстанавливать и проводить(перепроводить) все. С другой стороны документ может и не хотели проводить, а списание себестоимости его проведет. Ну а с третьей стороны что он тогда делает в документах, если его не хотели проводить)))

Соглашусь, надо проводить(перепроводить) все, поэтому условие
СписаниеСебестоимости.Регистратор.Проведен
надо убрать.

Спасибо за просмотр!

1. Написано или не написано в правилах не важно - снизят баллы за неоптимальность
2.
3.Если документ не проведен, то он не учкаствует в учете. Трогать его невкоем случае не надо


3. Сколько людей столько и мнений))))

3. Причем тут мнение? Почитайте хотя бы основы. А с таким отношением я думаю рановато вам на спеца всё таки

ComradeKite

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.07
« Ответ #269 : Октябрь 05, 2016, 10:36:18 am »
Что правильней для отложенного расчета себестоимости:
а) Из обработки вызывать проведение документов с ДополнительныеСвойства
или
б) Экспортная функция СписатьСебестоимостьТоваровДокумента(ДокументСсылка) в модуле менеджера?

Есть пару замечаний:
1. В документе Приходная при движении, ты используешь два цикла построенные конструктором, это ошибка, минус сколько то.
2. Лично я считаю, что граница должна сдвигаться как при отмене Приходной, так и Расходной.
3. У тебя расчет себестоимость проводит "непроведенные" документы, тоже думаю ошибка.

1:
Вот правила,
http://static.1c.ru/rus/partners/training/files/ATT83PL.rtf
читал, не увидел где это написано, есть возможность показать в каком это пункте?

2:
ну да, так она и двигается от обоих типов документов. она будет двигаться от всех регистраторов регистра на которую настроена.

3:
да, тут не однозначно получается. С одной стороны последовательность надо восстанавливать и проводить(перепроводить) все. С другой стороны документ может и не хотели проводить, а списание себестоимости его проведет. Ну а с третьей стороны что он тогда делает в документах, если его не хотели проводить)))

Соглашусь, надо проводить(перепроводить) все, поэтому условие
СписаниеСебестоимости.Регистратор.Проведен
надо убрать.

Спасибо за просмотр!

1. Написано или не написано в правилах не важно - снизят баллы за неоптимальность
2.
3.Если документ не проведен, то он не учкаствует в учете. Трогать его невкоем случае не надо


3. Сколько людей столько и мнений))))

3. Причем тут мнение? Почитайте хотя бы основы. А с таким отношением я думаю рановато вам на спеца всё таки


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

А вот вы аргументируйте вот это высказывание
"Написано или не написано в правилах не важно - снизят баллы за неоптимальность"
На основании каких умозаключений вы вот это пишите?
Объясните всем....

А то выглядит ваше высказывание примерно так "да пофик мне на всех, я так считаю и все".

Вот мой аргумент:
Посетив комплексные курсы от 1С, одних из самых именитых преподов "Бел.....в" и не разу не увидел что делает какую то оптимизацию он в приходной, могу и я делать выводы что всякая оптимизация с циклами, полная трата времени. Прочитав правила для экзамена я не увидел там что надо оптимизировать циклы. То есть обращаю внимание еще раз препод делал так, как сделал это я с двумя циклами. На мой личный взгляд цикл не стоит много времени, то есть разницы для компа сколько он прокрутит его в памяти особо нет. Я такты процессора считать не собираюсь, все важно в меру. Поэтому ваш аргумент может иметь место, а может и не иметь.
Но препод говорил о других оптимизациях, вот их то как раз я и применял.

Попробуйте вы теперь аргументировать, на основании чего ваш вывод строится?

PS: Я что то не помню, чтобы я кого то спрашивал когда мне идти и куда мне идти.