Доброй ночи! Опять возникла задача. У меня есть расходная накладная по ремонту с номером заказа. На ее форме есть кнопка Аксессуары. Если клиент, который ремонтирует у нас аппарат, хочет приобрести еще какой-то аксессуар, например, фильтр, оператор нажимает кнопку Аксессуары на расходной накладной и создается еще одна расходная накладная с реквизитами этого клиента и таким же номером заказа, как и в накладной по ремонту. Существуют две расходные накладные с одинаковым значением реквизита НомерЗаказа.
При выдаче аппарата клиенту на диалоговом окне РасходнойНакладной по ремонту нажимается кнопка Выдан. После ее нажатия заполняется поле ДатаВыд, статус меняется на Выдан и т.п.
Задача в том, чтобы кнопка Выдан программно "нажималась" также и в расходной накладной по аксессуарам с этим же номером заказа. А то ее забывают нажимать. При этом я хочу избежать перебора всех документов для поиска расходной с таким же значением реквизита НомерЗаказа. Нужно как-то "привязать" расходную по аксессуарам к расходной по ремонту. Чтобы программа заранее знала, в каком документе необходимо нажать эту же кнопку. Прошу совета, как это лучше сделать. Спасибо!
ZUBR @ Сегодня, 3:13
,
Доброе утро !
Посмотрите в конфигураторе,какия процедуры-обраблотчики висят на кнопках.В нужной копке допишите вызов-обрабочик нужной Вам второй процедуры.
Не видя конфигурации я могу писать только такие советы.
ZUBR @ Сегодня, 1:13
,
сделайте запрос проверки номера заказа перед закрытием документа, и если есть дайте ошибку/предуприждение.
cos12 @ Сегодня, 10:55
,
Найдите следующий документ Расходная накладная с номером заказ, откройте его, поменяйте или заполните необходимые поля.
Это можно автоматизировать, добавив в процедуру Призакрытии необходимые команды или из неее вызвать процедуру обработки.
ZUBR, сделайте вторую накладную на основании первой (я уже правда не помню есть ли в 7.7 ввод на основании). Но я не вижу проблем с поиском по номеру заказа. Запрос должен нормально отыскивать нужный документ по строковому реквизиту, если по нему будет построен индекс (опять таки, я не помню, настраивается ли это в 7.7). Но я бы подумал над тем, что бы все в одну накладную вставить.
Господа, спасибо за ответы. Есть ввод на основании, я об этом думал, но мне такой вариант не подходит. В одной накладной все делать тодже не подходит, т.к. в ней только одна табличная часть. Сделаю поиск. Просьба к вам привести пример, как запустить процедуру нажатия кнопки документа программно из другого документа. Скажем, есть кнопка с процедурой Выдать(). Когда ее нажимаешь, она выполняется в модуле формы. А вот какой должна быть команда из модуля другого документа, чтобы она выполнилась? Допустим, я по поиску нашел искомый документ с соответствующим номером заказа. Как написать строку выполнения процедуры. Например:
Расх = СоздатьОбъект ("Документ.РасходнаяНакладная");
Расх.ВыбратьДокументы(НачДата1,КонДата1);
Если УсловиеПоиска Тогда
Расх.Выдать =? ИлиКак??????????????Что здесь написать?;
КонецЕсли;
............................................
Расх.Выдать();
Нет, это не работает. Пишет, что нет поля агрегатного объекта...
ZUBR @ Сегодня, 0:59
,
Доброе утро !
Расх = СоздатьОбъект ("Документ.РасходнаяНакладная");
Расх.ВыбратьДокументы(НачДата1,КонДата1);
Если УсловиеПоиска Тогда
// попробуйте сюда вставить весь код процедуры Выдать
КонецЕсли;
Vofka @ 14.11.19, 10:44
, докладываю. Ввод на основании - это дополнительные сложности для инженеров, которые будут работать с системой. Они будут делать ошибки и путаться. А мне потом это все исправлять, удалять, контролировать. Уж лучше пусть все будет по возможности автоматизированно. По поводу двух таблиц. Мне нужно, чтобы сумма по ремонту была отдельно и сумма сопутствующих аксессуаров отдельно. А не общая сумма. Потому что ремонт может быть на 100 баксов, а разные аксессуары еще сто. И клиент говорит потом, что поремонтировал на 200 баксов. Хотя он, возможно, купил кожаный чехол за 100 баксов. А мог и не покупать. А так будет отдельный документ на ремонт и отдельный на аксессуары и товары. Но когда Выдается ремонт, часто забывают нажать кнопку Выдано на документе по аксессуарам. Вот так вот.
Они и так путаются. А если я еще начну рассказывать про ввод на основании.... Это будет трындец.
ZUBR, я не понимаю что сложного в вводе на основании, но допустим, что это может быть для кого-то сложно (хотя мне это сложно понять, если взять во внимание, что вбивать номер заказа не сложно, а сделать ввод на основании сложно). Но ладно, пускай ввод на основании не подходит.
Во втором случае делается просто: есть товар с типом "Услуга", в которой у вас будет что-то типа "Ремонт" и товар с типом "Товар". В результате вы можете выводить в документе 2 суммы: итог по товарам с типом "Услуга" и итог по товарам с типом "Товар". В печатной форме можно это тоже обработать и вывести клиенту форму с двумя таблицами товары и услуги, что бы клиент понимал где что.
Vofka @ Вчера, 13:48
,
мне єто не приходило в голову. Надо будет обмозговать. Спасибо))
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua