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

Аттестация "1С:Специалист" => Аттестация "1С:Специалист по платформе 1С:Предприятие 8.3 и 8.2" => Тема начата: Zhora_Vlg от Октябрь 07, 2010, 09:12:20 pm

Название: Задача 1.30
Отправлено: Zhora_Vlg от Октябрь 07, 2010, 09:12:20 pm
Мой вариант решения
Вложения:
Zhora_Vlg-1.30.dt
Название: Задача 1.30
Отправлено: AS от Октябрь 18, 2010, 11:20:23 pm
Zhora_Vlg, похоже не правильно идет списание по сумме в самом конце проведения расходной накладной:

         Движение.Сумма = ВыборкаДетальныеЗаписи.Количество / ВыборкаДетальныеЗаписи.КоличествоОстатокТоргТочки *ВыборкаДетальныеЗаписи.СуммаОстатокТоргТочки;

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

Название: Задача 1.30
Отправлено: Armaggik от Октябрь 29, 2010, 12:57:36 pm
pershinsergei,
 Недостача=Выборка.Количество-Выборка.КоличествоОтделЗакупок;
 Если Недостача>0 Тогда
 Сообщить("В "+ТорговаяТочка+"и складе закупок не хватает товара "+Выборка.Номенклатура+". Документ не будет проведен");

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

Название: Задача 1.30
Отправлено: Dima1C от Ноябрь 28, 2010, 08:58:03 pm
Quote (Armaggik)
вроде правильно
 Прикрепления: pershinsergei_1.dt(155Kb)

 У тебя запрос в цикле ПолучитьНаценку - это грубая ошибка, и в параметрах виртуальных таблиц не хватает номенклатуры.
Название: Задача 1.30
Отправлено: DSoB от Декабрь 29, 2010, 02:55:07 pm
Zhora_Vlg
 В блокировку нужно добавить Отдел
Название: Задача 1.30
Отправлено: SINISTER_STAR от Январь 03, 2011, 12:32:08 pm
вот моя база, вроде бы все учтено
Вложения:
1.30_1Cv8.dt
Название: Задача 1.30
Отправлено: DSoB от Январь 11, 2011, 11:00:48 am
Quote (SINISTER_STAR)
вот моя база, вроде бы все учтено
 Прикрепления: 1.30_1Cv8.dt(145Kb)

Поставь галку Перемещение в документе Реализация Товаров и посмотри движения по регистру Остатки номенклатуры.
 По идее себестоимость у тебя 10 рублей, она увеличиться должна (судя по твоему регистру) на 10 рублей, т.е. цена 20 рублей
 20 * 50 = 1000 р. - получившаяся сумма, а у тебя сумма вообще 530.

Добавлено (11.01.2011, 11:00)
---------------------------------------------
Zhora_Vlg
 

Quote (Zhora_Vlg)
Мой вариант решения
 Прикрепления: Zhora_Vlg-1.30.dt(148Kb)

Ошибка в том, что если наценка будет стоять по регрессивной шкале, то конфа будет неправильно брать наценку.
 Например:
 Для оптового отдела для себестоимости свыше 5000 рублей ставим наценку 200 рублей.
 Проводим Расходная накладная 000000001 от 07.10.2010 21:06:13
 Смотрим сумму для позиции Паркер "Golg" - 12 600,00, а должна быть 12 400

Название: Задача 1.30
Отправлено: DSoB от Январь 26, 2011, 04:19:03 pm
Мой вариант решения
Вложения:
1-30.dt
Название: Задача 1.30
Отправлено: hapcher от Февраль 19, 2011, 01:55:51 pm
DSoB,
 1. Режим блокировок на конфигурации автоматический.
 2. Подсистем нет.
 3. В отчете нет кон. количества.
 4. Расходная накладная не проводится задним числом, ошибка - "деление на 0".
 5. да и "передним" числом тоже не проводится ))
 6. не решена проблема копеек.
 7. упр. блокировка стоит только на одно подразделение, когда расх. накл. отражается реализация, то блокировка должна стоять не только на торговую точку, но и на отдел закупок.
 8. запросы в расходной просто жесть, успеешь такие на экзамене написать?
 дальше смотреть не стала...
Название: Задача 1.30
Отправлено: hapcher от Февраль 19, 2011, 01:58:58 pm
В своем решении наценку получаю так:
 1. расчет с/ст пишу в отдельную ТЗ
 2. передаю ТЗ в качестве временной таб. в запрос, в котором получаю наценку.
 3. формирую движения по регистру остатков
Вложения:
_1_30.dt
Название: Задача 1.30
Отправлено: AndreiPiter от Апрель 20, 2011, 06:23:51 pm
моё решение
Вложения:
AP_1.30.dt
Название: Задача 1.30
Отправлено: mebius от Май 29, 2011, 07:10:32 pm
Выкладываю свое решение. Сделал у сообщений указание свойства "Поле" для тренировки, не учитывал при этом дубли (надо похитрее в этом случае).
Вложения:
mebius_1_30_2_3.dt
Название: Задача 1.30
Отправлено: Lukashov_as от Июнь 15, 2011, 10:26:47 pm
готово biggrin
Вложения:
1_30_lukashov.dt
Название: Задача 1.30
Отправлено: sergey7 от Июль 26, 2011, 03:14:36 pm
Вроде простая
Вложения:
s7_1-30.dt
Название: Задача 1.30
Отправлено: DoctorRoza от Август 07, 2011, 06:27:12 pm
Интересная задача .. особенно поиск нужной наценки заинтреговал .. smile
Вложения:
DoctorRoza_1_30.dt
Название: Задача 1.30
Отправлено: magrib от Август 23, 2011, 01:19:47 pm
У всех разная структура регистра "ОстаткиНоменклатуры".
 Как правильно: Измерения (Отдел,Номенклатура) или (Номенклатура,Отдел)?
Название: Задача 1.30
Отправлено: DoctorRoza от Август 24, 2011, 11:28:28 am
magrib,
 В принципе особого значения это не имеет .. Более логичней сделать измерения РН Отдел/Номенклатура (для отчета). Если Вы выберете вариант Номенклатура/Отдел, то обязательно нужно установить для Отдела - Индексировать ..
Название: Задача 1.30
Отправлено: mkanaev от Август 24, 2011, 11:33:59 am
Quote
У всех разная структура регистра "ОстаткиНоменклатуры".
 Как правильно: Измерения (Отдел,Номенклатура) или (Номенклатура,Отдел)?

 Будет влиять только на построение индекса...

 
Quote
В принципе особого значения это не имеет .. Более логичней сделать измерения РН Отдел/Номенклатура (для отчета). Если Вы выберете вариант Номенклатура/Отдел, то обязательно нужно установить для Отдела - Индексировать ..

 недопонял я, если Номенклатура/Отдел, то обязательно нужно установить для Отдела - Индексировать и если нет что свойство "Индексировать" устанавливать не надо?

Добавлено (24.08.2011, 11:33)
---------------------------------------------
Если я правельно понимаю как в 1С строится индекс, то свойство нужно устанавливать для всех измерений... ну кроме конечно логически идентичных, например
 если измерения Счет/Контрагент и ресурс сумма тогда счет нужно индексировать а контрагент можно не индексировать ибо этот счет привязан именно к этому контрагенту и к другому относиться не может....

Название: Задача 1.30
Отправлено: DoctorRoza от Август 24, 2011, 11:47:50 am
Quote (mkanaev)
недопонял я, если Номенклатура/Отдел, то обязательно нужно установить для Отдела - Индексировать и если нет что свойство "Индексировать" устанавливать не надо?


 Ну а зачем!? Построение лишнего индекса только напрягает систему .. Тут как ни заезжано ни звучало, но все зависит от той регламентированной отчетности, которая нужна на выходе, т.е. как расположены "колонки" отчетов.

 
Quote (mkanaev)
Если я правельно понимаю как в 1С строится индекс, то свойство нужно устанавливать для всех измерений...


 Мыслю, что индексировать нужно только, если это действительно требуется. Лишнего не надо!
 Нет у меня под рукой ИТС .. в нем есть статья по построению индексов. На это обращается усиленно внимание, чтобы все запросы у СУБД были как можно более понятны для интерпретатора запросов 1С (кажется так называется этот механизм, не помню .. уже жалею, что нет этой статьи под рукой!!!). Ну а построение дополнительных индексов - это все напрягает систему ..
Название: Задача 1.30
Отправлено: mkanaev от Август 24, 2011, 12:11:37 pm
http://gilev.ru/1c/81/index/ - отличная статья на эту тему.
 Из статьи явно понятно что индекс должен покрывать выбираемые поля или поля учавствующие в условиях, так же впринцепи и поля по которым идёт связь таблиц...
Название: Задача 1.30
Отправлено: DoctorRoza от Август 24, 2011, 12:16:40 pm
mkanaev,
 - Ну у вас и запросы! - сказала база данных и повисла…
 biggrin
Название: Задача 1.30
Отправлено: KirkHam от Август 29, 2011, 07:15:30 pm
Мое решение (на блокировки и т.д. времени не тратил)...ваши комменты
Вложения:
KirkHam_1.30.dt
Название: Задача 1.30
Отправлено: john916 от Октябрь 12, 2011, 02:28:41 pm
DoctorRoza, всё у вас вроде хорошо, но в обработке проведения расходной накладной я усмотрел запрос в цикле... как быть? cool
Название: Задача 1.30
Отправлено: DoctorRoza от Октябрь 12, 2011, 06:41:41 pm
john916, Вы совершенно правы .. запрос в цикле - это плохо. Мое решение данной задачи неудачное - это могу сказать точно .. sad .. Перемудрил, решается задача проще! Если необходимо, могу выложить решение задачи, но только уже в объеме билета №10 (опер. и бух. учеты). В принципе Расходная там только в опер. учете проходит.
Название: Задача 1.30
Отправлено: john916 от Октябрь 13, 2011, 06:19:44 am
DoctorRoza, если вам не сложно, выложите пожалуйста! А то что-то я тоже совсем запутался с этой задачкой! wink
Название: Задача 1.30
Отправлено: DoctorRoza от Октябрь 13, 2011, 06:20:33 pm
john916, посмотрите .. если что, подскажите мои ошибки ..
Вложения:
Bilet_10.dt
Название: Задача 1.30
Отправлено: john916 от Октябрь 14, 2011, 11:36:34 am
DoctorRoza, спасибо огромное! Посмотрел только задачу 1_30 с оперативного учёта - вопросов нет! Всё логично и грамотно реализовано..Думаю, что от количества формирований движений по ОстаткамНоменклатуры не уйти.. в плане меньше ну никак не получится...Необходимы проверки по условию задачи...Ну если что-нить придумаю ещё - напишу обязательно!
Название: Задача 1.30
Отправлено: DoctorRoza от Октябрь 14, 2011, 06:35:58 pm
Quote (john916)
Думаю, что от количества формирований движений по ОстаткамНоменклатуры не уйти.. в плане меньше ну никак не получится...

 Как вариант, создавать НаборЗаписей .. для РН ОстаткиНоменклатуры .. и все включать в этот набор, но, ИМХО, читабельность текста программы ухудшается, а это еще на экзамене нужно будет реализовывать! Так что, пришел к выводу, что лучше создать тупо движения по документу .. smile .. и не париться. По крайней мере, так проще ошибки найти да отладить!
Название: Задача 1.30
Отправлено: van_za от Ноябрь 01, 2011, 10:53:50 pm
Ну и задачка ... и решения тоже пипец ... и невидно свет в конце тонеля...
 Если предположить что расходная накладная это расходная накладная и выполняет она роль перемещения только тогда когда товара на торговой точке нет (а его в таком случае никогда нет:) :)) то получится мое не бесспорное решение. Булыжники в мою сторону приветствуются!!!

Вложения:
1_30_van_za.dt
Название: Задача 1.30
Отправлено: mkanaev от Ноябрь 02, 2011, 09:51:47 am
Папалась эта задачка на экзамене, есть отличие, на экзамене перемещение и продажа разными документами были....
 вот:
Вложения:
10.dt
Название: Задача 1.30
Отправлено: cheetah от Ноябрь 02, 2011, 08:59:54 pm
mkanaev,
 выложи своё решение задачи 3.44 в соответствующую ветку
 это из этого же билета.
 спасибо!
Название: Задача 1.30
Отправлено: van_za от Ноябрь 05, 2011, 12:05:58 pm
mkanaev,
 Тогда все понятнее :)))
Название: Задача 1.30
Отправлено: nodalt от Ноябрь 05, 2011, 06:54:10 pm
Здравствуйте.
 Вот мое решение задачи.
 Критика приветствуется :), только пожалуйста аргументируйте
Вложения:
nodalt_1_30.dt
Название: Задача 1.30
Отправлено: DoctorRoza от Ноябрь 05, 2011, 09:24:43 pm
nodalt, А зачем РС блокировать? ))
Название: Задача 1.30
Отправлено: nodalt от Ноябрь 06, 2011, 12:14:39 am
Нет смысла его блокировать, согласен smile

 По поводу блокировки есть вопрос ...
 Скажите пожалуйста, можно ли в методе УстановитьЗначение(<ПолеПространстваБлокировок>, <БлокируемоеЗначение>) в параметр <БлокируемоеЗначение> передать массив или результат запроса?
Название: Задача 1.30
Отправлено: DoctorRoza от Ноябрь 06, 2011, 10:48:17 am
nodalt, хм .. ну если воспользоваться аксиомой Кана, то ..
 <БлокируемоеЗначение> (обязательный)
 Тип: Произвольный; Диапазон. Значение (диапазон значений) для поля пространства блокировки.
 Тут надо пробовать, может через Диапазон можно будет передать!
Название: Задача 1.30
Отправлено: Irmo от Ноябрь 10, 2011, 05:19:32 am
Решил задачу на одном регистре, получил отчет "похожий" на тот, что в задачнике. Непонятно, как попали куртки на Оптовый и Розничный со стоимостью ниже 100 за штуку, тогда как минимальная наценка 100. В моем отчете трансфер несколько дороже, но остальные чиселки совпадают.
Вложения:
irmo-1.30.dt
Название: Задача 1.30
Отправлено: JIeHIH от Ноябрь 11, 2011, 01:29:04 pm
Quote (mkanaev)
Папалась эта задачка на экзамене, есть отличие, на экзамене перемещение и продажа разными документами были.... вот:
 Прикрепления: 10.dt(112Kb)


 Списание себестоимости неправильное, в ноль регистр не выйдет.
 В запросах таблицу товаров надо поместить во временную таблицу, а так вы дважды обращаетесь к базе.
 И еще у меня вопрос, зачем проведение делать в рамках транзакции??
Название: Задача 1.30
Отправлено: mkanaev от Ноябрь 11, 2011, 02:15:23 pm
Quote
Списание себестоимости неправильное, в ноль регистр не выйдет.

 Можно узнать почему? имеется в виду проблемма копеек?
 
Quote
В запросах таблицу товаров надо поместить во временную таблицу, а так вы дважды обращаетесь к базе.

 Наверно вы имели в виду в менеджер временных таблиц, но два раза к базе обращения всё равно не будет...
Название: Задача 1.30
Отправлено: JIeHIH от Ноябрь 11, 2011, 03:06:36 pm
Quote (JIeHIH)
QuoteСписание себестоимости неправильное, в ноль регистр не выйдет. Можно узнать почему? имеется в виду проблемма копеек?

 да

 
Quote (mkanaev)
Можно узнать почему? имеется в виду проблемма копеек? QuoteВ запросах таблицу товаров надо поместить во временную таблицу, а так вы дважды обращаетесь к базе. Наверно вы имели в виду в менеджер временных таблиц, но два раза к базе обращения всё равно не будет...

 табличная часть выбирается дважды, как параметр в виртуальную таблицу, и непосредственно как список номенклатуры для соединения с остатками.

 и все же интересно узнать зачем нужна транзакция
Название: Задача 1.30
Отправлено: mkanaev от Ноябрь 11, 2011, 03:18:31 pm
Quote
табличная часть выбирается дважды, как параметр в виртуальную таблицу, и непосредственно как список номенклатуры для соединения с остатками.

 всё понял про что реч... впринцепи незначительно
 
Quote
и все же интересно узнать зачем нужна транзакция


 Вроде как это необходимо чтобы установить режим блокировки данных, и типо блокировка данных слетит при завершении транзакции, хотя есть системная транзакция. Мне дали совет еще в начале подготовки, вроде на экзамене на это смотрят...
Название: Задача 1.30
Отправлено: JIeHIH от Ноябрь 11, 2011, 06:21:30 pm
Quote (mkanaev)
всё понял про что реч... впринцепи незначительно

 ну это когда корочка уже в кормане smile
Название: Задача 1.30
Отправлено: kow1976 от Ноябрь 18, 2011, 06:15:22 am
Irmo,

 Это потому что вы Наценку добавляете к цене, а судя из отчета надо к себестоимости. К тому же таблица оценок от себестоимости
 Например Куртка замшевая
 (32+100)/(2+4)=22грн.
 Перемещаем на оптовый склад 2шт
 22*2+100=144грн. (а у вас 244=(22+100)*2)
 Перемешаем на Розничный склад
 22*3+100=166грн. (а у вас 366=(22+100)*3)
Название: Задача 1.30
Отправлено: kow1976 от Ноябрь 18, 2011, 06:52:06 am
DoctorRoza,

 Есть сомнения в вашем решении по билету
 Приход ручка 10шт по 25грн на 250
 Переносите товар на склад
 5*250/10+5*100/10=175грн.
 Т. е распределяете наценку 100 грн на количество остатка на складе.
 По идее наценка в 100 грн. должна быть на перемещение.
Вложения:
s6066567.jpg
Название: Задача 1.30
Отправлено: DoctorRoza от Ноябрь 18, 2011, 07:32:23 pm
kow1976, Что то Вас давненько не было видно на сайте! smile
 Да, согласен, Вы правы. Наценка начисляется на перемещаемый товар, а не на весь товар целиком. Исправлю у себя в решении!
Название: Задача 1.30
Отправлено: kow1976 от Ноябрь 23, 2011, 10:21:41 pm
Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
kow1976_.1.30.dt
Название: Задача 1.30
Отправлено: Saipl от Декабрь 07, 2011, 01:07:14 pm
Quote
kow1976,

    ЭлементБлокировки.УстановитьЗначение("Отдел", Справочники.Отдел.Закупка);
    ЭлементБлокировки.УстановитьЗначение("Отдел", Отдел);
 Так будет работать ? В отладчике показывает Блокировка[0].Поля[0].Значение = Закупка. Как правильно задать несколько значений точно сам не знаю может список значений создать ???
Название: Задача 1.30
Отправлено: kow1976 от Декабрь 07, 2011, 02:40:02 pm
Saipl,
 Вы правы устанавливается Только последнее значение. Вы подняли очень интересную проблему. Наверно решается запросом.
 Или добавлением блокировки по одному и тому же регистру два раза. Нужно этот способ попробовать.

 А в рамках этой задачи правильно наверно так:

 ЭлементБлокировки.УстановитьЗначение("Отдел", ?(Перемещение,Справочники.Отдел.Закупка, Отдел);
Название: Задача 1.30
Отправлено: Saipl от Декабрь 07, 2011, 03:55:29 pm
Мое решение, время не удается замерить точно т.к. постоянно отвлекаюсь но решал наверно не меньше 2,5 часов.
Вложения:
Saipl_1.30.dt
Название: Задача 1.30
Отправлено: SergTH000 от Декабрь 07, 2011, 08:24:36 pm
Saipl, kow1976, В синтаксис помощнике сказано что для ИсточникаДанных ЭлементаБлокировки можно указать РезультатЗапроса, ТабличнуюЧасть или ТаблицуЗначений. Создать ТЗ, заполнить ее отделами и указать как источник.
Название: Задача 1.30
Отправлено: kow1976 от Декабрь 08, 2011, 10:16:30 am
SergTH000,
 А если источника два как. Как отработает данная ситуация?
Название: Задача 1.30
Отправлено: SergTH000 от Декабрь 09, 2011, 10:17:01 am
kow1976, Очень просто: выгрузи первый источник в ТЗ, добавь колонку Отделы и заполни ее.. дальше - ИспользоватьИзИсточникаДанных...

Добавлено (09.12.2011, 10:17)
---------------------------------------------
Я имею ввиду, что всегда можно сформировать один источник

Название: Задача 1.30
Отправлено: Saipl от Декабрь 14, 2011, 10:05:47 am
Quote
SergTH000, kow1976,
Корректно ли отработает следующая конструкция ?
 
Code
    Блокировка = Новый БлокировкаДанных;
  ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
  ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
  ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
  ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
  ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Подразделение", "Ссылка.Подразделение");
  Блокировка.Заблокировать();

 Не могу сообразить как в отладчике проверить !
Название: Задача 1.30
Отправлено: SergTH000 от Декабрь 14, 2011, 10:45:11 am
Saipl,
Quote
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Подразделение", "Ссылка.Подразделение");

 Здесь нужно использовать метод УстановитьЗначение, ведь в источнике нет колонки подразделение.
Название: Задача 1.30
Отправлено: kow1976 от Декабрь 14, 2011, 11:23:31 am
ЭлементБлокировки.УстановитьЗначение("Подразделение", ?(Перемещение=истина,Справочники.Отдел.Закупка, Отдел);
Название: Задача 1.30
Отправлено: Saipl от Декабрь 16, 2011, 03:37:08 pm
Quote
kow1976,

 Help 1C - УстановитьЗначение(<ПолеПространстваБлокировок>, <БлокируемоеЗначение>)
 <БлокируемоеЗначение> (обязательный)
 Тип: Произвольный;

 ЭлементБлокировки.УстановитьЗначение("Подразделение", Справочники.Отдел.Закупка, Отдел);
 Как проверить какие элементы система выбрала для блокировки ? Просто хотелось бы раз и навсегда для себя определить правильное написание параметров блокировки поскольку в задачах часто возникает подобная ситуация. т.к в параметр <БлокируемоеЗначение> можно передать что угодно система это никак не контролирует.
Название: Задача 1.30
Отправлено: kow1976 от Декабрь 16, 2011, 05:16:27 pm
Saipl,
 1. Остановить работу программы после выполнения запроса в первой транзакции ( например Функцией Предупреждения())
 2. А во второй транзакции попробовать списать по этому регистрам с заблокированных и не заблокированных складов
 Тогда можно будет сказать точно блокируется или нет. Но это только при серверной установки.

 Когда то мы осуждали чем вложенный запрос хуже чем временная таблица. Мне подсказали что при временной таблице система знает количество строк и более правильно стрит план построения запроса на SQL. При вложенном запросе количество строк вложенного запроса заранее неизвестно по этому и медленнее будет работать запрос.
Название: Задача 1.30
Отправлено: alexey55 от Март 12, 2012, 03:47:35 pm
Мое решение
Вложения:
alexey55-1.30.dt
Название: Задача 1.30
Отправлено: sv_mikh от Апрель 08, 2012, 11:09:39 am
Мой вариант.
Вложения:
sv_mikh_01_30.dt
Название: Задача 1.30
Отправлено: Timoha от Апрель 24, 2012, 06:16:20 am
Мой вариант.
Вложения:
Timoha_1.30.dt
Название: Задача 1.30
Отправлено: Pavlyk от Июнь 14, 2012, 04:20:03 pm
Quote (sv_mikh)
sv_mikh

 Может кто нибудь объяснить.
 Вот есть у нас товар стоит 50 рублей наценка 100, значит при перемещении его цена должна становиться 150,
 Вот формула которая стоит у sv_mikh
 Движение.Сумма = (100 + Выборка.Наценка) * СуммаПеремещения / 100;

 По этой формуле получается 100.... я вот не пойму что за формула такая....
 Я думал просто Движение.Сумма = СуммаПеремещения + выборка.наценка , разве нет?

 Добавлено (14.06.2012, 16:20)
 ---------------------------------------------
 И в догонку еще один вопрос появился =)

 Я правильно понимаю что это лишнее условие
 ?(Выборка.Количество-Нехватка = Выборка.КоличествоРегТТ, Выборка.СуммаРегТТ, и т.п.

 Так как до этого мы находили

 Нехватка = Выборка.Количество - Выборка.КоличествоРегТТ;

 И условие всегда будет равно Выборка.СуммаРегТТ
Название: Задача 1.30
Отправлено: SAV_tlt от Июль 05, 2012, 01:35:27 pm
Из условия:
Quote
Трансфертная цена определяется как себестоимость перемещаемого товара,
 увеличенная на сумму наценки
я так понял это за 1 единицу товара,
 СуммаПеремещения = КолСписатьСОЗ / КолОстатокОЗ * СуммаОстатокОЗ + Выборка.Наценка * КолСписатьСОЗ;

Добавлено (05.07.2012, 13:35)
---------------------------------------------
Хотя может и так имеется ввиду:
 СуммаПеремещения = КолСписатьСОЗ / КолОстатокОЗ * СуммаОстатокОЗ + Выборка.Наценка(в зависимости от стоимости товара за одну единицу);
 Условия иногда просто поражают своей точностью)) больше времени уходит на анализ, что же тут всё-таки имеется ввиду, а может так? А может всё таки так? Или нет наверно лучше вот так, хотя...
 У меня была на экзамене в билете эта задачка, даже не успел до неё дойти)

Название: Задача 1.30
Отправлено: Rizjiy от Июль 23, 2012, 04:25:36 pm
Мое
Вложения:
Rizjiy_1.30.dt
Название: Задача 1.30
Отправлено: Nicola от Август 23, 2012, 05:44:11 pm
Мой вариант решения.

 Жду критики =)
Вложения:
1.30_Nicola.dt
Название: Задача 1.30
Отправлено: Andy63 от Сентябрь 08, 2012, 10:40:47 pm
Мой вариант, смотрите критекуйте
Вложения:
_1.30__Andy.dt
Название: Задача 1.30
Отправлено: iomoe от Октябрь 15, 2012, 09:14:01 pm
Andy63,

 А где в задании написано про устанавливаемый вручную признак перемещения в документе? Документ должен решать сам, перемещать товары на склад, или нет, если там его и так хватает: "При продаже ... контролировать хватает ли товара в данной торговой точке. Если нет - необходимо ... добавить соответствующие движения в регистре для передачи товара по трансфертной цене."
Вложения:
iomoe_1_30.dt
Название: Задача 1.30
Отправлено: semtesem от Ноябрь 11, 2012, 08:49:26 pm
Приятная Задача,
 делал по sv_mikh
 Плюс вынес подсчет наценки в функцию,
 прозрачность решения улучшается,
 правда микро-запрос по трем записям в цикле оказывается.
Вложения:
semtesem_1.30.dt
Название: Задача 1.30
Отправлено: Nat8956 от Январь 05, 2013, 01:34:56 pm
Добрый день.
 Подскажите, есть ли где-нибудь поэтапное решение данной (или похожей) задачи?
 Я далека от программирования, но на экзамене в ВУЗе придется ее сдавать. Хочется разобраться.
 Спасибо, всем кто откликнется.
Название: Задача 1.30
Отправлено: TuMyP1985 от Июнь 24, 2013, 01:36:00 pm
Мой вариант решения задачи
Вложения:
KTT_1_30.dt
Название: Задача 1.30
Отправлено: artfa от Июль 09, 2013, 10:44:45 pm
задача интересная, весь день убил на решение, все работает как в условиях задачи.
 больше всего времени потратил на оптимизацию запросов МенеджерВременныхТаблиц
 пишут что с использованием МВТ запросы читаются легче, незнаю-назнаю, но пишутся они гораздо дольше чем без них
Название: Задача 1.30
Отправлено: bilateral от Июль 10, 2013, 04:42:09 pm
Цитата (artfa)
но пишутся они гораздо дольше чем без них
Я например привык уже писать с МВТ. Мне писать таки да легче. Но! если у вас вызывает трудности - всегда можно написать 1 запрос, а уже потом нарезать его в капусту, и расставить кусочки по коду как надо. По сути придутся только добавить только  закрывающую кавычку после пакета, точку с запятой и
Код
Запрос.Текст = "
перед следующим входом в запрос. Даже параметрі не обязательно попакетно устанавливать - можно сразу перед віполнением первого пакета все запилить 1 раз и все. В МВТ сила.
Название: Задача 1.30
Отправлено: bilateral от Июль 10, 2013, 05:59:43 pm
Мой вариант

Добавлено (10.07.2013, 17:59)
---------------------------------------------

Цитата (artfa)
artfa
1.А зачем иерархия элементов? smile
 2.Странно, обычно шкалу все пихают в РС. Потому что из него быстрее данные доставать чем из справочника. Думаю на экзамене отшлепают за это.
 3.Еще нет контроля пересечений множеств. Задал множества (к тем что у вас были) от 100 до 10000,от 100 до 20000,от 100 до 30000.
 Списание произошло для каждого из множеств, в которые попала цена. 
 Да, в задании это не требуется но все же...
 4.
Код
ТЗТовары = ЗапросТовары.Выполнить().Выгрузить();
За это вас сразу перманентно и без аппеляций забанят. Никогда ни при каких условиях не выгружайте в ТЗ на экзамене. Надо использовать выборку smile Да, это не удобно по началу но потом привыкнете.
 5.
Код
ЗапросТовары = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    ЗапросТовары.МенеджерВременныхТаблиц = МВТ;
    ЗапросТовары.Текст =  
 ...
 ЗапросТовары.УстановитьПараметр("Ссылка", Ссылка);
    ТЗТовары = ЗапросТовары.Выполнить().Выгрузить();
     
    ЗапросОстакиОЗакупок = Новый Запрос;
    ЗапросОстакиОЗакупок.МенеджерВременныхТаблиц = МВТ;
    ЗапросОстакиОЗакупок.Текст =

 Теперь я понимаю почему вам МВТ не нравятся. Вместо этого пишете:
 
Код
ЗапросТовары = Новый Запрос;
 [size=10]ЗапросТовары.МенеджерВременныхТаблиц = Новый Менеджер Временных Таблиц;
 Запрос.Текст =...
 ...Запрос.УстановитьПараметр(...);//Сразу абсолютно все параметры устанавливайте
 Результат = Запрос.Выполнить...
 //и далее
 Запрос.Текст....[/size]
У вас запрос один и тот же. параметры все одни и теже. Мвт всю дорогу один. Зачем миллиард запросов? Так конечно можно утомиться их писать. Посмотрите как я пишу. (З.Ы. в последующих пакетах ВТ видеться не будут - так не проблема - объявляете в запросе ВТ с таким именем как вы сделали в прошлых пакетах, поля какие там были (можно не все) и норм работаете).
 6.
Код
|ИНДЕКСИРОВАТЬ ПО
    |   От,
    |   До"

 Индексировать надо только по полям Вт по которым дальше связь будет. Переиндексация так же плохо как недоиндексация.
 7.Вместо ВыборкаДетальныеЗаписи.Номенклатура, нужно использовать поле такое:
 Код|ВЫБРАТЬ
 | Товары.Номенклатура,
 | Представление(Товары.Номенклатура) как НоменклатураПредставление,
 | Товары.Количество,
 | Товары.НомерСтроки,
 | ПопаданиеВШкалу.
 ...

 Сообщение.Текст = "Не хватает товара "+ВыборкаДетальныеЗаписи.НоменклатураПредставление+" в количестве "+Нехватка;
 8. Перед ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); нужно делать проверку на пустоту результата запроса. Построение выборки ресурсоемкий процесс, если результат пустой то выборку можно не строить.
Вложения:
bilateral_upr30.dt
Название: Задача 1.30
Отправлено: msergei от Сентябрь 25, 2013, 10:19:35 am
Мой вариант решения
Вложения:
3034844.dt
Название: Задача 1.30
Отправлено: Alexander от Октябрь 24, 2013, 03:26:59 am
Моё решение
 1. Обошелся одним несложным запросом
 2. Шкала наценок не проверяется
 3. Наценка считается как наценка на единицу товара
Вложения:
1_30.dt
Название: Re: Задача 1.30
Отправлено: ksandr от Февраль 01, 2015, 03:32:04 pm
Все данные беру одним запросом, наценку считаю на все количество перемещаемого товара, так как условие не совсем понятно ла и разница в реализации не существенна.
Версия 8.3.5.
Название: Re: Задача 1.30
Отправлено: Odines от Февраль 23, 2015, 11:01:52 pm
Мое решение
Название: Re: Задача 1.30
Отправлено: Шахназар от Апрель 08, 2015, 12:51:27 pm
ОдинС, а зачем в запросе ставить границу включая, а не просто момент времени?

Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
      Граница = Неопределено;
   Иначе
      Граница = Новый Граница(МоментВремени(),ВидГраницы.Включая);   
   КонецЕсли;
Название: Re: Задача 1.30
Отправлено: Шахназар от Апрель 08, 2015, 01:15:25 pm
Odinec, и тут в расходной накладной
движение последнее:
Если НЕ Перемещение Тогда
         СуммаСНаценкой = Движение.Сумма;
         
         Движение = Движения.ОстаткиНоменклатуры.ДобавитьРасход();
         Движение.Период = Дата;
         Движение.Отдел = Отдел;
         Движение.Номенклатура = Номенклатура;
         Движение.Количество = ВыборкаПеремещение.КолПеремещение;
         Движение.Сумма = СуммаСНаценкой;
      КонецЕсли;


тут я думаю нужно количество по документу?
Название: Re: Задача 1.30
Отправлено: rusmosav от Май 01, 2015, 05:53:14 pm
Прощу оценить.
Название: Re: Задача 1.30
Отправлено: Albert от Май 20, 2015, 09:20:38 am
Прощу оценить.
rusmosav ,
посмотрел. Понравилось в Вашем решении выделение Перемещения в отдельную функцию.
Реализация ШкалыНаценки не соответствует заданию.
Смотрите у ОдинС или мое решение. Также буду благодарен за критику.
Название: Re: Задача 1.30
Отправлено: alfalume от Сентябрь 01, 2016, 11:07:15 am
мое решение
Название: Re: Задача 1.30
Отправлено: jonik от Август 30, 2017, 11:48:56 am
Всем привет. Задача повторяет 1.08, за исключением того, что наценка берется из таблицы. Данное решение организовал через регистр сведений.
Название: Re: Задача 1.30
Отправлено: jonik от Февраль 16, 2018, 05:47:55 pm
Всем привет. Задача повторяет 1.08, за исключением того, что наценка берется из таблицы. Данное решение организовал через регистр сведений.
Подкорректировал
Название: Re: Задача 1.30
Отправлено: НатальяЮГ от Июль 18, 2018, 11:39:34 am
Мой вариант  :)
Название: Re: Задача 1.30
Отправлено: igarh от Сентябрь 23, 2018, 08:08:55 pm
1_30