Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 494
от 13.05.2007, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 386, Экспертов: 49
В номере:Вопросов: 2, Ответов: 5


Вопрос № 85990: Доброго Здоровья Уважаемые Эксперты!Уже задавал этот вопрос, но приходится задать его еще раз - не совсем разобрался в некоторых вопросах.В 1С 7.7 конфигурация УСН 153 релиз в документе "Реализация" требуется добавить возможность устанавлив...
Вопрос № 86031: Здравствуйте уважаемые эксперты! Пытаюсь сделать на основе отчета ОтчетПоОС из типовой Бухгалтерии другой: чтобы выводилась остаточная стоимость на 1-ое число месяца за период ДатаНач - ДатаКон. Пока получилось только отдельными таблицами (см.приложе...

Вопрос № 85.990
Доброго Здоровья Уважаемые Эксперты!Уже задавал этот вопрос, но приходится задать его еще раз - не совсем разобрался в некоторых вопросах.В 1С 7.7 конфигурация УСН 153 релиз в документе "Реализация" требуется добавить возможность устанавливать скидку - т.е. в табличную часть добавить колонки "сумма без скидки" "скидка" "сумма со скидкой" - ну это я кое как сделал(было не сложно)! Не получается внести правильные изменения в модуль документа - что-бы программа сама высчитывала сумму без скидки(цена помноженная на количество) и сумму со скидкой(сумму без скидки минус скидка).Как это сделать?И самое главное не могу понять как внести измения в печатную форму документа - чтобы при выводе на печать скидка отражалась?
Очень нужна помощь хотя бы по одному из заданных вопросов!Буду очень признателен!
С Уважением Александр.
Отправлен: 08.05.2007, 11:35
Вопрос задал: Alex81 (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Pycuk
Здравствуйте, Alex81!
УСН 153 я в глаза невидел поэтому раскажу как можно зделать без кода

Предположим что в реквезитах табличной части
сумма без скидки обозначена реквизитом СумБезСкид
скидка - Скид
сумма со скидкой - СумСоСкид
у всех ставиш тип число точность 2 длина 12 (думаю хватит максимальная сумма будет 999 999 999,99 рублей, можно больше или меньше)

В таблице документа клацаеш 2 раза на столбце цена (на самой надписи), выскакивает свойства поля ввода выбираеш третью закладку (дополнительно) в строке формула пишиш

СумБезСкид=Цена*количество
(цена и количество надо написать так же как они заданы 2 раза на надпись столбца и смотри не на заголовок а на индентификатор)

Теперь после оканчания редактирования или ввода (Enter или в бок) цены будет расчитываться формула СумБезСкид=Цена*количество

Советую этуже формулу написать в свойствах количества что бы неимело значения что надо вводить первым цену или количество (будь осторожен если будеш делать деление при делении на 0 будет выскакивать ошибка)

В печатной таблице пишеш в нужной ячейки индентификатор того что должно выводиться (пр. СумБезСкид) потом клацаеш на этой ячейки правой кнопкой мыши выбираеш свойства и меняеш тип текст на выражение (токо советую в той же строке где выводятся реквезиты табличной части а не шапки документа)

Ответ отправил: Pycuk (статус: 1-ый класс)
Ответ отправлен: 10.05.2007, 10:04

Отвечает: Игорь К.
Здравствуйте, Alex81!
Колонки "сумма без скидки" "скидка" "сумма со скидкой" в табличную часть добавили?
Полагаю в табличной части есть поля "Цена" и "Количество".
1. Мышкой выделяем табличную часть.
Далее выделяем столбец "Цена". (Левой кнопкой по заголовку столбца)
Нажимаем правую кнопку - Свойства.
Выбираем вкладку "Дополнительно".
В поле "Формула" пишем наименование процедуры, которая будет выполняться при внесении изменений в поле "Цена".
Допустим - "ПриСменеЦеныИлиКоличества()"
Тоже самое проделываем со столбцом "Количество" .
В столбец "Скидка" в поле "Формула" пишем: "СуммаСоСкидкой=СуммаБезСкидки-Скидка" (без кавычек)
В модуле документа пишем:
Процедура ПриСменеЦеныИлиКоличества()
СуммаБезСкидки=Цена*Количество;
// "СуммаБезСкидки"-идентификатор введенной вами колонки табличной части
СуммаСоСкидкой=СуммаБезСкидки-Скидка;
КонецПроцедуры;
Еще момент: Если поля "СуммаБезСкидки" и "СуммаСоСкидкой" вычисляются то в свойсвах этих полей в табличной части надо поставить галочку "запретить редактирование".
2. В печатной форме мышкой выделяем колонку перед которой надо вставить вывод поля "скидка". Правой кнопкой мыши - пункт "раздвинуть".
Появился новый столбец. По аналогии с соседними столбцами заполняем характеристики. Можно просто Скопировать из соседнего столбца и поменять значения и(или) формулы на нужные.
Дерзайте и Все у Вас получится. Удачи!
---------
Лучше два часа потерять, потом за пять минут долететь
Ответ отправил: Игорь К. (статус: 4-ый класс)
Ответ отправлен: 10.05.2007, 10:50

Отвечает: Elric
Здравствуйте, Alex81!

Пришлите, пожалуйста, файл своей конфигурации мне на e-mail, он указан у меня в карточке. Я посмотрю в чем у Вас проблема -- дело в том что там могут быть нюансы, не зная уровня Вашей квалификации я не знаю от чего можно отталкиваться.
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 10.05.2007, 12:41
Оценка за ответ: 5
Комментарий оценки:
Хорошо.Пришлю.


Вопрос № 86.031
Здравствуйте уважаемые эксперты! Пытаюсь сделать на основе отчета ОтчетПоОС из типовой Бухгалтерии другой: чтобы выводилась остаточная стоимость на 1-ое число месяца за период ДатаНач - ДатаКон. Пока получилось только отдельными таблицами (см.приложение Сформировать()). Как и где именно мне описать это в процедуре Сформировать1()? Подскажите пожалуйста...

Приложение:

Отправлен: 08.05.2007, 17:11
Вопрос задала: Darina (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Darina!
Ой. Малой кровью не получится. Дело в том что в Сформировать1 у Вас выводится одномерная таблица, с одним измерением "ОС по вертикали"
а в постановке задачи требуется вывести двумерную таблицу с измерениями "ОС по вертикали", "месяц по горизонтали".
Двумерные таблицы 1С прекрасно рисует. Левая колонка выводится Т.ВывестиСекцию("Строка|ИмяОС"); а потом добавляются колонки
Т.ПрисоединитьСекцию("Строка|месяц");
К сожалению, (не обижайтесь) данная задача сложна.
Можете вывести одномерную таблицу. Примерно так:Строка 1 ИмяОС Строка 2 месяц№1, Строка 3 месяц№2 ..., потом пустая строка, потом следующее ОС. Для этого Вам прийдется в корне переписать отчет. После вывода
Т.ВывестиСекцию("ОС"); делаете цикл по месяцам, выводя номер месяца и остаточную стоимость. Но так как прийдется делать рассчеты Цикл в Цикле (Цикл по ОС, а внутри его цикл по месяцам), то данный отчет будет работать очень долго.
В о
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 08.05.2007, 18:26
Оценка за ответ: 5
Комментарий оценки:
Спасибо, но мне нужна всё-таки двумерная таблица. Я ещё поломаю голову...

Отвечает: Elric
Здравствуйте, Darina!

По-моему, Шахрайчук Владимир Анатольевич отвечал не совсем на Ваш вопрос :)

У Вас в процедуре Сформировать1() есть такие строчки:
Если (ТипЗначенияСтр(Т) <> "Таблица") ИЛИ (Обновить = 0) Тогда
Т = СоздатьОбъект("Таблица");
Иначе
Т.Очистить();
КонецЕсли;
Т.ИсходнаяТаблица( "Таблица" );


Их следует заменить на следующее:
Если ТипЗначенияСтр(Т) <> "Таблица" Тогда
Т = СоздатьОбъект("Таблица");
КонецЕсли;


а участок кода
Т.Опции(0,0,6,2,"ОпцииПечатиОтчетаПоОС");
Т.ОбластьПечати(3);
Т.ТолькоПросмотр(1);
Т.Показать("Отчет по ОС");

нужно переместить из процедуры Сформировать1() в самый конец процедуры Сформировать().

Тогда новые раздельные таблицы не будут создаваться.
Кстати, переменная Т при этом должна быть глобальной, т.е. доступной в обеих процедурах.

Удачи!
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 10.05.2007, 12:37
Оценка за ответ: 5
Комментарий оценки:
Спасибо за подсказку. Кстати чтобы выводился такой результат как Вы написали, необязательно переносить участок кода в Сформировать(). Однако, мне то нужно не это. А всё в одной таблице: по каждому наименованию ОС остатки на 1-ое число каждого месяца. Извините если неправильно описала в вопросе


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100

В избранное