|
ТИС 7.7 при подборе товара количество записывается в наименование Номенклатуры | ☑ | ||
---|---|---|---|---|
0
ChMikle
18.05.16
✎
16:48
|
при подборе товара через обработку "ввод количества" количество записывается в наименование Номенклатуры. Справочник "Номенклатура" закрыт для редактирования всем пользователям , в коде нигде нет процедур записи или чтения наименования номенклатуры. Происходит редко , но периодически
|
|||
1
Builder
18.05.16
✎
17:03
|
"закрыт для редактирования" - работает только для интерактивного редактирования.
"в коде нигде нет процедур.." - видимо все таки есть. Отладчик в руки и смотреть. |
|||
2
ChMikle
18.05.16
✎
17:08
|
вот модуль формы обработки , не могу найти
//////////////////////////////////////////////////////////////////////////////// // ПЕРЕМЕННЫЕ МОДУЛЯ // Перем Номенклатура, Валюта, Коэффициент, ПарамЦена; Перем ВиденФлагКомплектующие, ОтработалаПриИзмененииЦены; //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ // //****************************************************************************** // ПриИзмененииФлагаДобавитьКомплектующие() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул диалога // при изменении флага ДобавитьКомплектующие // // Описание: // ТекстОписания // Процедура ПриИзмененииФлагаДобавитьКомплектующие() Если ДобавлятьКомплектующие = 1 Тогда // В этом случае цены не задаются (они заданы для каждого комплектующего в отдельности) Форма.Цена.Доступность(0); Иначе Форма.Цена.Доступность(1); КонецЕсли; КонецПроцедуры // ПриИзмененииФлагаДобавитьКомплектующие() //****************************************************************************** // ОК() // // Параметры: // Нет // // Возвращаемое значение: // Нет // // Вызывается из формул элементов диалога: // кнопка "Ок" // // Описание: // Передаем в вызывавший обработку модуль результаты // Процедура ОК() Форма.Параметр.Установить("Количество" , Количество); Форма.Параметр.Установить("Единица" , Единица); Форма.Параметр.Установить("Цена" , Цена); Форма.Параметр.Установить("ДобавлятьКомплектующие" , ДобавлятьКомплектующие); Форма.Параметр.Установить("СтатусВозврата" , 1); КонецПроцедуры //****************************************************************************** // ПриИзмененииЕдиницы() // // Параметры: // Нет // // Вызывается из формул элементов диалога // Поле ввода единица // // Возвращаемое значение: // Нет // // Описание: // Пересчитывает цену при изменении единицы Процедура ПриИзмененииЕдиницы() // сохраним старый коэффициент ВремКоэфф = Коэффициент; // заполним коэффициент из единицы Коэффициент = Единица.Коэффициент; Если ВремКоэфф <> 0 Тогда // цена была за другой коэффициент. Пересчитываем Цена = Цена * Коэффициент / ВремКоэфф; КонецЕсли; КонецПроцедуры // ПриИзмененииЕдиницы() //****************************************************************************** // ПриИзмененииЦены() // // Параметры: // Нет // // Вызывается из формул элементов диалога // Поле ввода цена // // Возвращаемое значение: // Нет // // Описание: // При нажатии на кнопку Enter в поле Цена выполняет действия, // как по кнопке ОК, и закрывает форму // ПриИзмененииЦены();Сумма=Количество*Цена Процедура ПриИзмененииЦены() Если (Цена <> 0) И (ВиденФлагКомплектующие = 0) Тогда // Количество и цену в возвращаемый параметр прописываем при закрытии ОтработалаПриИзмененииЦены = 1; Форма.Закрыть(); КонецЕсли; КонецПроцедуры // ПриИзмененииЦены() //////////////////////////////////////////////////////////////////////////////// // ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ // // ***************************************************************************** // Предопределенная процедура // Процедура ПриОткрытии() Если ТипЗначенияСтр(Форма.Параметр) <> "СписокЗначений" Тогда Предупреждение("Обработка вызывается только из формы подбора!", 60); СтатусВозврата(0); Возврат; КонецЕсли; Номенклатура = Форма.Параметр.Получить("Номенклатура"); Количество = Форма.Параметр.Получить("Количество"); Единица = Форма.Параметр.Получить("Единица"); ПарамЦена = Форма.Параметр.Получить("Цена"); Валюта = Форма.Параметр.Получить("Валюта"); Коэффициент = Единица.Коэффициент; // заполним коэффициент из единицы Если ТипЗначенияСтр(ПарамЦена) = "СписокЗначений" Тогда // запрещаем редактировать цену. только выбор из спсика Форма.Цена.Редактирование(0); Если ПарамЦена.РазмерСписка() > 0 Тогда Цена = ПарамЦена.ПолучитьЗначение(1); КонецЕсли; Иначе Цена = ПарамЦена; КонецЕсли; Если ПустоеЗначение(глКомплектуется(Номенклатура)) = 0 Тогда ВиденФлагКомплектующие = 1; // Работает с комплектом ДобавлятьКомплектующие = ВосстановитьЗначение("ДобавлятьКомплектующие"); Если ПустоеЗначение(ДобавлятьКомплектующие) = 1 Тогда ДобавлятьКомплектующие = 0; Иначе ДобавлятьКомплектующие = 1; // В этом случае цены не задаются (они заданы для каждого комплектующего в отдельности) Форма.Цена.Доступность(0); КонецЕсли; Иначе // Обычный товар или услуга ВиденФлагКомплектующие = 0; Форма.ДобавлятьКомплектующие.Видимость(0); КонецЕсли; Форма.Заголовок("Количество и цена """ + Номенклатура+ """"); Форма.Параметр.Установить("СтатусВозврата" , 0); Если (глПолучитьПолномочие("РазрешитьРедактированиеЦенВдокументах") = 0) и (ТипЗначенияСтр(ПарамЦена) <> "СписокЗначений") Тогда Форма.Цена.Доступность(0); КонецЕсли; Если ТипЗначенияСтр(ПарамЦена) = "СписокЗначений" Тогда Форма.Единица.Доступность(0); КонецЕсли; Активизировать("Количество"); КонецПроцедуры // ПриОткрытии() //****************************************************************************** // Предопределенная процедура // Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр) Перем Параметр; Если ИдентЭлемДиалога = "Цена" Тогда Если ТипЗначенияСтр(ПарамЦена) = "СписокЗначений" Тогда ФлагСтандОбр = 0; ПарамЦена.ВыбратьЗначение(Цена,,, 60,2); КонецЕсли; ИначеЕсли ИдентЭлемДиалога = "Единица" Тогда ФлагСтандОбр = 0; Параметр = Номенклатура; ОткрытьФорму("Справочник.Единицы", Параметр); Если Форма.МодальныйРежим() = 1 Тогда Единица = Параметр; ПриИзмененииЕдиницы(); КонецЕсли; КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() //****************************************************************************** // Предопределенная процедура. // Процедура ПриЗакрытии() Если Форма.АктивныйЭлемент() = "кнОтмена" Тогда // Нажата кнопка "Отмена" Форма.Параметр.Установить("СтатусВозврата" , 0); ИначеЕсли ОтработалаПриИзмененииЦены = 1 Тогда // Прописываем возвращаемые количество и цену ОК(); КонецЕсли; Если ПустоеЗначение(глКомплектуется(Номенклатура)) = 0 Тогда // Работаем с комплектом СохранитьЗначение("ДобавлятьКомплектующие", ДобавлятьКомплектующие); КонецЕсли; КонецПроцедуры // ПриЗакрытии() //////////////////////////////////////////////////////////////////////////////// // ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ // ОтработалаПриИзмененииЦены = 0; |
|||
3
lera01
18.05.16
✎
17:17
|
Уже не помню, как в 7-ке, возможно, там в списке справочника есть какой-то переключатель на редактирование в списке и при вводе количества такое редактирование и происходит?
|
|||
4
ChMikle
18.05.16
✎
17:19
|
так в форме обработки ввода количества и цены , нет полей ввода номенклатуры или поиска . вводят в поле количество 3, нажимают Enter, подтверждая ввод и меняется наименование , полное наименование элемента остается нетронутым
|
|||
5
пипец
18.05.16
✎
17:20
|
судя по всему он у тя пишет в таблицу значений (подбора)
ЗЫ если автор нам не врет (с) ВСВ |
|||
6
пипец
18.05.16
✎
17:20
|
(4) хде меняется ? в обработке подбора или в документе ? )
|
|||
7
ChMikle
18.05.16
✎
17:26
|
(6) в обработке подбора, еще до попадания в таблицу значения
|
|||
8
пипец
18.05.16
✎
17:30
|
(7) это и есть отдельная обработка подбора !!!
Либо обработка !! отдельная либо форма списка справочника для подбора ... используется и все равно ТАМ таблица значений |
|||
9
пипец
18.05.16
✎
17:31
|
принтскрин !
|
|||
10
пипец
18.05.16
✎
17:31
|
где ?
|
|||
11
ChMikle
18.05.16
✎
17:34
|
(10) принтскрин не сделаю, потому что это происходит не постоянно , собственно, поэтому и в отладчике не могу проверить где происходит запись наименования. из формы подбора вызывается обработка ввода данных : количества и цен , туда передают через список значений форма.параметр и обратно получает введенные данные. Но меняется наименование когда подтверждают ввов количества
|
|||
12
HawkEye
18.05.16
✎
18:02
|
(0) перевожу..
в документе нажимаешь подбор - открывается форма справочника для подбора, у нее внизу ТЗ в которую осуществляется подбор, потом нажимается ОК и все что подобрано переносится в документ... в момент помещения товара в ТЗ, после того, как вводится кол-во, в колонке "Товара" ТЗ значение меняется на введенное кол-во.... так что-ли? |
|||
13
ChMikle
19.05.16
✎
09:40
|
(12) нет , меняется наименование не в т.з., а в справочнике номенклатура у элемента , который выбирают и для которого вводят количество и цену
|
|||
14
Масянька
19.05.16
✎
09:42
|
(13) D процедуре
Процедура ОК() Форма.Параметр.Установить("Количество" , Количество); Форма.Параметр.Установить("Единица" , Единица); Форма.Параметр.Установить("Цена" , Цена); Форма.Параметр.Установить("ДобавлятьКомплектующие" , ДобавлятьКомплектующие); Форма.Параметр.Установить("СтатусВозврата" , 1); КонецПроцедуры Добавь первую строчку " Форма.Параметр.Установить("Номенклатура" , Номенклатура);" |
|||
15
пипец
19.05.16
✎
11:21
|
Оо "посыпал холову пеплом" все таки хотелось посмотреть принтскрин про
- нет , меняется наименование не в т.з., а в справочнике номенклатура у элемента ,(цопирайт) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |