Продвинутый курс. МГ от 17.02.2011. Updated
Рассматриваем новые вопросы продвинутой мастер-группы по программированию.
Обновлен ответ на 5-ый вопрос.
1. Схема резервирования ТМЦ.
Резерв под заказы покупателей из заказов поставщикам.
Как при такой сложной реализации процесса, когда участвуют несколько документов, которые в свою очередь зависят от проведения предыдущих, контролировать тот факт что заказ изменился, или его проведение отменили или еще какие коллизии.
Что то мне подсказывает что бороться с этим можно только запретом редактирования и перепроведения уже проведенных документов. Так ли это?
2. Построчное редактирование документов.
Где пользователи будут редактировать табличную часть одного документа, причем построчно?
Возможно, если работают несколько кладовщиков и принимают товар, каждый по своему участку из одной партии, то создать справочник партии, который будет связан через РС и реквизит документа, это как вариант решения.
3. Итоги в запросе.
Нельзя ли в Итогах указывать разные функции для разных уровней. Например, итоги хотим получить по Номенклатуре и по Валюте.
Для одного уровня рассчитываем максимум, а на другом уровне для тех же полей – сумму?
4. Сообщения пользователю.
Из модуля объекта идет вызов модуля менеджера документа
Документы.СписаниеЗапасов.ВыполнитьКонтроль(Ссылка, ДополнительныеСвойства, Отказ,ЭтотОбъект);
в модуле менеджера где проводится проверка выводится сообщения
Процедура ВыполнитьКонтроль(Ссылка, ДополнительныеСвойства, Отказ,ЭтотОбъект)
……………………………..
Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = ТекстСообщения; Сообщение.Поле = “Запасы[” + (ВыборкаИзРезультатаЗапроса.НомерСтроки-1) + “].Количество”; Сообщение.УстановитьДанные(Ссылка.ПолучитьОбъект());
//ПРИ таком написании привяка не происходит…!??????? ПОЧЕМУ.. Сообщение.Сообщить();
КонецПроцедуры
Работает только при таком написании
Сообщение.УстановитьДанные(ЭтотОбъект);
Что это?
5. Номера строк в отчете СКД.
Есть отчет лучшие товары (товары отсортированные по сумме продаж), примерно так:
1 конфеты белочка 5000
2 конфеты грильяж 4500
3 пряник московский 4200
4 пряник Аленка 4100
Пользователь в отчете устанавливает отбор по группе пряник и хочет видеть отчет в таком виде
3 пряник московский 4200
4 пряник алека 4100
т.е. что бы порядковый номер соответствовал из общего отчета лучших товаров..!?
6. История работы пользователя.
В левом нижнем углу есть кнопка “История”, которая показывает Историю работы пользователя – можно ли отключить эту функцию?
Т.е. отключить ведение истории, или как-то удалять историю вручную?
заинтересовало вычисление рейтинга товара как количество различных ссылок на товар.
По п.3.2
В принципе, валюту можно оставить измерением, только нужно следить за тем, чтобы регистр закрывался. Для этого при продаже товара в валюте, отличной от валюты закупки можно формировать не 1, а 3 записи регистра.
Например:
1. Купили 10 шт. товара А за 130 $.
+ ТоварА; USD; 10; 130
2. Продаем 5 шт. товара А за 200 евро. Кросс-курс на момент продажи: 1 евро = 1.3 $
– ТоварА; USD; 5; 65
+ ТоварА; EUR; 5; 50
– ТоварА; EUR; 5; 50
После продажи на остатке будет 5 шт. товара А на сумму 65 $ и не нужно будет считать учетную стоимость в какой-то единой валюте. Остатки товара будут храниться в валюте закупки, какой бы она не была!
Да, это вариант.
Но есть ли практический смысл видеть остатки в разрезе валют закупки?
По п.2
В конце урока для редактирования данных в списке предложен вариант использования таблицы значений с последующей синхронизацией данных с регистром сведений. Однако такой подход потребует еще и программное управление блокировками записей регистра сведений, ведь иначе оба пользователя смогут отредактировать одну и ту же строку в таблице, так?
Совершенно верно, за блокировкой придется следить самостоятельно.
Не знал в какую ветку писать. Написал, там где возникла проблема со скачкой. При нажатию на ссылку для скачивания видео вылезает ошибка авторизации. Также на главной странице в блоке “Участие в Мастер-группах” отображается вот это, хотя в настройках профиля указывается корректная информация. Как побороть данное недоразумение?
Меняю ошибочную ссылку “вылезает ошибка авторизации“
только я написал, как все сразу заработало. Оперативно ;)
Это были технические работы по обновлению сайта.
Сейчас – закончили
Это были технические работы по обновлению сайта.
Сейчас все закончили…
Вопрос № 6 Дополнение! Это просит сделать не “хитрый пользователь” :-). А сам собственник бизнеса, а с этим”товарищем особа не поспорить..:-)
Ну почему же. Очень даже можно поменять собственнику его мнение.
Здесь просто нужен особый подход :)
Проникнуть через сон в его сознание и поселить там идею )
Есть варианты проще. Любую проблему рассматривать с точки зрения сокращения затрат и увеличения прибыли.
Тогда много всяких “красивых хотелок” отпадет за ненадобностью.
Вопрос № 6. Предполагал что возможно использовать связь набора данных “Объект”( куда положить ТЗ с общим рейтингом продаж) и “запросом” по полю номенклатура. Возможно ли это и на на каком этапе сформировать “ТЗ с общим рейтингом” !??
Да, такое решение возможно.
Программно формируется источник данных. Рассмотрим подобную задачу в главе про СКД.
Интересно, а в СКД можно использовать конструкцию из пакета запросов? Т.е. первый запрос собирает таблицу с рейтингом по всем товарам, а основной отбирает из этой таблицы нужные товары.
Все гениальное – просто.
Спасибо, Константин. Ответ на 5-ый вопрос обновил.
А будет ли быстрее, если выбирать простым запросом данные, “вручную” их нумеровать, и затем в СКД использовать внешние данные из нашей таблицы?
Для больших объемов данных – да, быстрее.
а на малых, даже +- одна – две секунды роли не сыграет.
Понятие большого объема данных весьма относительное.
И в том числе зависит и от мощности серверного оборудования.
Поэтому нужно проводить эксперименты, учитывать рост БД и понимать устраивает ли данный вариант решения задачи или нет.
Вопрос № 5 спасибо за ответ, я так и предполагал.
Интересно а разработчики Управление Небольшой Фирмой об этом не догадывались…это код от туда..:-)
Да, УНФ – клинический случай… к сожалению.