8.х помощь новичку в 1С: Управление торговлей - вывод оповещения

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем FLoYD777, 25 май 2009.

  1. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Во общем есть справочник "Номенклатура" в нем есть подчиненная группа «Сборка компьютеров» и в ней ещё две группы, но нам нужна только группа «Компьютеры».
    Необходимо сделать так чтобы Пользователю Иванову приходило сообщение с текстом: ну например «Проверьте комплектацию + № заказа», если любой из пользователей в том числе и он сам оформил заказ включающий продукцию с этой группы товаров(«Компьютеры»).
    Сообщения должны приходить при входе в систему, а если пользователь Иванов находиться в системе, то сразу в момент проведения заказа. В 1С работаю меньше месяца. Помогите разобраться с этой задачей, а то не знаю с чего начать. Как это все лучше реализовывать?? Заранее благодарен за помощь=)
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотрите, как сделаны в типовой стандартные задачи и оповещения. Модно прямо на их основе все сделать, даже не меня код типовой конфы.
    Достаточно добавить подписку на событие.
  3. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    Просмотрел типовую конфигурацию, но к сожалению ничего для себя не отметил... наверное потому что глаза разбегаються и не там смотрю... могли бы сказать по конкретней где можно посмотреть? буду очень благодарен!!!
    А вообще так как не нашел решения с помощью типовой конфигурации, то решил попробовать сделать следующим образом:
    1. При проведении документа "Заказ Покупателя" делать проверку по полю Номенклатура. Если в нем есть те наименования, которые входят в нужную группу, то записывать номер накладной и дату отгрузки в заранее подготовленную переменную(не знаю какой тип под нее подобрать, наверное таблица? есть же тут какой нибудь подобный?)
    2. При открытии конфигурации сделать проверку по "Роли", то есть если Роль - Иванов, то достаю Текущую дату и проверяю по определенному условию со значениями из этой переменной. Если есть подходящие даты, то вывожу сообщения с номерами накладных(заказами покупателями) и удаляю из этой переменной те записи по которым вывел сообщения.
    Как считаете, стоит ли браться за реализацию такого алгоритма?? и вообще это реально сделать здесь?? подскажите бывшему программисту Дельфи и С++ =)
  4. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    и что никто не поможет... ну и ладно, подскажите я тут покапался и нашел такую штуку, как Регламентные задания - это ведь то что мне нужно??
  5. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    В заказе посмотри на верхней панели пиктограмму "Будильник" и обработчик по ней. По аналогии сделай создание напоминаний при твоих условиях.
  6. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    ага, благодарю! сейчас посмотрю.
  7. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    я что-то не пойму... подскажите...

    Код:
    ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); 
    Сообщить("ТекущийПользовательИБ = "+ТекущийПользовательИБ);
    НужныйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("Иванов");
    Сообщить("НужныйПользовательИБ = "+НужныйПользовательИБ);
    
    Если ТекущийПользовательИБ = НужныйПользовательИБ Тогда
    Действи 1
    Иначе
    Действие 2
    КонецЕсли;
    
    Что я делаю неправильно??? ТекущийПользовательИБ и НужныйПользовательИБ равны, но почему-то выполняеться "Действие 2"???
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Проверьте в отладчике, что у вас приходит.
  9. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    проверял... все идет как надо, только при проверке условия облом...
    вынес в табло поля:
    "ТекущийПользовательИБ"
    "НужныйПользовательИБ"
    типы и значения совпадают...
    но почему-то условие не выполняеться...

    меняю условие на "<>" и начинает выполняться "Действие 1"...
    не могу понять почему, ведь значения одинаковые...?!?!
  10. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    и у меня есть ещё пару вопросов:
    1. мне нужно чтобы в СписокЗначений не попадали записи с "ПустоеЗначение"
    вот листинг, как я это реализовал:
    Код:
    Пока РезультатЗапроса.Следующий() Цикл
    Если РезультатЗапроса.ДатаОтгрузки <> Дата(1,1,1) Тогда
    Если СписокДатаОтгрузки.Количество()=0 Тогда
    СписокДатаОтгрузки.Добавить(РезультатЗапроса.ДатаОтгрузки);
    КонецЕсли;
    Флаг = ложь;
    Если СписокДатаОтгрузки.Количество()>0 Тогда        
    Для Каждого Строка Из СписокДатаОтгрузки Цикл
    Если Строка.Значение = РезультатЗапроса.ДатаОтгрузки Тогда 
    Флаг = Истина;
    КонецЕсли;
    КонецЦикла;
    Если Флаг = Ложь Тогда
    СписокДатаОтгрузки.Добавить(РезультатЗапроса.ДатаОтгрузки);
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    
    
    то есть сама проверка происходит здесь:
    Код:
    Если РезультатЗапроса.ДатаОтгрузки <> Дата(1,1,1) Тогда
    
    
    но к сожалению в список все равно попадают записи "ПустоеЗначение"... вопрос почему???

    2. хотя ладно, пока остановимся на этих вопросах... =)
  11. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    Возможно что там не пустая дата а NULL если это из запроса.
    попробуйте
    Код:
    ЗначениеЗаполнено(РезультатЗапроса.ДатаОтгрузки)
    
    
  12. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    да, из запроса! сейчас попробую

    помогло!!! все работает=)

    хорошо теперь ещё один вопрос:

    мне необходимо сравнить две даты... вот как это происходит:
    Код:
    СледующийДень = ТекущаяДата() + 60 * 60 * 24;
    Для Каждого ЗначДата Из СписокДатаОтгрузки Цикл
    Если НачалоДня(День(СледующийДень)) = НачалоДня(День(ЗначДата)) Тогда
    Сообщить("Номер: "+СписокНомер);
    КонецЕсли;
    КонецЦикла;
    
    
    
    и в итоге выводит такую ошибку:
    {ОбщийМодуль.РегламентныеПроцедуры(94)}: Преобразование значения к типу Дата не может быть выполнено
    Если НачалоДня(День(СледующийДень)) = НачалоДня(День(ЗначДата)) Тогда
  13. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    почему так незнаю. но вот так работает:
    Код:
    Если ТекущийПользовательИБ.УникальныйИдентификатор = НужныйПользовательИБ.УникальныйИдентификатор Тогда
    
    Код:
     Если НачалоДня(СледующийДень) = НачалоДня(ЗначДата) Тогда
    
  14. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    благодарю за помощь, сейчас попробую...

    а про последнюю ошибку могу сказать, что это происходит в этой строчке

    Код:
    НачалоДня(День(ЗначДата))
    
    я так понимаю, что как то нужно поменять Тип. наверное...

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

    и теперь я могу сказать, что это ошибка появляеться в связи с выше указанной строчкой...
  15. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    [warn=Читайте правила!]Один вопрос - одна тема! Завязываем с множествеными вопросами, не относящимися к теме![/warn]

    По теме: То, что выводиться в табло -> это просто строка! Проверяйте ссылки. Смотрите отладчиком.
  16. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
  17. TopicStarter Overlay
    FLoYD777
    Offline

    FLoYD777 Опытный в 1С

    Регистрация:
    4 май 2009
    Сообщения:
    118
    Симпатии:
    0
    Баллы:
    26
    все, всех благодарю за помощь!! я разобрался все работает!!!

Поделиться этой страницей