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

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

  Все выпуски  

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


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

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

Выпуск № 500
от 20.05.2007, 22:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 384, Экспертов: 47
В номере:Вопросов: 3, Ответов: 9


Вопрос № 86963: Здравствуйте уважаемые эксперты! В 1Сv8 необходимо вывести прописью количество Дней. например: "в течении 15(пятнадцати)дней". Т.е. нужно чтобы выводилось именно слово "Пятнадцати", а не "Пятнадцать". <b...
Вопрос № 87006: Здравствуйте уважаемые эксперты. Помогите пожалуйста. Нужен отчет по дебеторской задолжности контрагентов. Как я понимаю мне для получения таких данных необходимо сделать запрос по бух итогам по всем счетам где есть первое субконто вида Контрагены и ...
Вопрос № 87059: Здравствуйте уважаемые эксперты!!! Меня интересует где сохраняются настройки к отчетам, и могу ли я использовать их в другом отчете??? Надеюсь понятно выразился... Вот например в одном отчете у меня есть элемент диалогоа - таблица значени...

Вопрос № 86.963
Здравствуйте уважаемые эксперты!
В 1Сv8 необходимо вывести прописью количество Дней. например:
"в течении 15(пятнадцати)дней". Т.е. нужно чтобы выводилось именно
слово "Пятнадцати", а не "Пятнадцать".

Подскажите, пожалуйста, как с этим боротся.
Заранее благодарю!
Отправлен: 15.05.2007, 11:40
Вопрос задал: Семёнов Иван (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Netizen
Здравствуйте, Семёнов Иван!
В 1С создана специальная компонента для склонения по падежам Имен, сама компонента находиться на Диске ИТС, по адресу: 1CITSEXEAPPEXTCOMP
Там же на диске есть пример работы при помощи этой компоненты
Ответ отправил: Netizen (статус: Студент)
Ответ отправлен: 15.05.2007, 13:36

Отвечает: Dmitry Stashenko
Здравствуйте, Семёнов Иван!

Универсального решения сделать не получится, поскольку заранее не известно, какое склонение числительного надо (например, для "в течении 15 дней" это будет "пятнадцати", а для "прошло 15 дней" - "пятнадцать".

Конкретно для этого случая делаешь следующее: берешь какой-нибудь файл прописи (с расширением *.spl, например usd.spl). И меняешь его под дни и под нужное склонение числительых. Примерно так:

Было:

{"Money",
{"Доллар","Доллара","Долларов","цент","цента","центов","M"}},
{"Numbers",
{"Один","Два","Три","Четыре","Пять","Шесть","Семь","Восемь","Девять","Одна","Две",
"Десять","Одиннадцать","Двенадцать","Тринадцать","Четырнадцать","Пятнадцать","Шестнадцать","Семнадцать","Восемнадцать","Девятнадцать",
"Двадцать","Тридцать","Сорок","Пятьдесят","Шестьдесят","Семьдесят","Восемьдесят","Девяносто",
"Сто","Двести","Триста","Четыреста","Пятьсот","Шестьсот","Семьсот","Восемьсот","Девятьсот",
"Тысяча","Тысячи","Тысяч",
"Миллион","Миллиона","Миллионов",
"Миллиард","Миллиарда","Миллиардов",
"Триллион","Триллиона","Триллионов",
"Ноль"}},

Стало:

{"Money",
{"День","Дня","Дней","","","","M"}},
{"Numbers",
{"Одного","Двух","Трех","Четырех","Пяти","Шести","Семи","Восьми","Девяти","Одного","Двух",
"Десяти","Одиннадцати","Двенадцати","Тринадцати","Четырнадцати","Пятнадцати","Шестнадцати","Семнадцати","Восемнадцати","Девятнадцати",
"Двадцати","Тридцати","Сорока","Пятидесяти","Шестидесяти","Семидесяти","Восьмидесяти","Девяносто",
"Ста","Двухсот","Трехсот","Четырехсот","Пятисот","Шестисот","Семисот","Восьмисот","Девятисот",
"Тысяча","Тысячи","Тысяч",
"Миллион","Миллиона","Миллионов",
"Миллиард","Миллиарда","Миллиардов",
"Триллион","Триллиона","Триллионов",
"Ноль"}},

Затем используя этот файл прописи и формат вывода прописи все должно получиться
Ответ отправил: Dmitry Stashenko (статус: 2-ой класс)
Ответ отправлен: 17.05.2007, 12:08


Вопрос № 87.006
Здравствуйте уважаемые эксперты. Помогите пожалуйста. Нужен отчет по дебеторской задолжности контрагентов. Как я понимаю мне для получения таких данных необходимо сделать запрос по бух итогам по всем счетам где есть первое субконто вида Контрагены и выбрать сальдо конечное дебетовое. Как правильно записать это в программном коде?
Отправлен: 15.05.2007, 15:58
Вопрос задала: Nataly (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: BuhCIA
Здравствуйте, Nataly!
Ит=СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(...Контрагенты);
Ит.ВыполнитьЗапрос(Дата1,Дата2,"60;62;76");
Ит.ВыбратьСубконто();
Пока Ит.ПолучитьСубконто()=1 Цикл
ИтогД=0;
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет()=1 Цикл
Сообщить("Контрагент="+Ит.Субконто()+" Счет="+Ит.Счет+" Дебет нач="+Ит.СНД()+" Дебет кон="+Ит.СКД());
Если Ит.Счет.ЭтоГруппа()=0 Тогда
ИтогД=ИтогД+Ит.СКД();
КонецЦикла;
Сообщить("Контрагент="+Ит.Субконто()+" Дебет по всем счетам="+ИтогД);
КонецЦикла;
---------
Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Профессионал)
Россия, Москва
Организация: Бухгалтерия Центрального Исполнительного Аппарата (фирмы с филиалами) = БухЦИА
WWW: http://buhcia.narod.ru
----
Ответ отправлен: 15.05.2007, 22:11

Отвечает: BigHard
Здравствуйте, Nataly!
Врятли Вам нужно выбирать все счета, где первое субконто - контрагенты. Обычно для задолженности используется всего один счет, какой конкретно, зависит от страны и там необязательно первое субконто - контрагенты :)
В приложении реально работающий фрагмент кода.
Переделайте его под себя и действуйте.
Единственно, тут нету перебора счетов, но Вам это и не нужно.
Если все таки надо, используйте выбратьсчета(), пока получитьсчет()=1 и
если БИ.Субконто(1)=видысубкотно.контрагенты
Удачи!!!

Приложение:

---------
Чем отличается чайник от программиста: У чайника в одном килобайте 1000 байт, а у программиста в одном километре 1024 метра

Ответ отправил: BigHard (статус: Студент)
Ответ отправлен: 16.05.2007, 07:56

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Nataly!
Вряд ли Вам такой отчет по дебиторам поможет. BigHard прав - все счета перебирать нет смысла. Смешаете в кучу коней-людей, и абсолютно не разберетесь в получившейся таблице.... Ну в самом то деле, зачем Вам получать данные по счету ответственного хранения, например, или по счету доходов будущих периодов. Акционеры тоже могут быть прописаны как Контрагенты....
Вам на самом то деле нужны всего 2 счета: Поставщики, Покупатели, и может быть, в исключительных случаях еще 2 счета ИныеДебиторы, ИныеКредиторы.
Алгоритм предлагаю использовать такой:
1. Бухгалтер выбирает, какой конкретный счет анализировать.
2. Рассчитываете итоги БИ за период НачДата, КонДата. Период бухгалтер выбирает, например, месяц. Вы смотрите сальдо дебетовое на конец периода, и если оно больше дебетовогооборота за этот период, то такую задолженность следует считать просроченной и большой, и готовить к выводу на экран.
3. Рассчитываете итоги БИ1 на конец КонецРассчитанногоПериодаБИ() и смотрите, а не исчезла ли задолженность у контрагентов, отобранных в п.1. Ведь после КонДата до текущей даты они могли погасить задолженность. а вот уже оставшихся злостнейших дебиторов выводите на экран.
4. Можете добавить условия НезначительнаяЗадолженность, ОсобоЗначительнаяЗадолженность, все на Ваш вкус.

Если дадите мыло, то пришлю образец отчета для Украины.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 16.05.2007, 10:09

Отвечает: Dmitry Stashenko
Здравствуйте, Nataly!

Необходимо сделать запрос не по всем счетам где первое субконто = Контрагенты, а именно по счетам взаиморасчетов с контрагентами (покупателями и продавцами, для Украины 361 и 631 соответственно, для России к сожалению не знаю), и уже по ним получать сальдо и обороты. Увеличение/уменьшение долга контрагента отразят дебетовый/кредитовый обороты, наш долг/долг контрагента - сальдо кон.кредитовое/дебетовое соответственно.

Приложение:

Ответ отправил: Dmitry Stashenko (статус: 2-ой класс)
Ответ отправлен: 16.05.2007, 19:40


Вопрос № 87.059
Здравствуйте уважаемые эксперты!!!
Меня интересует где сохраняются настройки к отчетам, и могу ли я использовать их в другом отчете???
Надеюсь понятно выразился...
Вот например в одном отчете у меня есть элемент диалогоа - таблица значений. Я сохраняю настройку задаю ей имя и данные в Таблице сохраняются.
Могу ли я выбрать данные из этой тадлицы в другом отчете?????
Отправлен: 15.05.2007, 21:09
Вопрос задал: PaTiFoN (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Dmitry Stashenko
Здравствуйте, PaTiFoN!

Если вы имеете в виду СохранитьЗначение(), то да, через ВосстановитьЗначение() можно восстановить значение в другом отчете.
Ответ отправил: Dmitry Stashenko (статус: 2-ой класс)
Ответ отправлен: 15.05.2007, 21:20
Оценка за ответ: 5
Комментарий оценки:
Нет сохранить через диалог отчета. Там есть такие пиктограммки. сохранить настройку и восстановить настройку...

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, PaTiFoN!
Если в конфигураторе пользователю задан рабочий каталог, то данные сохраняются в этом каталоге в файле с расширением .lst.
Если каталог не задан, то сохраняются неясно где.
Настройки из одного отчета в другом использовать невозможно.
Для оперативного переброса любых данных между отчетами существуют файлы. Как Вам уже подсказали, СохранитьЗначение, ВосстановитьЗначение сохраняют значение в файле с расширением .lst. Значения, сохраненные у одного пользователя, у другого использовать или нельзя, или глюкаво.
Для оперативного переброса данных между пользователями и отчетами существуют комманды ЗначениеВФайл, ЗначениеИзФайла. Здесь Вы определяете имя и местоположение файла. Эти комманды работают очень стабильно в одной конфигурации. Перебрасывать этими коммандами данные справочников и документов между двумя конфигурациями нельзя.
Пример:
процедура ПриОткрытии()
ЗначениеИзФайла("P:OPDisklucheniainventarizatcii.txt",ИсключенияИнвентаризации,0);
КонецПроцедуры
Процедура ПриЗакрытии()
ЗначениеВФайл("P:OPDisklucheniainventarizatcii.txt",ИсключенияИнвентаризации,0);
КонецПроцедуры
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Студент)
Ответ отправлен: 16.05.2007, 09:07
Оценка за ответ: 5
Комментарий оценки:
Ну если только так...
А если переменных несколько?

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

А если переменных несколько, то записывайте их в список значений, преобразуйте его в строку (ЗначениеВСтроку) и дальше хоть через файл, хоть через глобальную переменную передавайте. Для восстановления используйте функцию ЗначениеИзСтроки.
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 19.05.2007, 13:44


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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

В избранное