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

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

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #30 : Июнь 02, 2011, 11:28:31 am »
Quote (Matcoder)
Причем тут это. Оприходовать услугу на склад можно только специально или по глупости. Я могу придумать еще десяток возможностей напортачить если задаться целью. Просто на экзамене времени делать защиту от дурака не будет, поймите вы это!

 на экзамене можно и не делать, а вот в тренировочных задачах думаю стоит... надо же учиться всё правильно делать smile

 ---------------------------------------------
 
Quote (Ikem)
Буду рад любой критике. Заранее спасибо.

 Очистить() не обязательно, достаточно - Движения.Продажи.Записать()

 ---------------------------------------------
 
Quote (garden)
1. Не нашла блокировку на регистр Продажи Движения.Продажи.БлокироватьДляИзменения = Истина;

 а зачем она нужна? вы же не будете к нему обращаться потом.
« Последнее редактирование: Июнь 02, 2011, 11:28:47 am от Олег »

karagiosis

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 1.02
« Ответ #31 : Июнь 12, 2011, 11:42:32 pm »
Доброго времени суток... Прошу специалистов уделить время на рассмотрение моего решения. Буду рад конструктивной критике. Спасибо.
Вложения:
karagi_1_2.dt
« Последнее редактирование: Июнь 13, 2011, 09:41:13 am от Максим »


Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #32 : Июнь 14, 2011, 12:10:17 pm »
Quote (karagiosis)
Буду рад конструктивной критике.

 ну поехали smile

 об этой ошибке уже говорили:
 
Code
Запрос.УстановитьПараметр("Период", Дата);


 вот это:
 
Code
ЗапросДляБлокировки = Новый Запрос;
  ЗапросДляБлокировки.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
                    |ИЗ
                    |    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
                    |ГДЕ
                    |    РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
                    |    И РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Товар)";
  ЗапросДляБлокировки.УстановитьПараметр("Ссылка", Ссылка);
  НоменклатураВБлокировке = ЗапросДляБлокировки.Выполнить();
   
 можно заменить на это:
 
Code
СписокНоменклатуры

 или вы тренировались в использовании запроса для блокировки?

 а в остальном нормально.

karagiosis

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 1.02
« Ответ #33 : Июнь 15, 2011, 03:09:43 pm »
Gyd, спасибо... На счет Даты - я уже понял, переделаю. А подобный запрос для определения номенклатуры в блокировке я видел в статье Павла Белоусова здесь: http://kb.1c.ru/articleView.jsp?id=30. Он делает так только для того, чтобы отсеивать дубли номенклатуры, наверное и иметь возможность наложить произвольное условие на выборку запроса...
« Последнее редактирование: Июнь 15, 2011, 03:12:46 pm от Максим »

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #34 : Июнь 15, 2011, 03:43:50 pm »
Quote (karagiosis)
А подобный запрос для определения номенклатуры в блокировке я видел в статье Павла Белоусова здесь: http://kb.1c.ru/articleView.jsp?id=30.

 Нам туда не попасть smile
 Вариант интересный конечно, но у него есть один минус - это время.

 
Quote (karagiosis)
Gyd, спасибо.

 Да не за что... вот если бы мне преподаватели в своё время отвечали как я вам... smile
« Последнее редактирование: Июнь 15, 2011, 03:46:59 pm от Олег »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.02
« Ответ #35 : Июнь 19, 2011, 01:08:59 pm »
Коллеги! Прошу посмотреть мое решение задачи 1.2. Заранее благодарю за критику!
Вложения:
DoctorRoza_1_2.dt
« Последнее редактирование: Июнь 19, 2011, 10:38:33 pm от Алексей »

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #36 : Июль 07, 2011, 08:31:42 pm »
Я бы выделили следующие ошибки, которые проверяют регламентно преподаватели:
 1. Построенная в решении учетная схема принципиально не позволяет одновременно вывести в ноль все ресурсы регистра накапливающего информацию об остатках. -2Бала
 Можно оприходовать Доставку в прих. Нак а расход не предусмотрен.

 2. В задачах получения данных из информационной базы установка отборов по неиндексированным полям -0,5
 В менеджере временных таб нужно индексировать измерения

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

 4. Конфигурация должна устойчиво работать при наличии дублей строк (номенклатуры или сотрудников или т.п.) в документах.-0,5
 В прих нак нет группировки

 5. Использование автоматических блокировок в транзакции или неправильное использование управляемых блокировок данных в транзакции при проведения документов -1.
 В 8.2 только в модуле обработки проведения можно использовать БлокироватьДляИзменения
 Движения.СтоимостьНоменклатуры.БлокироватьДляИзменения

 6.Наличие ошибок в программном коде 0,25-3
 Получение учетной политики можно делать в запросе с списанием товара например пакетом. Повторяющийся код
 7. Если при проведении документа используются каким-то образом данные, считываемые из регистров, обязательно требуется предусмотреть получение таких данных на момент проведения документа -1
 Необходимо при оперативном проведении указывать неопределенно
 8. Нет отбора по номенклатуре в списке расх нак.

 Мне лично понравилось нестандартное решение отбора партии.

 Посмотрите мое, решение может, быть тоже что-то бросится в глаза
 Отбор постарался выполнить на уровне виртуальных таблиц, чтобы удовлетворить требованию.
 Использование механизма соединения таблиц вместо того, чтобы задать значения параметров виртуальных таблиц.
 На сколько, это эффективно не знаю

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #37 : Июль 07, 2011, 08:33:28 pm »
База
Вложения:
kow19762.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.02
« Ответ #38 : Июль 07, 2011, 09:13:29 pm »
Ух! Большой запрос в расходной. smile
 Зачем в запросе добавлять кусок кода, по нахождению номенклатуры, которой нет в табчасти документа? Эт лишнее .. Вроде остальное логично ..

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #39 : Июль 07, 2011, 10:35:34 pm »
Первый нахожу партии где есть заданная партия и заданная номенклатура- номенклатуру которая есть в партии из шапки
 Во втором нахожу есть заданная номенклатура и нет заданной партии - номенклатуру которая есть не в партии заданной в шапке.

 Если можно оттестируйте на разных наборах, данных на предмет работоспособности
Вложения:
0792685.sel

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #40 : Июль 08, 2011, 10:29:33 am »
Quote (kow1976)
4. Конфигурация должна устойчиво работать при наличии дублей строк (номенклатуры или сотрудников или т.п.) в документах.-0,5
 В прих нак нет группировки

 А зачем в приходной накладной группировки? Это разве критично?

 
Quote (kow1976)
3. Не реализована возможность корректного перепроведения документов задним числом -1
 Наверно все таки нужно использовать штатный механизм последовательности

 А вот про это можно по-подробнее? Не совсем понимаю назначение последовательности в этом случае, и что там (в базе) разве некорректно переводятся документы?
« Последнее редактирование: Июль 08, 2011, 10:29:44 am от Олег »

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #41 : Июль 08, 2011, 04:16:58 pm »
Я имел ввиду что лишние записи в регистре лишняя работа для таб итогов.

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

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.02
« Ответ #42 : Июль 09, 2011, 03:08:47 am »
kow1976,Если явно в задаче не указано про последовательность, ее использовать не нужно на экзамене. Сам в свое время спрашивал, тех, кто сдавал..потом сдавал сам и претензий к "неиспользованию" последовательностей не было.

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #43 : Июль 11, 2011, 05:01:36 pm »
Quote (kow1976)
Не реализована возможность корректного перепроведения документов задним числом

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

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.02
« Ответ #44 : Июль 13, 2011, 10:41:28 pm »
Возможно, вы правы. Но под одну «ошибку от 1с» можно подвести несколько ситуаций .
 Я не пойму такую неприязнь форумчан к последовательностям на их создание нужно ровно 15секунд. Зато появляется возможность видеть дату последнего неоперативно проведенного документа и автоматически перепроводить все неактуальные документы. Программно с ними можно неработать

Добавлено (13.07.2011, 22:41)
---------------------------------------------
Приведу пример
 Прих1 -2ед
 Прих2-3ед
 Прих3-2ед
 Расх 1 - 4ед
 Расх2 - 3 ед
 Пользователь открывает прих 2 и пишет неоперативно пришло 1ед.
 Все некорректное проведение задним числом (пришло 5 продали 7). Система не отслеживает данной ситуации.