В типовой конфигурации "1С:Управление торговлей" 11 можно создавать документ "Установки цен номенклатуры" на основании документов заказ поставщику, приобретение товаров и услуг и прочих.
Документ "Установки цен номенклатуры" заполнится автоматически номенклатурой из документа основания (например из заказа поставщику) и установит цены согласно заведенным в программе видам цен и их настройкам.
Казалось бы, создай и настрой виды цен, покажи пользователям какие кнопки нажимать и они будут тратить минимум усилий на обновление цен.
Впрочем, как показала практика, даже нажатие трех кнопок для установки цен каждый раз при создании нового документа заказ поставщику вызывает у людей негодование.
Облегчаем жизнь пользователям и стараемся не усложнить себе.
Механизм установки цен в "1С:Управление торговлей" достаточно гибкий и сложный и может изменяться, при обновлении программы. Поэтому постараемся этот механизм не трогать, а сымитировать процесс нажатия кнопок при создании документа "Установки цен номенклатуры" на основании документа "Заказ поставщику".
Это и сделано в данной разработке с минимальными усилиями и кратким программным кодом, а чтобы все изменения можно было включать и изменять в программе "на лету" сделаем разработку через Расширение конфигурации.
Как работает расширение:
1. Пользователь интерактивно(открыв форму документа) создает или редактирует заказ поставщику.
2. Пользователь закрывает форму заказа поставщику. При этом программа ищет и удаляет, без проверки ссылочной целостности(обычно на документ установки цен номенклатуры нет ссылок, поэтому такое удаление вполне безопасно и оправдано, хотя можно заменить и пометкой удаления), документ "Установки цен номенклатуры", в котором первый символ в комментарии равен "!", а в качестве основания указан текущий заказ поставщику.
Поиск по символу "!" в комментарии нужен для того, чтобы найти только ту установку цен номенклатуры, которая была создана автоматически. Пользователь вполне мог создать документ "Установки цен номенклатуры" самостоятельно, который нельзя удалять без его ведома.
Если ранее созданного документа "Установки цен номенклатуры", то переходим к следующему шагу.
3. Проверяем первый символ в комментарии документа "Заказ поставщику". Если он не равен "!" и заказ проведен, то создаем на основании новый документ "Установки цен номенклатуры" и указываем в его комментарии первым символом "!", чтобы показать, что этот документ создан автоматически.
Если в заказе поставщику первым символом в комментарий установить "!", то это будет сигнал программе, что пользователь не хочет автоматической установки цен номенклатуры, по этому документу и этот шаг выполняться не будет.
Также на случай не интерактивной пометки удаления заказа поставщику добавлена функция, которая удаляет автоматически созданный на основании заказа поставщику документ "Установки цен номенклатуры".
Проверено на конфигурации "1С:Управление торговлей" 11 релиз 11.4.11.98. Вероятнее всего будет работать и на "1С:Комплексной автоматизации" 2.4, и "1С:ERP" 2.4.
После установки расширения обязательно отключите Безопасный режим работы.