|
Помогите определить профессиональный уровень, написавшего это (новый текст) | ☑ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Шифровальщик2012
01.10.12
✎
17:16
|
Учет внутреннего курса условной единицы
и индивидуальных договоренностей по курсам Если у клиента договор заключен в долларах, а мы принимаем деньги в рублях, мы должны задать курс доллара к рублю, по которому мы будем принимать деньги. При этом мы должны руководствоваться в первую очередь индивидуальными договоренностями о курсе по договору (если такие есть) или, если нет индивидуальных договоренностей, внутренним курсом компании. Пересчет действует только для перевода суммы, принятой у клиента, в сумму, зачитываемую по расчетам с клиентами. Пересчет используется в документах «Поступление в кассу», «Поступление на счет» (вид операции «от покупателя»), причем необходимо учесть возможность загрузки документа «Поступление на счет» из банк-клиента. В случае если договор клиента заключен в рублях, никакого пересчета не требуется. Для реализации в программе предлагаю создать периодические регистры сведений: «Курсы по договорам», «Внутренний курс». Регистр «Курсы по договорам» должен содержать измерения «Договор» с типом «Договор продажи недвижимости», «Валюта приема денег», «Валюта договора» и ресурсы: «Отклонение от курса ЦБ» (в процентах, может быть отрицательным), «Верхняя граница», «Нижняя граница», «Действует до». Расчет индивидуального курса должен производиться следующим образом. Получается срез последних регистра на дату расчета курса с отбором: «Валюта приема денег» равна валюте кассы или счета в документах «Поступление в кассу». Если есть запись, и дата расчета меньше ресурса «Действует до», то курс рассчитывается как текущий курс (по регистру сведений «Курсы валют»), измененный на заданный в ресурсе «Отклонение от курса ЦБ» процент. Если получившийся курс меньше «Нижней границы», в качестве курса берется «Нижняя граница». Если получившийся курс больше «Верхней границы», берется «Верхняя граница». Если записей нет, или запись есть, но дата расчета курса больше ресурса «Действует до», значит индивидуального курса нет, и необходимо подставить внутренний курс компании. Регистр «Внутренний курс» должен иметь измерение «Валюта приема денег», «Валюта договора» и следующие ресурсы: «Отклонение от курса ЦБ» (в процентах, может быть отрицательным), «Верхняя граница», «Нижняя граница». Расчет аналогичен указанному выше. Если нет записей, соответствующих данной валюте, курс должен быть взят текущий по регистру «Курсы валют». А теперь вопрос: - зачем городить целую систему вычисления внутреннего курса компании, когда достаточно завести валюту У.Е. и ежедневно вбивать в неё одну цифирьку под названием "курс"? |
||||||||||||||||
2
Dzenn
гуру
01.10.12
✎
17:25
|
задолбал
|
||||||||||||||||
3
Новиков
01.10.12
✎
17:26
|
плять, если ты в (0) такой умный, то с какого уя тебе что-то пишут? Пиши все САМ.
Свой вариант |
||||||||||||||||
4
Lexusss
01.10.12
✎
17:28
|
Конфу не знает, старается только облегчить внешнюю видимость работы.
За решение, предложенное в конце автором - +1. Системный аналитик |
||||||||||||||||
5
Tymoha
01.10.12
✎
17:41
|
(3) +1. Хочешь идти к руководству - не иди с мнением мисты. Иди со своим вариантом и на пальцах доказывай руководству почему ты прав, а он нет ...
|
||||||||||||||||
6
Deon
01.10.12
✎
17:43
|
Как проще всего поднять себя самого в глазах окружающих?
Правильно - обосри коллегу ) |
||||||||||||||||
7
Шифровальщик2012
01.10.12
✎
17:48
|
(6) да лана, на мисте обосрут так, что ЧСВ не фига не подымется... это если ты думаешь, что я сюда пришел чсв подымать
|
||||||||||||||||
8
DrShad
01.10.12
✎
17:48
|
(0) то что с аналитиком тебе не повезло мы уже выяснили, давай теперь свой код сюда - обсудим?
|
||||||||||||||||
9
Mort
01.10.12
✎
17:50
|
Вощем-та бывает хуже, не знаю что доипались до автора. Тут чутка посидеть, упорядочить поток мыслей от эксперта предметной области и написать норм задание не проблема. Другое непонятно, что автор хочет нам сказать. Хочет определить обязанности написавшего по дебильной схеме?
|
||||||||||||||||
10
Джинн
01.10.12
✎
17:51
|
(8) Ну не, за решение в УЕ его уже можно понять и простить.
|
||||||||||||||||
11
Шифровальщик2012
01.10.12
✎
17:51
|
(8) Поупражняйся на этом, мне интересно
ЗаполнитьСтоимостьИзТабличнойЧастиИсточника(СтруктураПередаваемыхПараметров); //заполним стоимость по остатку на счете Если СтруктураПередаваемыхПараметров.ТЗ.Колонки.Найти("Склад") = Неопределено Тогда НоваяКолонка = СтруктураПередаваемыхПараметров.ТЗ.Колонки.Добавить(); // Создание описателя типов для таблицы значений Массив = Новый Массив; Массив.Добавить(Тип("СправочникСсылка.Склады")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , ); СтруктураПередаваемыхПараметров.ТЗ.Колонки.Добавить("Склад",ОписаниеТиповС,"Склад",); КонецЕсли; МассивСубконто = Новый Массив; МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии); МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады); Запрос = Новый Запрос; Запрос.УстановитьПараметр("СкладскойУчет",СтруктураПередаваемыхПараметров.СкладскойУчет); Запрос.УстановитьПараметр("ВыбСчет",СчетСальдоНачальнойСуммы); Запрос.УстановитьПараметр("ВыбОрганизация",Организация); Запрос.УстановитьПараметр("МассивСубконто",МассивСубконто); Запрос.УстановитьПараметр("ГраницаОстатка", ПолучитьГраницуСрезаОстатков(КонецДня(КонПериода))); Запрос.УстановитьПараметр("ТЗ",СтруктураПередаваемыхПараметров.ТЗ); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ТЗ.ГраницаМинЦеныПрод КАК ГраницаМинЦеныПрод, | ТЗ.Единица КАК Единица, | ТЗ.Количество КАК Количество, | ТЗ.Коэффициент КАК Коэффициент, | ТЗ.НомерГТД КАК НомерГТД, | ВЫБОР | КОГДА &СкладскойУчет | ТОГДА ТЗ.Склад | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | КОНЕЦ КАК Склад, | ТЗ.СтавкаНДС КАК СтавкаНДС, | ТЗ.Страна КАК Страна, | ТЗ.Товар КАК Товар, | ТЗ.Услуга КАК Услуга |ПОМЕСТИТЬ ИсходнаяТаблица |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СводнаяТаблицаТабличныхЧастей.Товар, | СводнаяТаблицаТабличныхЧастей.Единица, | СводнаяТаблицаТабличныхЧастей.Коэффициент, | СУММА(СводнаяТаблицаТабличныхЧастей.Количество) КАК Количество, | ВЫРАЗИТЬ(0 КАК ЧИСЛО(17, 2)) КАК Сумма, | СводнаяТаблицаТабличныхЧастей.ГраницаМинЦеныПрод, | СводнаяТаблицаТабличныхЧастей.СтавкаНДС, | СводнаяТаблицаТабличныхЧастей.НомерГТД, | СводнаяТаблицаТабличныхЧастей.Страна, | СводнаяТаблицаТабличныхЧастей.Услуга, | СводнаяТаблицаТабличныхЧастей.Склад, | СУММА(СводнаяТаблицаТабличныхЧастей.Количество * СводнаяТаблицаТабличныхЧастей.Коэффициент) КАК КоличествоНаКоэффициент, | ВЫРАЗИТЬ(ЛОЖЬ КАК БУЛЕВО) КАК СтрокаОбработана |ПОМЕСТИТЬ ТаблицаТабличныхЧастейДокументов |ИЗ | (ВЫБРАТЬ | ТЗ.ГраницаМинЦеныПрод КАК ГраницаМинЦеныПрод, | ТЗ.Единица КАК Единица, | ТЗ.Количество КАК Количество, | ТЗ.Коэффициент КАК Коэффициент, | ТЗ.НомерГТД КАК НомерГТД, | ВЫРАЗИТЬ(ТЗ.Склад КАК Справочник.Склады) КАК Склад, | ТЗ.СтавкаНДС КАК СтавкаНДС, | ТЗ.Страна КАК Страна, | ТЗ.Товар КАК Товар, | ТЗ.Услуга КАК Услуга | ИЗ | ИсходнаяТаблица КАК ТЗ) КАК СводнаяТаблицаТабличныхЧастей | |СГРУППИРОВАТЬ ПО | СводнаяТаблицаТабличныхЧастей.ГраницаМинЦеныПрод, | СводнаяТаблицаТабличныхЧастей.Единица, | СводнаяТаблицаТабличныхЧастей.Коэффициент, | СводнаяТаблицаТабличныхЧастей.НомерГТД, | СводнаяТаблицаТабличныхЧастей.Склад, | СводнаяТаблицаТабличныхЧастей.СтавкаНДС, | СводнаяТаблицаТабличныхЧастей.Страна, | СводнаяТаблицаТабличныхЧастей.Товар, | СводнаяТаблицаТабличныхЧастей.Услуга |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаОстаткиПоПартиям.Партия, | ТаблицаОстаткиПоПартиям.Номенклатура, | ТаблицаОстаткиПоПартиям.Склад, | СУММА(ТаблицаОстаткиПоПартиям.КоличествоОстаток) КАК КоличествоОстаток, | СУММА(ТаблицаОстаткиПоПартиям.СуммаОстаток) КАК СуммаОстаток |ПОМЕСТИТЬ ТаблицаОстатокПоПартиям |ИЗ | (ВЫБРАТЬ | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Документ.ПоступлениеТоваровУслуг) КАК Партия, | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Номенклатура) КАК Номенклатура, | ВЫБОР | КОГДА &СкладскойУчет | ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто3 КАК Справочник.Склады) | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | КОНЕЦ КАК Склад, | СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток, | СУММА(ХозрасчетныйОстатки.КоличествоОстаток) КАК КоличествоОстаток | ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ГраницаОстатка, | Счет = &ВыбСчет, | &МассивСубконто, | Организация = &ВыбОрганизация | И Субконто1 ССЫЛКА Документ.ПоступлениеТоваровУслуг | И Субконто2 В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ТаблицаТабличныхЧастейДокументов.Товар | ИЗ | ТаблицаТабличныхЧастейДокументов КАК ТаблицаТабличныхЧастейДокументов)) КАК ХозрасчетныйОстатки | | СГРУППИРОВАТЬ ПО | ХозрасчетныйОстатки.СуммаОстаток, | ХозрасчетныйОстатки.КоличествоОстаток, | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Документ.ПоступлениеТоваровУслуг), | ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Номенклатура), | ВЫБОР | КОГДА &СкладскойУчет | ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто3 КАК Справочник.Склады) | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | КОНЕЦ | | ИМЕЮЩИЕ | СУММА(ХозрасчетныйОстатки.КоличествоОстаток) > 0) КАК ТаблицаОстаткиПоПартиям | |СГРУППИРОВАТЬ ПО | ТаблицаОстаткиПоПартиям.Партия, | ТаблицаОстаткиПоПартиям.Номенклатура, | ТаблицаОстаткиПоПартиям.Склад |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаОстатокПоГТД.Номенклатура, | ТаблицаОстатокПоГТД.Склад, | ТаблицаОстатокПоГТД.НомерГТД, | ТаблицаОстатокПоГТД.Страна, | СУММА(ТаблицаОстатокПоГТД.КоличествоОстаток) КАК КоличествоОстаток, | СУММА(ТаблицаОстатокПоГТД.СуммаОстаток) КАК СуммаОстаток |ПОМЕСТИТЬ ТаблицаОстатокПоГТД |ИЗ | (ВЫБРАТЬ | ТаблицаОстатокПоПартиям.Партия КАК Партия, | ТаблицаОстатокПоПартиям.Номенклатура КАК Номенклатура, | ТаблицаОстатокПоПартиям.Склад КАК Склад, | ТаблицаОстатокПоПартиям.КоличествоОстаток КАК КоличествоОстаток, | ТаблицаОстатокПоПартиям.СуммаОстаток КАК СуммаОстаток, | МАКСИМУМ(ПоступлениеТоваровУслугТовары.СтранаПроисхождения) КАК Страна, | МАКСИМУМ(ПоступлениеТоваровУслугТовары.НомерГТД) КАК НомерГТД | ИЗ | ТаблицаОстатокПоПартиям КАК ТаблицаОстатокПоПартиям | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ПО ТаблицаОстатокПоПартиям.Партия = ПоступлениеТоваровУслугТовары.Ссылка | И ТаблицаОстатокПоПартиям.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура | | СГРУППИРОВАТЬ ПО | ТаблицаОстатокПоПартиям.Партия, | ТаблицаОстатокПоПартиям.Номенклатура, | ТаблицаОстатокПоПартиям.Склад, | ТаблицаОстатокПоПартиям.КоличествоОстаток, | ТаблицаОстатокПоПартиям.СуммаОстаток) КАК ТаблицаОстатокПоГТД | |СГРУППИРОВАТЬ ПО | ТаблицаОстатокПоГТД.Склад, | ТаблицаОстатокПоГТД.Номенклатура, | ТаблицаОстатокПоГТД.НомерГТД, | ТаблицаОстатокПоГТД.Страна"; Запрос.ВыполнитьПакет(); Запрос.Текст = "Выбрать * ИЗ ТаблицаТабличныхЧастейДокументов КАК ТаблицаТабличныхЧастейДокументов"; ТЗТабличныхЧастей = Запрос.Выполнить().Выгрузить(); ТаблицаИсключений = ТЗТабличныхЧастей.СкопироватьКолонки(); Если ВидСортировкиРаспределенияСтоимости = 1 Тогда ТЗТабличныхЧастей.Сортировать("ГраницаМинЦеныПрод,Товар,НомерГТД,Склад"); Иначе ТЗТабличныхЧастей.Сортировать("ГраницаМинЦеныПрод Убыв,Товар,НомерГТД,Склад"); КонецЕсли; Запрос.Текст = "Выбрать * ИЗ ТаблицаОстатокПоГТД КАК ТаблицаОстатокПоГТД"; ТЗТаблицаОстатокПоГТД = Запрос.Выполнить().Выгрузить(); Для Каждого СтрокаТЗТаблицаОстатокПоГТД ИЗ ТЗТаблицаОстатокПоГТД Цикл Отбор = Новый Структура; Отбор.Вставить("Товар",СтрокаТЗТаблицаОстатокПоГТД.Номенклатура); Отбор.Вставить("Склад",СтрокаТЗТаблицаОстатокПоГТД.Склад); Отбор.Вставить("НомерГТД",СтрокаТЗТаблицаОстатокПоГТД.НомерГТД); Отбор.Вставить("Страна",СтрокаТЗТаблицаОстатокПоГТД.Страна); МассивСтрокТаблицы = ТЗТабличныхЧастей.НайтиСтроки(Отбор); Если МассивСтрокТаблицы.Количество() = 0 Тогда Продолжить; КонецЕсли; ЕстьНаОстаткеКоличество = СтрокаТЗТаблицаОстатокПоГТД.КоличествоОстаток; ЕстьНаОстаткеСтоимость = СтрокаТЗТаблицаОстатокПоГТД.СуммаОстаток; ОстатокКоличество = ЕстьНаОстаткеКоличество; ОстатокСтоимости = ЕстьНаОстаткеСтоимость; Для ш = 0 По МассивСтрокТаблицы.Количество() - 1 Цикл СтрокаТаблицы = МассивСтрокТаблицы[0]; Если СтрокаТаблицы.КоличествоНаКоэффициент < ОстатокКоличество Тогда //остаток больше, чем в таблице СтрокаТаблицы.Сумма = ОКР(СтрокаТаблицы.КоличествоНаКоэффициент * ОстатокСтоимости / ОстатокКоличество,2); ОстатокКоличество = ОстатокКоличество - СтрокаТаблицы.КоличествоНаКоэффициент; ОстатокСтоимости = ОстатокСтоимости - СтрокаТаблицы.Сумма; СтрокаТаблицы.СтрокаОбработана = Истина; ИначеЕсли СтрокаТаблицы.КоличествоНаКоэффициент = ОстатокКоличество Тогда СтрокаТаблицы.Сумма = ОстатокСтоимости; ОстатокКоличество = 0; ОстатокСтоимости = 0; СтрокаТаблицы.СтрокаОбработана = Истина; ИначеЕсли СтрокаТаблицы.КоличествоНаКоэффициент > ОстатокКоличество Тогда //остаток меньше, чем в таблице, корректируем количество РазницаОстаткаКоличества = (СтрокаТаблицы.КоличествоНаКоэффициент - ОстатокКоличество) / СтрокаТаблицы.Коэффициент; СтрокаТаблицы.КоличествоНаКоэффициент = ОстатокКоличество; СтрокаТаблицы.Количество = СтрокаТаблицы.КоличествоНаКоэффициент / СтрокаТаблицы.Коэффициент; СтрокаТаблицы.Сумма = ОКР(СтрокаТаблицы.КоличествоНаКоэффициент * ОстатокСтоимости / ОстатокКоличество,2); ОстатокКоличество = 0; ОстатокСтоимости = 0; СтрокаТаблицы.СтрокаОбработана = Истина; //заполним таблицу исключений НоваяСтрокаТабИскл = ТаблицаИсключений.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрокаТабИскл,СтрокаТаблицы,,"Количество,КоличествоНаКоэффициент,Сумма"); НоваяСтрокаТабИскл.Количество = РазницаОстаткаКоличества; НоваяСтрокаТабИскл.Сумма = СтрокаТаблицы.Сумма * РазницаОстаткаКоличества; //--------------------------- КонецЕсли; Если ОстатокКоличество = 0 Тогда Прервать; КонецЕсли; КонецЦикла; КонецЦикла; Отбор = Новый Структура; Отбор.Вставить("СтрокаОбработана",Ложь); УдаляемыеСтроки = ТЗТабличныхЧастей.НайтиСтроки(Отбор); Для ш = 0 По УдаляемыеСтроки.Количество() - 1 Цикл НоваяСтрокаТабИскл = ТаблицаИсключений.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрокаТабИскл,УдаляемыеСтроки[ш]); ТЗТабличныхЧастей.Удалить(УдаляемыеСтроки[ш]); КонецЦикла; Если ВидСортировкиГраницыДатыФормированияДокументовПриФормированииТаблицыИсключений = 1 Тогда ТаблицаИсключений.Сортировать("ГраницаМинЦеныПрод Убыв"); ИначеЕсли ВидСортировкиГраницыДатыФормированияДокументовПриФормированииТаблицыИсключений = 2 Тогда ТаблицаИсключений.Сортировать("ГраницаМинЦеныПрод Возр"); КонецЕсли; СтруктураПередаваемыхПараметров.Вставить("ТаблицаИсключений",ТаблицаИсключений); СтруктураПередаваемыхПараметров.ТЗ = ТЗТабличныхЧастей; Если СтруктураПередаваемыхПараметров.СкладскойУчет Тогда СтруктураПередаваемыхПараметров.ТЗ.Свернуть("ГраницаМинЦеныПрод,Товар,Единица,Коэффициент,СтавкаНДС,НомерГТД,Склад,Страна,Услуга", "Количество,Сумма"); СтруктураПередаваемыхПараметров.ТЗ.Сортировать("Товар,Склад,НомерГТД"); СтруктураПередаваемыхПараметров.ТаблицаИсключений.Свернуть("ГраницаМинЦеныПрод,Товар,Единица,Коэффициент,СтавкаНДС,НомерГТД,Склад,Страна,Услуга", "Количество,Сумма"); Иначе СтруктураПередаваемыхПараметров.ТЗ.Свернуть("ГраницаМинЦеныПрод,Товар,Единица,Коэффициент,СтавкаНДС,НомерГТД,Страна,Услуга", "Количество,Сумма"); СтруктураПередаваемыхПараметров.ТЗ.Сортировать("Товар,НомерГТД"); СтруктураПередаваемыхПараметров.ТаблицаИсключений.Свернуть("ГраницаМинЦеныПрод,Товар,Единица,Коэффициент,СтавкаНДС,НомерГТД,Страна,Услуга", "Количество,Сумма"); КонецЕсли; |
||||||||||||||||
12
mikecool
01.10.12
✎
17:52
|
(11) что это за гкод?
|
||||||||||||||||
13
mikecool
01.10.12
✎
17:52
|
+12 упражнение, кто длиннее процу напишет?
|
||||||||||||||||
14
Mort
01.10.12
✎
17:56
|
Мдяя. иногда лучше жевать... или пить.
|
||||||||||||||||
15
kinsm
01.10.12
✎
17:58
|
Отбор = Новый Структура;
Отбор.Вставить("СтрокаОбработана",Ложь); УдаляемыеСтроки = ТЗТабличныхЧастей.НайтиСтроки(Отбор); Для ш = 0 По УдаляемыеСтроки.Количество() - 1 Цикл НоваяСтрокаТабИскл = ТаблицаИсключений.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрокаТабИскл,УдаляемыеСтроки[ш]); ТЗТабличныхЧастей.Удалить(УдаляемыеСтроки[ш]); КонецЦикла; Что этот код делает? |
||||||||||||||||
16
Мимо Проходил
01.10.12
✎
17:59
|
Имхо, начался бумажный пинг-понг между ТС и "постановщиком". Т.к. "постановщика" взяли на ступень выше в иерархии, чем ТС, независимо от аргументации, результат предсказуем. Ничего личного. Причем "постановщик" умеет грамотно составлять бумагу для представления в вышестоящие инстанции. Даже если "постановщика" и выгонят, то только после ТС.
|
||||||||||||||||
17
kinsm
01.10.12
✎
17:59
|
+(15) понял. Как-то криво написано.
|
||||||||||||||||
18
Mort
01.10.12
✎
18:00
|
Вобщем то логично, что по такому г-ТЗ получается такой г-код.
|
||||||||||||||||
19
Шифровальщик2012
01.10.12
✎
18:01
|
(15) удаляет строки одной таблицы значений и эти строки помещает в таблицу исключений, которая впоследствии будет видна пользователю на форме
|
||||||||||||||||
20
DrShad
01.10.12
✎
18:01
|
(11) что сей адский отжиг должен сделать?
|
||||||||||||||||
21
Шифровальщик2012
01.10.12
✎
18:02
|
(16) у меня стиль изложения лучше
|
||||||||||||||||
22
Mort
01.10.12
✎
18:02
|
(20) Вызвать противоречивые чувства у того, кто его читает.
|
||||||||||||||||
23
DrShad
01.10.12
✎
18:03
|
+(20) все можно было сделать в одно запросе, везде выгрузка в ТЗ (самый тормознутый метод) и потом еще обход в цикле и сортировки
|
||||||||||||||||
24
Шифровальщик2012
01.10.12
✎
18:03
|
(16) вся соль в том, что чувак устроился архитектором системы, но свой функционал скатил до уровня постановшика задач.
Постоянно ломится в программирование, а мне постоянно приходится его просить, чтобы он занимался тем функционалом, на который его взяли. |
||||||||||||||||
25
Mort
01.10.12
✎
18:04
|
(16) Неправда, адекватный прог в два хода заведет такого аналитика тупик вполне лигичными запросами и отмажется невыполнением со стороны аналитика.
|
||||||||||||||||
26
Шифровальщик2012
01.10.12
✎
18:04
|
(23) Если это писать в одном запросе, то получится монстрище
|
||||||||||||||||
27
DrShad
01.10.12
✎
18:05
|
(26) гы, а у тебя что вышло?
|
||||||||||||||||
28
DrShad
01.10.12
✎
18:06
|
+(27) вот к примеру это 4 строки для чего?
Массив = Новый Массив; Массив.Добавить(Тип("СправочникСсылка.Склады")); ОписаниеТиповС = Новый ОписаниеТипов(Массив, , ); СтруктураПередаваемыхПараметров.ТЗ.Колонки.Добавить("Склад",ОписаниеТиповС,"Склад",); |
||||||||||||||||
29
Шифровальщик2012
01.10.12
✎
18:07
|
(27) а у меня вышло скидывание нужных данных во времененые таблицы пакета и последующая их обработка по правилам, которые в будущем могут поменяться.
Если писать запрос-монстр, то задолбаешься потом вспоминать что с чем связано. |
||||||||||||||||
30
Шифровальщик2012
01.10.12
✎
18:07
|
(28) это заплатка того, что туда может прийти ТЗ с колонкой склад и без колонки
|
||||||||||||||||
31
DrShad
01.10.12
✎
18:08
|
(30) как тогда это согласуется с этим?
| ВЫБОР | КОГДА &СкладскойУчет | ТОГДА ТЗ.Склад | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) | КОНЕЦ КАК Склад, |
||||||||||||||||
32
DrShad
01.10.12
✎
18:09
|
+(31) у тебя в ТЗ уже по-любому пустая ссылка есть
|
||||||||||||||||
33
Шифровальщик2012
01.10.12
✎
18:10
|
(31) если туда не придет колонка "склад", то запрос вывалится с ошибкой :)
Этот текст не исключает наличия колонки "Склад", друг мой :) |
||||||||||||||||
34
Mort
01.10.12
✎
18:14
|
Короче разработчик защищает систему от своего г-кода. Известная практика.
|
||||||||||||||||
35
Шифровальщик2012
01.10.12
✎
18:16
|
(34) дык я специально выложил код, который знаю наизусть :) Напротив, я предельно честен и не утверждаю, что там щедевр :)
|
||||||||||||||||
36
DrShad
01.10.12
✎
18:16
|
в общем гуанокодер, поливает гуаном гуаноаналитика - проекту полный капец
|
||||||||||||||||
37
Шифровальщик2012
01.10.12
✎
18:16
|
(36) теперь твоя очередь выкладывать свой код
|
||||||||||||||||
38
DrShad
01.10.12
✎
18:17
|
(35) доведи свою работу до шедевра, а потом, если останется время, будешь обсуждать работу других
|
||||||||||||||||
39
ChAlex
01.10.12
✎
18:17
|
(0) Нормальное написано задание и довольно продуманно и подробно изложено для реализации и имеет место на жизнь в случае работы предприятия по определенным условиям, другой вопрос что вы не понимаете зачем это. Но это другая песня, а тот кто писал вполне грамотный постановщик.
Поставновщик задач |
||||||||||||||||
40
DrShad
01.10.12
✎
18:17
|
(37) а я вот как раз не кодер - я консультант-аналитик :)))
|
||||||||||||||||
41
Шифровальщик2012
01.10.12
✎
18:18
|
(38) ну покажи свой шедевр и напиши время, сколько ты занимался фигней, вылизывая это до шедевра.
|
||||||||||||||||
42
Жан Пердежон
01.10.12
✎
18:18
|
шо, опять?
Свой вариант |
||||||||||||||||
43
DrShad
01.10.12
✎
18:18
|
+(40) мои ТЗ сюда не влезут, так что извиняйте
|
||||||||||||||||
44
Шифровальщик2012
01.10.12
✎
18:19
|
(43) дай мне образец своего описания бизес процесса, вдруг, я восхищусь
|
||||||||||||||||
45
ilpar
01.10.12
✎
18:21
|
Тоже внутренний курс сделал бы отдельной валютой с галочкой УЕ.
И фиксированные курсы отдельными валютами. С возможностью скрытия лишних, если смущают. Постановщики иногда бывают такие... Что, где, когда - идея не всплыла и нате постановку. В общем... Свой вариант |
||||||||||||||||
46
ilpar
01.10.12
✎
18:21
|
(45) хотя может клиент упоротый быть...
|
||||||||||||||||
47
Мимо Проходил
01.10.12
✎
18:22
|
(25) Адекватному прогу не нужна "прокладка" в виде постановщика. Когда подойдут сроки сдавать проект, крайним окажется тот, кто ниже в "пищевой цепочке", или оба.
|
||||||||||||||||
48
DrShad
01.10.12
✎
18:23
|
(47) вообще-то крайним был бы РП, но так как по сабжу он же генеральный дир, то виноваты будут оба
|
||||||||||||||||
49
ЗлобнийМальчик
01.10.12
✎
18:24
|
(0) а как планируется в решении ТС учитывать индивидуальные курсы??? я как то не понял
|
||||||||||||||||
50
ilpar
01.10.12
✎
18:25
|
(49) Евро44
|
||||||||||||||||
51
Шифровальщик2012
01.10.12
✎
18:26
|
(49) Не совсем понятен вопрос, в моем решении или в том, что в (0) написано?
|
||||||||||||||||
52
ЗлобнийМальчик
01.10.12
✎
18:26
|
(51) в вашем решении.
|
||||||||||||||||
53
DrShad
01.10.12
✎
18:27
|
(51) в твоем решении что в (0) написано
|
||||||||||||||||
54
Шифровальщик2012
01.10.12
✎
18:28
|
(53) вы действительно хотите ознакомиться с моим решением?
|
||||||||||||||||
55
DrShad
01.10.12
✎
18:28
|
+(53) учитывая что Ваша ERP не типовая
|
||||||||||||||||
56
DrShad
01.10.12
✎
18:28
|
(54) естественно, как консультант-аналитик очень хочу
|
||||||||||||||||
57
Mort
01.10.12
✎
18:29
|
Только что подумал, что не могу найти у себя кода, чтобы можно было похвастаться и вот так взять и выложить.
|
||||||||||||||||
58
ЗлобнийМальчик
01.10.12
✎
18:29
|
(54) туплю наверное, но вы свое решение описали вот так (цитата из (0))
>>- зачем городить целую систему вычисления внутреннего курса компании, когда достаточно завести валюту У.Е. и ежедневно вбивать в неё одну цифирьку под названием "курс"? |
||||||||||||||||
59
ilpar
01.10.12
✎
18:30
|
(58)ну тут валют просто много будет, если дословно не читать/придираться
кроме внутренней еще валюты договоренностей |
||||||||||||||||
60
DrShad
01.10.12
✎
18:31
|
(59) в (0) написано про одну единственную циферьку
|
||||||||||||||||
61
ЗлобнийМальчик
01.10.12
✎
18:32
|
(59) на каждый договор по валюте что ли??????
|
||||||||||||||||
62
SanGvin
01.10.12
✎
18:34
|
(0) зачем плодить столько одинаковых тем? будь мужиком, подойди к нему, разберись во всем, а то чуть что сразу на Мисте темку создавать....
Свой вариант |
||||||||||||||||
63
RayCon
01.10.12
✎
18:34
|
Учет... индивидуальных договоренностей - это круто! Дальше даже читать не стал. :(
Свой вариант |
||||||||||||||||
64
DrShad
01.10.12
✎
18:35
|
(54) ну так где же решение?
|
||||||||||||||||
65
Шифровальщик2012
01.10.12
✎
18:36
|
(56) отправил на почту свое решение. Но прошу учесть, что это решение написано на основании того, что мне рассказал аналитик о бизнес-процессе. По факту, выяснилось, что это не так.
|
||||||||||||||||
66
ЗлобнийМальчик
01.10.12
✎
18:37
|
(63) а что в этом такого? в договоре прописан курс по которому будут происходить расчеты. Этот факт надо учесть в системе. Вполне резонно имхо
|
||||||||||||||||
67
ЗлобнийМальчик
01.10.12
✎
18:37
|
(65) тоде хочу
|
||||||||||||||||
68
pumbaEO
01.10.12
✎
18:38
|
(65) Как ТЗ так всему миру показать, а как свою работу, так только в индивидуальном порядке?
|
||||||||||||||||
69
SanGvin
01.10.12
✎
18:40
|
(65) тут куча народу читает тему и ждет сюрпризов , а вы только избранным шлете....
|
||||||||||||||||
70
Шифровальщик2012
01.10.12
✎
18:40
|
(68) не знаю как персональные данные из свойств документа вычистить
|
||||||||||||||||
71
Шифровальщик2012
01.10.12
✎
18:41
|
(69) человек заинтересовался, я ему отправил
|
||||||||||||||||
72
ЗлобнийМальчик
01.10.12
✎
18:41
|
ноутпадом
|
||||||||||||||||
73
Шифровальщик2012
01.10.12
✎
18:43
|
(72) ну если вас ноутпад устраивает
Расчет суммы расчётов по вычисляемому курсу. Описание теоретической части бизнес-процесса: Платежи от покупателей в разрабатываемой системе оформляются следующими документами: поступление в кассу, поступление на счет. В компании принят следующий индивидуальный принцип расчета курса платежа и суммы расчетов по договорам по недвижимости: - если задолженность по договору недвижимости с покупателем зафиксирована в долларах США, то когда покупатель платит в рублях, необходимо индивидуально рассчитать сумму расчетов, идущую на погашение задолженности, по индивидуальному курсу, отличному от стандартной схемы вычисления курса расчетов. Далее в описании все расчеты и вычисления рассматриваем с позиции, что оплата в рублях осуществляется по задолженности в долларах США. Рассматривается только ситуация, когда оплата осуществляется на договор по недвижимости. В остальных случаях должна работать типовая схема расчетов. Основные термины и определения: - Внутренний курс USD: установленный руководством компании курс доллара США; - Курс ЦБ USD – курс доллара США по курсу ЦБ; - Курс условной единицы: курс валюты У.Е. по отношению к национальной валюте, вычисляемый на основе внутреннего курса USD и курса ЦБ USD. Рассчитывается сотрудником бухгалтерии и вносится в программу на каждый день. - Индивидуальный курс договора: индивидуальный курс валюты У.Е., фиксируемый по договору по договоренности с клиентом. Курс нужен для определения курса пересчета при оплате в рублях по долларовому договору. Обладает датой начала и окончания срока действия; - Сумма платежа – сумма в той валюте, в которой осуществляется оплата; - Валюта платежа – валюта, в которой покупатель осуществляет платеж; - Сумма расчетов – сумма платежа, пересчитанная в валюту договора (валюту, в которой ведется учет задолженности по договору) по вычисленному курсу; - Валюта расчетов – валюта, в которой зафиксированы договоренности по расчетам и в которую пересчитывается Сумма платежа при оплате. Необходима реализация правила вычисления суммы расчетов при вводе оплат: Если поступает платеж в рублях по долларовому договору, то необходимо рассчитать индивидуально сумму расчетов по этому платежу: - если установлен индивидуальный курс договора и дата платежа попадает в период срока действия индивидуального курса договора, то сумма расчетов вычисляется по следующей формуле: СуммаРасчетов = СуммаПлатежа / ИндивидуальныйКурсДоговора; - если индивидуальный курс договора не установлен или дата платежа не попадает в период срока действия индивидуального курса договора, тогда сумму расчетов необходимо рассчитать по формуле: СуммаРасчетов = СуммаПлатежа / Курс условной единицы. Где Курс условной единицы – это курс, который хранится в базе данных и ежедневно рассчитывается оператором Бухгалтерии по следующему правилу: o Если Курс ЦБ USD на указанную дату больше, чем Внутренний Курс USD на эту же дату, тогда Курс условной единицы равен курсу ЦБ USD; o Если Курс ЦБ USD на указанную дату меньше или равен Внутреннему Курсу USD на эту же дату, тогда Курс условной единицы равен внутреннему курсу USD на эту же дату; o Курс может быть рассчитан по любому другому правилу которое будет принято в компании. Во всех остальных случаях Сумма расчетов рассчитывается типовыми механизмами расчета, заложенными в программу. Вопросы, требующие согласования и решений: o Неминуемо будет возникать ситуация, когда дата вводимого документа будет отличаться от фактической даты оплаты клиентом денег. Следует ли учитывать эту ситуацию или операторы будут вводить платежные документы оплаты той датой, на которую нужно рассчитать курс? Практическая часть: При оплатах курс в документах оплаты и сумма расчетов рассчитывается исходя из следующего правила: - если на договор по недвижимости в момент оплаты действует индивидуальный курс, то в платеж ставится индивидуальный курс, а сумма расчетов рассчитывается по этому курсу; - если на договор недвижимости в момент оплаты не действует индивидуальный курс, то в платеж ставится курс условной единицы, а сумма расчётов рассчитывается по курсу условной единицы. Реализация в разрабатываемой программе: 1. Необходимо создать в справочнике Валюты валюту УсловнаяЕдиница. Каждый день оператор должен вносить курс условной единицы. После запуска программы в эксплуатацию, курс Условной единицы будет загружаться из Бухгалтерии Предприятия «Оптилэнд». 2. Необходимо создать документ «Установка индивидуального курса договора»: курс договора должен быть надежно зафиксирован отдельным документом, введенным на основании договора по недвижимости. Документ должен фиксировать пользователя, который его создал, а так же фиксировать пользователя, который последним его изменил. Документ должен осуществлять запись в регистр сведений «Курсы по договорам недвижимости». В форме договора по недвижимости желательно сделать отображение списка индивидуальных курсов договора для пользователя. 3. Создать регистр сведений «Курсы по договорам недвижимости» с периодичностью «день» и подчиненный регистратору «Установка индивидуального курса договора»: a. Измерения регистра: - ДоговорПоНедвижимости: договор по недвижимости с типом операции «Договор» - Валюта: элемент справочника «Валюты». По умолчанию указывается валюта У.Е. Измерение предлагаю сделать для будущего, если возникнет необходимость указывать индивидуальные курсы на договор для других валют платежа. b. Ресурсы регистра: - Курс: устанавливаемое значение индивидуального курса договора; - НачалоПериодаДействия: дата (без времени), с которой начинает действовать курс; - КонецПериодаДействия: дата (без времени), по истечению которой курс оканчивает действие. 4. Данные по курсу из регистра получать по срезу последних на указанную дату. Принцип работы с регистром по аналогии как с обычными курсами валют. 5. Каждый создаваемый документ «Установка индивидуального курса договора» по договору недвижимости делает запись в регистр на тот период, в котором он создан по шкале времени и логически отменяет (по шкале времени) силу действия предыдущей записи. Доработать типовой функционал документов «поступление в кассу» и «поступление на счет» таким образом, чтобы при заполнении платежей, заполнялся и вычислялся необходимый курс в таблицах расшифровки платежей по описанным выше правилам. 6. В документе оплаты в строке расшифровки платежа в поле «Курс» должен зафиксироваться вычисленный курс, рассчитанная Сумма Расчетов, и типовой механизм взаиморасчетов должен начислить курсовую разницу. По курсовой разнице ничего дорабатывать не нужно, т.к. типовой функционал это сам подхватит. 7. Необходимо предусмотреть возможность загрузки платежных документов из системы «клиент-банк» и их последующего автоматического расчёта по курсам и Суммам Расчетов. |
||||||||||||||||
74
DrShad
01.10.12
✎
18:46
|
(73) тогда продублирую ответ здесь же
Структура документа красивей, но видимо из-за того что на мисте не форматируется нормально текст. А в целом ни о чем, кроме того по условиям задания курса У.Е. выходит что всегда нужно брать максимум между ее текущим курсом и курсом ЦБ |
||||||||||||||||
75
DrShad
01.10.12
✎
18:47
|
- НачалоПериодаДействия: дата (без времени), с которой начинает действовать курс;
- КонецПериодаДействия: дата (без времени), по истечению которой курс оканчивает действие. это вообще избыточно |
||||||||||||||||
76
DrShad
01.10.12
✎
18:48
|
и таки половина идей содрана из (0), что далеко не так как [А теперь вопрос:
- зачем городить целую систему вычисления внутреннего курса компании, когда достаточно завести валюту У.Е. и ежедневно вбивать в неё одну цифирьку под названием "курс"?] |
||||||||||||||||
77
Шифровальщик2012
01.10.12
✎
18:48
|
(74) от структуры документа зависит восприятие и отношение к человеку, который его написал
|
||||||||||||||||
78
Шифровальщик2012
01.10.12
✎
18:49
|
(75) да, избыточно, НачалоПериодаДействия можно вообще убрать, т.к. пишется в период
|
||||||||||||||||
79
Шифровальщик2012
01.10.12
✎
18:51
|
(76) я же писал выше, что мое описание составлено по описанию аналитика. Я хотел показать ему, как надо писать и оформлять документацию, чтобы она удобно читалась и воспринималась.
|
||||||||||||||||
80
DrShad
01.10.12
✎
18:52
|
(79) как бы тебе это правильно объяснить, но ни решение аналитика ни твое решение не согласуется с законом
|
||||||||||||||||
81
ЗлобнийМальчик
01.10.12
✎
18:53
|
(0) тогда, рассмотрев ваше решение и решение из (0), ответом на ваш вопрос может быть следующее:
система вычисления внутреннео курса компании нужна для того, чтобы в дальнейшем, при появлении договоров для которых курс рассчитывается например в евро, не пришлось создавать еще одну валюту и значительно переделывать логику работы. А по поводу оформления - ну тут на вкус и цвет. |
||||||||||||||||
82
ЗлобнийМальчик
01.10.12
✎
18:53
|
(80) а в чем нелеальность?
|
||||||||||||||||
83
Шифровальщик2012
01.10.12
✎
18:53
|
(80) это описание должно составляться на моем уровне задач.
Это не функционал системного аналитика. |
||||||||||||||||
84
DrShad
01.10.12
✎
18:56
|
(82) расчеты по валютным договорам фиксируется в одной из валют по курсу ЦБ, либо указываются валюты по которым считается кросс-курс для пересчета - все остальное незаконно
|
||||||||||||||||
85
SanGvin
01.10.12
✎
18:58
|
(84) да, но когда они покупали 1С, им сказали что в 1С - возможно все :)
|
||||||||||||||||
86
DrShad
01.10.12
✎
18:59
|
(85) для упр учета пусть считают как хотят, но по сабжу БП и там любая проверка насчитает штрафы
|
||||||||||||||||
87
DrShad
01.10.12
✎
19:04
|
+(86) по описанию ТС - расчет курсовых разниц программа выполнит типовой - трындец конторе
|
||||||||||||||||
88
Шифровальщик2012
01.10.12
✎
19:04
|
(84) все законно и это закреплено юристами в возникающих договорных обязательствах
|
||||||||||||||||
89
DrShad
01.10.12
✎
19:05
|
(88) пункт договора в студию, только полностью
|
||||||||||||||||
90
Шифровальщик2012
01.10.12
✎
19:05
|
(86) ты просто не знаешь тот раздел учета, о котором рассуждаешь :)
|
||||||||||||||||
91
DrShad
01.10.12
✎
19:07
|
(90) мальчик, у меня вышка по бухии, 10+ лет кодерства и знание всех типовых, все 10+ лет работа на внедрениях и ты мне будешь говорить что я не в теме?
|
||||||||||||||||
92
Шифровальщик2012
01.10.12
✎
19:15
|
(91) что в итоге хотел сказать-то, дедушка?
|
||||||||||||||||
93
RayCon
01.10.12
✎
19:17
|
(66) Курс и договорённости - не одно и то же.
|
||||||||||||||||
94
Шифровальщик2012
01.10.12
✎
19:18
|
(91) Дедушка, который младше меня на три года, ну вышка у тебя по бухии + 10 лет кодерства + работа во внедрениях...
И с таким-то багажом ты до сих пор не понял, что платят тебе за то, чтобы ты делал так, как нужно тому, кто платит? :) |
||||||||||||||||
95
RayCon
01.10.12
✎
19:21
|
(93)+ Прочитал, то что написано в (0).
>Получается срез последних регистра Однозначно, это, с позволения сказать, ТЗ, писал не филолог... видимо, 1С-ник. :))) |
||||||||||||||||
96
Mort
01.10.12
✎
20:22
|
(94) Ну, DrShad я видел что тут говорит, да и твой код, гм, видел. ХЗ, что ты три года делал на которые ты старше его.
|
||||||||||||||||
97
ПесняПроЗайцев
01.10.12
✎
20:35
|
Автора ветки выгнать накуй. С работы.
|
||||||||||||||||
98
DrShad
01.10.12
✎
20:43
|
(94) мне платят как раз за то что я знаю как нужно сделать, т.е. достичь желаемого результата, а не за то что я делаю так как мне говорят
жаль ч то в свои годы ты этого так и не понял |
||||||||||||||||
99
Лефмихалыч
01.10.12
✎
21:16
|
(0) задолбал ты уже
|
||||||||||||||||
100
Нуф-Нуф
01.10.12
✎
21:49
|
100
|
||||||||||||||||
101
zak555
04.10.12
✎
23:29
|
(11) по какому счёту идёт запрос ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |