|
v7: БУ 4.5 Книга учета доходов и расходов - ОбработкаЯчейкиТаблицы | ☑ | ||
---|---|---|---|---|
0
YurAnt
24.10.13
✎
14:32
|
Доброго времени суток, господа-форумчане. Вопрос следующий:
Есть "Книга учета доходов и расходов" в ней обработка открытия документа по тыку на ячейку (код см. ниже). Возникла необходимость переделать книгу т.о. чтобы помимо "Выписок" в неё попадали еще и "Бухгалтерские Справки". Вроде бы сделать сделал... вот только по клику на ячейку открываются всё так же "Выписки" вне зависимости от того какой документ в строке... в чем может быть соль? Процедура ОбработкаЯчейкиТаблицы(Значение, ФлагСтандОбраб, Таблица, Адрес) Перем Документ, НомерСтрокиДок, СписокПараметров; ФлагСтандОбраб = 1; Если ТипЗначенияСтр(Значение) = "СписокЗначений" Тогда ФлагСтандОбраб = 0; Документ = Значение.Получить("Документ"); НомерСтрокиДок = Значение.Получить("НомерСтроки"); СписокПараметров = СоздатьОбъект("СписокЗначений"); СписокПараметров.Установить("НомерСтроки", НомерСтрокиДок); ОткрытьФорму(Документ, СписокПараметров); ИначеЕсли ТипЗначенияСтр(Значение) = "Число" Тогда ФлагСтандОбраб = 0; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Раздел1"); НомерПП = ТаблУчета.ПолучитьЗначение(Значение,"НомерПП"); Если Дата2 >= '26.05.2006' Тогда ЗаголовокДоходы = "Доходы, учитываемые при исчислении налоговой базы"; ЗаголовокРасходы = "Расходы, учитываемые при исчислении налоговой базы"; Иначе ЗаголовокДоходы = "Доходы"; ЗаголовокРасходы = "Расходы"; КонецЕсли; Таб.ВывестиСекцию("ШапкаРасш|Основная"); Таб.ПрисоединитьСекцию(?(РежимПечатиГраф4и6 = 3, "ШапкаРасш|Режим3","ШапкаРасш|Режим12")); ТабРасшифровка = ТаблУчета.ПолучитьЗначение(Значение,"ТабРасшифровка"); ТабРасшифровка.ВыбратьСтроки(); Пока ТабРасшифровка.ПолучитьСтроку()=1 Цикл ПечОписание = ТабРасшифровка.Описание; ПечДоходы = ФорматС(ТабРасшифровка.Доходы); ПечРасходы = СокрЛП(ФорматС(ТабРасшифровка.Расходы))+ ?(ТабРасшифровка.ВалСумма>0,РазделительСтрок +"(" + СокрЛП(ФорматС(ТабРасшифровка.ВалСумма)) +" " + ТабРасшифровка.Валюта+")","")+ ?(ТабРасшифровка.НДС>0,РазделительСтрок +"в т.ч. НДС "+РазделительСтрок+ СокрЛП(ФорматС(ТабРасшифровка.НДС)),"")+ ?(ТабРасшифровка.НДС>0,РазделительСтрок +"без НДС "+РазделительСтрок+ СокрЛП(ФорматС(ТабРасшифровка.Расходы - ТабРасшифровка.НДС)),""); ПечДоходыБУ = ФорматС(ТабРасшифровка.ДоходыБУ); ПечРасходыБУ = ФорматС(ТабРасшифровка.РасходыБУ); Таб.ВывестиСекцию("СтрРасш|Основная"); Таб.ПрисоединитьСекцию(?(РежимПечатиГраф4и6 = 3, "СтрРасш|Режим3","СтрРасш|Режим12")); КонецЦикла; ПечДоходы = ФорматС(ТаблУчета.ПолучитьЗначение(Значение,"Доходы")); ПечРасходы = ФорматС(ТаблУчета.ПолучитьЗначение(Значение,"Расходы")); ПечДоходыБУ = ФорматС(ТаблУчета.ПолучитьЗначение(Значение,"ДоходыБУ")); ПечРасходыБУ = ФорматС(ТаблУчета.ПолучитьЗначение(Значение,"РасходыБУ")); Таб.ВывестиСекцию("ИтогРасш|Основная"); Таб.ПрисоединитьСекцию(?(РежимПечатиГраф4и6 = 3, "ИтогРасш|Режим3","ИтогРасш|Режим12")); Таб.ТолькоПросмотр(1); Таб.ПараметрыСтраницы(,,, 10, 0, 0, 0,,,,,); Таб.Опции(0, 0, 2, 0, "РасшифровкаСтроки"); Таб.ОбластьПечати(1,2,,); Таб.Показать("Расшифровка строки КУДиР "+Значение); КонецЕсли; КонецПроцедуры |
|||
1
zak555
24.10.13
✎
14:33
|
КУДиР в обычной бухии ? о_О
|
|||
2
YurAnt
24.10.13
✎
14:34
|
полагаю соль в
Документ = Значение.Получить("Документ"); а если быть более точнымто даже в "Значение", к-е является списком значений... |
|||
3
YurAnt
24.10.13
✎
14:35
|
(1) ага) самописи много тут... а мне разгребать(
|
|||
4
YurAnt
24.10.13
✎
14:45
|
а поскольку я 4й день как на 7ку с 8ки свалился... в голове ад и израиль.
Вот как отловить почему даже при тыке на строке содержащий номер/дату бух.справки цепляется Выписка ? http://savepic.su/3606978.png даже уже через отладчик залез... а вот где идет подвязка именно к Выпискам как типу документа, не могу понять... |
|||
5
zak555
24.10.13
✎
14:45
|
(4) я не телепат
|
|||
6
YurAnt
24.10.13
✎
14:55
|
есть ли в семерке подвязка списка значений к определенному типу документов?
|
|||
7
vladko
24.10.13
✎
15:02
|
в свойствах ячейки есть параметр расшифровки, даже 2 в разных ячейках в строке. Посмотри чем он заполнен в момент вывода строки по бух.справке
|
|||
8
YurAnt
24.10.13
✎
15:18
|
(7) подскажите, каким образом это можно отследить?
|
|||
9
YurAnt
24.10.13
✎
15:19
|
параметр есть, при просмотре из конфигуратора он пуст.
а как его отследить во время отладки? (если вы это имеете в виду) |
|||
10
YurAnt
24.10.13
✎
15:23
|
судяпо всему отрабатывает стандартная процедура ОбработкаЯчейкиТаблицы (код к-й я привел выше)
но вот откуда в неё попадают параметры... я не могу отследить даже в отладке( либо я просто чего-то недопонимаю... |
|||
11
hhhh
24.10.13
✎
15:31
|
(10) а разве в синтакспомощнике не написано, откуда попадают эти параметры?
|
|||
12
YurAnt
24.10.13
✎
15:35
|
(11)
Синтаксис: Расшифровка(<Значение>,<РежимИспользования>) Назначение: Установить расшифровку области. Возвращает текущее значение расшифровки. Параметры: <Значение> - необязательный параметр. Новое значение расшифровки области. <РежимИспользования> - необязательный параметр. Число: 0 - обычный режим; 1 - установить данную расшифровку для всей строки; 2 - не вызывать расшифровку для данной ячейки. Значение по умолчанию - 0. очень содержательно( |
|||
13
YurAnt
24.10.13
✎
15:36
|
это расшифровка. она расшифровывает.
|
|||
14
hhhh
24.10.13
✎
15:38
|
(12) вообще-то Расшифровка и ОбработкаЯчейкиТаблицы это два разных слова.
|
|||
15
YurAnt
24.10.13
✎
15:41
|
отладка даблклика по строке книги начинается с обработки в глобальном модуле
Процедура глПроверкаРазрешенияРедактирования(Конт) Экспорт Если Конт.Выбран() = 1 Тогда Если (Конт.ДатаДок <= Константа.ДатаЗапретаРедактирования) и (Конт.Форма.ТолькоПросмотр() = 0) Тогда Конт.Форма.ТолькоПросмотр(1); Предупреждение("Разрешен только просмотр документа!", 4); КонецЕсли; КонецЕсли; КонецПроцедуры у параметра "Конт" есть реквизиты дата и номер документа... судя по всему на него обработка и ссылается по тыку на строку, но опять же... откуда они передаются ??? http://savepic.su/3667421.png |
|||
16
YurAnt
24.10.13
✎
15:43
|
(14) благодарю... копаю в данном направлении
|
|||
17
VladZ
24.10.13
✎
15:53
|
(0) Скинь конфу с обработкой на почту - гляну.
|
|||
18
vladko
24.10.13
✎
16:12
|
(8) находишь нужную секцию в макете. Заходишь в свойства ячейки. Там в поле расшифровка написан идентификатор переменной, отвественной за расшифровку.
Потом ищешь в модуле место, где .вывестиСекцию(<названиесекции>) и в отладчике, когда выводится строка по бух.справке, смотри что там в этом параметре. У тебя наверное по какой-то причине там содержится предыдущая выписка. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |