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

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

Zhora_Vlg

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Георгий
Задача 1.30
« : Октябрь 07, 2010, 09:12:20 pm »
Мой вариант решения
Вложения:
Zhora_Vlg-1.30.dt

AS

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Alexander
Задача 1.30
« Ответ #1 : Октябрь 18, 2010, 11:20:23 pm »
Zhora_Vlg, похоже не правильно идет списание по сумме в самом конце проведения расходной накладной:

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

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



Armaggik

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

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


Dima1C

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Дмитрий
Задача 1.30
« Ответ #3 : Ноябрь 28, 2010, 08:58:03 pm »
Quote (Armaggik)
вроде правильно
 Прикрепления: pershinsergei_1.dt(155Kb)

 У тебя запрос в цикле ПолучитьНаценку - это грубая ошибка, и в параметрах виртуальных таблиц не хватает номенклатуры.
« Последнее редактирование: Ноябрь 28, 2010, 09:00:35 pm от Дмитрий »

DSoB

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Севрюгин Дмитрий Павлович
Задача 1.30
« Ответ #4 : Декабрь 29, 2010, 02:55:07 pm »
Zhora_Vlg
 В блокировку нужно добавить Отдел

SINISTER_STAR

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Шкипер
Задача 1.30
« Ответ #5 : Январь 03, 2011, 12:32:08 pm »
вот моя база, вроде бы все учтено
Вложения:
1.30_1Cv8.dt

DSoB

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Севрюгин Дмитрий Павлович
Задача 1.30
« Ответ #6 : Январь 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


DSoB

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Севрюгин Дмитрий Павлович
Задача 1.30
« Ответ #7 : Январь 26, 2011, 04:19:03 pm »
Мой вариант решения
Вложения:
1-30.dt

hapcher

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Марина
Задача 1.30
« Ответ #8 : Февраль 19, 2011, 01:55:51 pm »
DSoB,
 1. Режим блокировок на конфигурации автоматический.
 2. Подсистем нет.
 3. В отчете нет кон. количества.
 4. Расходная накладная не проводится задним числом, ошибка - "деление на 0".
 5. да и "передним" числом тоже не проводится ))
 6. не решена проблема копеек.
 7. упр. блокировка стоит только на одно подразделение, когда расх. накл. отражается реализация, то блокировка должна стоять не только на торговую точку, но и на отдел закупок.
 8. запросы в расходной просто жесть, успеешь такие на экзамене написать?
 дальше смотреть не стала...

hapcher

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Марина
Задача 1.30
« Ответ #9 : Февраль 19, 2011, 01:58:58 pm »
В своем решении наценку получаю так:
 1. расчет с/ст пишу в отдельную ТЗ
 2. передаю ТЗ в качестве временной таб. в запрос, в котором получаю наценку.
 3. формирую движения по регистру остатков
Вложения:
_1_30.dt

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.30
« Ответ #10 : Апрель 20, 2011, 06:23:51 pm »
моё решение
Вложения:
AP_1.30.dt

mebius

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.30
« Ответ #11 : Май 29, 2011, 07:10:32 pm »
Выкладываю свое решение. Сделал у сообщений указание свойства "Поле" для тренировки, не учитывал при этом дубли (надо похитрее в этом случае).
Вложения:
mebius_1_30_2_3.dt
« Последнее редактирование: Май 29, 2011, 07:11:36 pm от Алексей »

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Задача 1.30
« Ответ #12 : Июнь 15, 2011, 10:26:47 pm »
готово biggrin
Вложения:
1_30_lukashov.dt

sergey7

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.30
« Ответ #13 : Июль 26, 2011, 03:14:36 pm »
Вроде простая
Вложения:
s7_1-30.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #14 : Август 07, 2011, 06:27:12 pm »
Интересная задача .. особенно поиск нужной наценки заинтреговал .. smile
Вложения:
DoctorRoza_1_30.dt
« Последнее редактирование: Август 07, 2011, 06:27:37 pm от Алексей »

magrib

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Максим
Задача 1.30
« Ответ #15 : Август 23, 2011, 01:19:47 pm »
У всех разная структура регистра "ОстаткиНоменклатуры".
 Как правильно: Измерения (Отдел,Номенклатура) или (Номенклатура,Отдел)?

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #16 : Август 24, 2011, 11:28:28 am »
magrib,
 В принципе особого значения это не имеет .. Более логичней сделать измерения РН Отдел/Номенклатура (для отчета). Если Вы выберете вариант Номенклатура/Отдел, то обязательно нужно установить для Отдела - Индексировать ..

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задача 1.30
« Ответ #17 : Август 24, 2011, 11:33:59 am »
Quote
У всех разная структура регистра "ОстаткиНоменклатуры".
 Как правильно: Измерения (Отдел,Номенклатура) или (Номенклатура,Отдел)?

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

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

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

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


DoctorRoza

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


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

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


 Мыслю, что индексировать нужно только, если это действительно требуется. Лишнего не надо!
 Нет у меня под рукой ИТС .. в нем есть статья по построению индексов. На это обращается усиленно внимание, чтобы все запросы у СУБД были как можно более понятны для интерпретатора запросов 1С (кажется так называется этот механизм, не помню .. уже жалею, что нет этой статьи под рукой!!!). Ну а построение дополнительных индексов - это все напрягает систему ..

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задача 1.30
« Ответ #19 : Август 24, 2011, 12:11:37 pm »
http://gilev.ru/1c/81/index/ - отличная статья на эту тему.
 Из статьи явно понятно что индекс должен покрывать выбираемые поля или поля учавствующие в условиях, так же впринцепи и поля по которым идёт связь таблиц...
« Последнее редактирование: Август 24, 2011, 12:14:23 pm от Канаев Михаил Сергеевич »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #20 : Август 24, 2011, 12:16:40 pm »
mkanaev,
 - Ну у вас и запросы! - сказала база данных и повисла…
 biggrin

KirkHam

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Константин
Задача 1.30
« Ответ #21 : Август 29, 2011, 07:15:30 pm »
Мое решение (на блокировки и т.д. времени не тратил)...ваши комменты
Вложения:
KirkHam_1.30.dt

john916

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Евгений
Задача 1.30
« Ответ #22 : Октябрь 12, 2011, 02:28:41 pm »
DoctorRoza, всё у вас вроде хорошо, но в обработке проведения расходной накладной я усмотрел запрос в цикле... как быть? cool

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #23 : Октябрь 12, 2011, 06:41:41 pm »
john916, Вы совершенно правы .. запрос в цикле - это плохо. Мое решение данной задачи неудачное - это могу сказать точно .. sad .. Перемудрил, решается задача проще! Если необходимо, могу выложить решение задачи, но только уже в объеме билета №10 (опер. и бух. учеты). В принципе Расходная там только в опер. учете проходит.

john916

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Евгений
Задача 1.30
« Ответ #24 : Октябрь 13, 2011, 06:19:44 am »
DoctorRoza, если вам не сложно, выложите пожалуйста! А то что-то я тоже совсем запутался с этой задачкой! wink

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #25 : Октябрь 13, 2011, 06:20:33 pm »
john916, посмотрите .. если что, подскажите мои ошибки ..
Вложения:
Bilet_10.dt

john916

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Евгений
Задача 1.30
« Ответ #26 : Октябрь 14, 2011, 11:36:34 am »
DoctorRoza, спасибо огромное! Посмотрел только задачу 1_30 с оперативного учёта - вопросов нет! Всё логично и грамотно реализовано..Думаю, что от количества формирований движений по ОстаткамНоменклатуры не уйти.. в плане меньше ну никак не получится...Необходимы проверки по условию задачи...Ну если что-нить придумаю ещё - напишу обязательно!
« Последнее редактирование: Октябрь 14, 2011, 11:36:56 am от Евгений »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #27 : Октябрь 14, 2011, 06:35:58 pm »
Quote (john916)
Думаю, что от количества формирований движений по ОстаткамНоменклатуры не уйти.. в плане меньше ну никак не получится...

 Как вариант, создавать НаборЗаписей .. для РН ОстаткиНоменклатуры .. и все включать в этот набор, но, ИМХО, читабельность текста программы ухудшается, а это еще на экзамене нужно будет реализовывать! Так что, пришел к выводу, что лучше создать тупо движения по документу .. smile .. и не париться. По крайней мере, так проще ошибки найти да отладить!

van_za

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Зарубин Иван
Задача 1.30
« Ответ #28 : Ноябрь 01, 2011, 10:53:50 pm »
Ну и задачка ... и решения тоже пипец ... и невидно свет в конце тонеля...
 Если предположить что расходная накладная это расходная накладная и выполняет она роль перемещения только тогда когда товара на торговой точке нет (а его в таком случае никогда нет:) :)) то получится мое не бесспорное решение. Булыжники в мою сторону приветствуются!!!

Вложения:
1_30_van_za.dt

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задача 1.30
« Ответ #29 : Ноябрь 02, 2011, 09:51:47 am »
Папалась эта задачка на экзамене, есть отличие, на экзамене перемещение и продажа разными документами были....
 вот:
Вложения:
10.dt

cheetah

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Петр
Задача 1.30
« Ответ #30 : Ноябрь 02, 2011, 08:59:54 pm »
mkanaev,
 выложи своё решение задачи 3.44 в соответствующую ветку
 это из этого же билета.
 спасибо!

van_za

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Зарубин Иван
Задача 1.30
« Ответ #31 : Ноябрь 05, 2011, 12:05:58 pm »
mkanaev,
 Тогда все понятнее :)))

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 1.30
« Ответ #32 : Ноябрь 05, 2011, 06:54:10 pm »
Здравствуйте.
 Вот мое решение задачи.
 Критика приветствуется :), только пожалуйста аргументируйте
Вложения:
nodalt_1_30.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #33 : Ноябрь 05, 2011, 09:24:43 pm »
nodalt, А зачем РС блокировать? ))

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 1.30
« Ответ #34 : Ноябрь 06, 2011, 12:14:39 am »
Нет смысла его блокировать, согласен smile

 По поводу блокировки есть вопрос ...
 Скажите пожалуйста, можно ли в методе УстановитьЗначение(<ПолеПространстваБлокировок>, <БлокируемоеЗначение>) в параметр <БлокируемоеЗначение> передать массив или результат запроса?

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #35 : Ноябрь 06, 2011, 10:48:17 am »
nodalt, хм .. ну если воспользоваться аксиомой Кана, то ..
 <БлокируемоеЗначение> (обязательный)
 Тип: Произвольный; Диапазон. Значение (диапазон значений) для поля пространства блокировки.
 Тут надо пробовать, может через Диапазон можно будет передать!

Irmo

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Irmo-dono
Задача 1.30
« Ответ #36 : Ноябрь 10, 2011, 05:19:32 am »
Решил задачу на одном регистре, получил отчет "похожий" на тот, что в задачнике. Непонятно, как попали куртки на Оптовый и Розничный со стоимостью ниже 100 за штуку, тогда как минимальная наценка 100. В моем отчете трансфер несколько дороже, но остальные чиселки совпадают.
Вложения:
irmo-1.30.dt

JIeHIH

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Павел
Задача 1.30
« Ответ #37 : Ноябрь 11, 2011, 01:29:04 pm »
Quote (mkanaev)
Папалась эта задачка на экзамене, есть отличие, на экзамене перемещение и продажа разными документами были.... вот:
 Прикрепления: 10.dt(112Kb)


 Списание себестоимости неправильное, в ноль регистр не выйдет.
 В запросах таблицу товаров надо поместить во временную таблицу, а так вы дважды обращаетесь к базе.
 И еще у меня вопрос, зачем проведение делать в рамках транзакции??
« Последнее редактирование: Ноябрь 11, 2011, 01:39:15 pm от Павел »

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задача 1.30
« Ответ #38 : Ноябрь 11, 2011, 02:15:23 pm »
Quote
Списание себестоимости неправильное, в ноль регистр не выйдет.

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

 Наверно вы имели в виду в менеджер временных таблиц, но два раза к базе обращения всё равно не будет...
« Последнее редактирование: Ноябрь 11, 2011, 02:15:59 pm от Канаев Михаил Сергеевич »

JIeHIH

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Павел
Задача 1.30
« Ответ #39 : Ноябрь 11, 2011, 03:06:36 pm »
Quote (JIeHIH)
QuoteСписание себестоимости неправильное, в ноль регистр не выйдет. Можно узнать почему? имеется в виду проблемма копеек?

 да

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

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

 и все же интересно узнать зачем нужна транзакция

mkanaev

  • Пользователь
  • **
  • Сообщений: 27
  • ФИО: Канаев Михаил Сергеевич
Задача 1.30
« Ответ #40 : Ноябрь 11, 2011, 03:18:31 pm »
Quote
табличная часть выбирается дважды, как параметр в виртуальную таблицу, и непосредственно как список номенклатуры для соединения с остатками.

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


 Вроде как это необходимо чтобы установить режим блокировки данных, и типо блокировка данных слетит при завершении транзакции, хотя есть системная транзакция. Мне дали совет еще в начале подготовки, вроде на экзамене на это смотрят...
« Последнее редактирование: Ноябрь 11, 2011, 03:20:12 pm от Канаев Михаил Сергеевич »

JIeHIH

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Павел
Задача 1.30
« Ответ #41 : Ноябрь 11, 2011, 06:21:30 pm »
Quote (mkanaev)
всё понял про что реч... впринцепи незначительно

 ну это когда корочка уже в кормане smile

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #42 : Ноябрь 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)

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #43 : Ноябрь 18, 2011, 06:52:06 am »
DoctorRoza,

 Есть сомнения в вашем решении по билету
 Приход ручка 10шт по 25грн на 250
 Переносите товар на склад
 5*250/10+5*100/10=175грн.
 Т. е распределяете наценку 100 грн на количество остатка на складе.
 По идее наценка в 100 грн. должна быть на перемещение.
Вложения:
s6066567.jpg

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.30
« Ответ #44 : Ноябрь 18, 2011, 07:32:23 pm »
kow1976, Что то Вас давненько не было видно на сайте! smile
 Да, согласен, Вы правы. Наценка начисляется на перемещаемый товар, а не на весь товар целиком. Исправлю у себя в решении!

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #45 : Ноябрь 23, 2011, 10:21:41 pm »
Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
kow1976_.1.30.dt

Saipl

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 1.30
« Ответ #46 : Декабрь 07, 2011, 01:07:14 pm »
Quote
kow1976,

    ЭлементБлокировки.УстановитьЗначение("Отдел", Справочники.Отдел.Закупка);
    ЭлементБлокировки.УстановитьЗначение("Отдел", Отдел);
 Так будет работать ? В отладчике показывает Блокировка[0].Поля[0].Значение = Закупка. Как правильно задать несколько значений точно сам не знаю может список значений создать ???

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #47 : Декабрь 07, 2011, 02:40:02 pm »
Saipl,
 Вы правы устанавливается Только последнее значение. Вы подняли очень интересную проблему. Наверно решается запросом.
 Или добавлением блокировки по одному и тому же регистру два раза. Нужно этот способ попробовать.

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

 ЭлементБлокировки.УстановитьЗначение("Отдел", ?(Перемещение,Справочники.Отдел.Закупка, Отдел);

Saipl

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 1.30
« Ответ #48 : Декабрь 07, 2011, 03:55:29 pm »
Мое решение, время не удается замерить точно т.к. постоянно отвлекаюсь но решал наверно не меньше 2,5 часов.
Вложения:
Saipl_1.30.dt

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.30
« Ответ #49 : Декабрь 07, 2011, 08:24:36 pm »
Saipl, kow1976, В синтаксис помощнике сказано что для ИсточникаДанных ЭлементаБлокировки можно указать РезультатЗапроса, ТабличнуюЧасть или ТаблицуЗначений. Создать ТЗ, заполнить ее отделами и указать как источник.

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #50 : Декабрь 08, 2011, 10:16:30 am »
SergTH000,
 А если источника два как. Как отработает данная ситуация?

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.30
« Ответ #51 : Декабрь 09, 2011, 10:17:01 am »
kow1976, Очень просто: выгрузи первый источник в ТЗ, добавь колонку Отделы и заполни ее.. дальше - ИспользоватьИзИсточникаДанных...

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


Saipl

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

 Не могу сообразить как в отладчике проверить !

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.30
« Ответ #53 : Декабрь 14, 2011, 10:45:11 am »
Saipl,
Quote
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Подразделение", "Ссылка.Подразделение");

 Здесь нужно использовать метод УстановитьЗначение, ведь в источнике нет колонки подразделение.

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #54 : Декабрь 14, 2011, 11:23:31 am »
ЭлементБлокировки.УстановитьЗначение("Подразделение", ?(Перемещение=истина,Справочники.Отдел.Закупка, Отдел);

Saipl

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 1.30
« Ответ #55 : Декабрь 16, 2011, 03:37:08 pm »
Quote
kow1976,

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

 ЭлементБлокировки.УстановитьЗначение("Подразделение", Справочники.Отдел.Закупка, Отдел);
 Как проверить какие элементы система выбрала для блокировки ? Просто хотелось бы раз и навсегда для себя определить правильное написание параметров блокировки поскольку в задачах часто возникает подобная ситуация. т.к в параметр <БлокируемоеЗначение> можно передать что угодно система это никак не контролирует.

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.30
« Ответ #56 : Декабрь 16, 2011, 05:16:27 pm »
Saipl,
 1. Остановить работу программы после выполнения запроса в первой транзакции ( например Функцией Предупреждения())
 2. А во второй транзакции попробовать списать по этому регистрам с заблокированных и не заблокированных складов
 Тогда можно будет сказать точно блокируется или нет. Но это только при серверной установки.

 Когда то мы осуждали чем вложенный запрос хуже чем временная таблица. Мне подсказали что при временной таблице система знает количество строк и более правильно стрит план построения запроса на SQL. При вложенном запросе количество строк вложенного запроса заранее неизвестно по этому и медленнее будет работать запрос.

alexey55

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.30
« Ответ #57 : Март 12, 2012, 03:47:35 pm »
Мое решение
Вложения:
alexey55-1.30.dt

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 1.30
« Ответ #58 : Апрель 08, 2012, 11:09:39 am »
Мой вариант.
Вложения:
sv_mikh_01_30.dt

Timoha

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Artem
Задача 1.30
« Ответ #59 : Апрель 24, 2012, 06:16:20 am »
Мой вариант.
Вложения:
Timoha_1.30.dt

Pavlyk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: pavel
Задача 1.30
« Ответ #60 : Июнь 14, 2012, 04:20:03 pm »
Quote (sv_mikh)
sv_mikh

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

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

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

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

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

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

 И условие всегда будет равно Выборка.СуммаРегТТ
« Последнее редактирование: Июнь 14, 2012, 04:20:39 pm от pavel »

SAV_tlt

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

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

« Последнее редактирование: Июль 05, 2012, 12:51:41 pm от Антон »

Rizjiy

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.30
« Ответ #62 : Июль 23, 2012, 04:25:36 pm »
Мое
Вложения:
Rizjiy_1.30.dt

Nicola

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Николай
Задача 1.30
« Ответ #63 : Август 23, 2012, 05:44:11 pm »
Мой вариант решения.

 Жду критики =)
Вложения:
1.30_Nicola.dt
« Последнее редактирование: Август 23, 2012, 05:47:22 pm от Николай »

Andy63

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Andrei
Задача 1.30
« Ответ #64 : Сентябрь 08, 2012, 10:40:47 pm »
Мой вариант, смотрите критекуйте
Вложения:
_1.30__Andy.dt

iomoe

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Andrey
Задача 1.30
« Ответ #65 : Октябрь 15, 2012, 09:14:01 pm »
Andy63,

 А где в задании написано про устанавливаемый вручную признак перемещения в документе? Документ должен решать сам, перемещать товары на склад, или нет, если там его и так хватает: "При продаже ... контролировать хватает ли товара в данной торговой точке. Если нет - необходимо ... добавить соответствующие движения в регистре для передачи товара по трансфертной цене."
Вложения:
iomoe_1_30.dt
« Последнее редактирование: Октябрь 16, 2012, 08:19:21 pm от Andrey »

semtesem

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Цишейко Семён
Задача 1.30
« Ответ #66 : Ноябрь 11, 2012, 08:49:26 pm »
Приятная Задача,
 делал по sv_mikh
 Плюс вынес подсчет наценки в функцию,
 прозрачность решения улучшается,
 правда микро-запрос по трем записям в цикле оказывается.
Вложения:
semtesem_1.30.dt

Nat8956

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nat
Задача 1.30
« Ответ #67 : Январь 05, 2013, 01:34:56 pm »
Добрый день.
 Подскажите, есть ли где-нибудь поэтапное решение данной (или похожей) задачи?
 Я далека от программирования, но на экзамене в ВУЗе придется ее сдавать. Хочется разобраться.
 Спасибо, всем кто откликнется.

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
Задача 1.30
« Ответ #68 : Июнь 24, 2013, 01:36:00 pm »
Мой вариант решения задачи
Вложения:
KTT_1_30.dt

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
Задача 1.30
« Ответ #69 : Июль 09, 2013, 10:44:45 pm »
задача интересная, весь день убил на решение, все работает как в условиях задачи.
 больше всего времени потратил на оптимизацию запросов МенеджерВременныхТаблиц
 пишут что с использованием МВТ запросы читаются легче, незнаю-назнаю, но пишутся они гораздо дольше чем без них
« Последнее редактирование: Июль 09, 2013, 11:00:22 pm от Артур »

bilateral

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.30
« Ответ #70 : Июль 10, 2013, 04:42:09 pm »
Цитата (artfa)
но пишутся они гораздо дольше чем без них
Я например привык уже писать с МВТ. Мне писать таки да легче. Но! если у вас вызывает трудности - всегда можно написать 1 запрос, а уже потом нарезать его в капусту, и расставить кусочки по коду как надо. По сути придутся только добавить только  закрывающую кавычку после пакета, точку с запятой и
Код
Запрос.Текст = "
перед следующим входом в запрос. Даже параметрі не обязательно попакетно устанавливать - можно сразу перед віполнением первого пакета все запилить 1 раз и все. В МВТ сила.

bilateral

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.30
« Ответ #71 : Июль 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

msergei

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Сергей
Задача 1.30
« Ответ #72 : Сентябрь 25, 2013, 10:19:35 am »
Мой вариант решения
Вложения:
3034844.dt

Alexander

  • Пользователь
  • **
  • Сообщений: 33
  • ФИО: Kulikov Alexander
Задача 1.30
« Ответ #73 : Октябрь 24, 2013, 03:26:59 am »
Моё решение
 1. Обошелся одним несложным запросом
 2. Шкала наценок не проверяется
 3. Наценка считается как наценка на единицу товара
Вложения:
1_30.dt
« Последнее редактирование: Октябрь 24, 2013, 03:28:58 am от Kulikov Alexander »

ksandr

  • Проверенный
  • ***
  • Сообщений: 138
  • ФИО: ksandr
Re: Задача 1.30
« Ответ #74 : Февраль 01, 2015, 03:32:04 pm »
Все данные беру одним запросом, наценку считаю на все количество перемещаемого товара, так как условие не совсем понятно ла и разница в реализации не существенна.
Версия 8.3.5.

Odines

  • Проверенный
  • ***
  • Сообщений: 112
  • ФИО: Odines
Re: Задача 1.30
« Ответ #75 : Февраль 23, 2015, 11:01:52 pm »
Мое решение

Шахназар

  • Пользователь
  • **
  • Сообщений: 27
Re: Задача 1.30
« Ответ #76 : Апрель 08, 2015, 12:51:27 pm »
ОдинС, а зачем в запросе ставить границу включая, а не просто момент времени?

Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
      Граница = Неопределено;
   Иначе
      Граница = Новый Граница(МоментВремени(),ВидГраницы.Включая);   
   КонецЕсли;

Шахназар

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


тут я думаю нужно количество по документу?

rusmosav

  • Проверенный
  • ***
  • Сообщений: 137
Re: Задача 1.30
« Ответ #78 : Май 01, 2015, 05:53:14 pm »
Прощу оценить.
« Последнее редактирование: Май 02, 2015, 08:03:09 pm от rusmosav »

Albert

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Альберт
Re: Задача 1.30
« Ответ #79 : Май 20, 2015, 09:20:38 am »
Прощу оценить.
rusmosav ,
посмотрел. Понравилось в Вашем решении выделение Перемещения в отдельную функцию.
Реализация ШкалыНаценки не соответствует заданию.
Смотрите у ОдинС или мое решение. Также буду благодарен за критику.

alfalume

  • Проверенный
  • ***
  • Сообщений: 103
Re: Задача 1.30
« Ответ #80 : Сентябрь 01, 2016, 11:07:15 am »
мое решение

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.30
« Ответ #81 : Август 30, 2017, 11:48:56 am »
Всем привет. Задача повторяет 1.08, за исключением того, что наценка берется из таблицы. Данное решение организовал через регистр сведений.

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.30
« Ответ #82 : Февраль 16, 2018, 05:47:55 pm »
Всем привет. Задача повторяет 1.08, за исключением того, что наценка берется из таблицы. Данное решение организовал через регистр сведений.
Подкорректировал

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.30
« Ответ #83 : Июль 18, 2018, 11:39:34 am »
Мой вариант  :)

igarh

  • Новичок
  • *
  • Сообщений: 8
Re: Задача 1.30
« Ответ #84 : Сентябрь 23, 2018, 08:08:55 pm »
1_30