|   |   | 
| 
 | Сколько можно взять за такой отчет? | ☑ | ||
|---|---|---|---|---|
| 0
    
        zaimon 08.02.07✎ 13:09 | 
        //=========================================================
  //Вызывается при двойном щелчке по списку Процедура СЗКонтрагент_ПриВыборе() Если СЗКонтрагент.РазмерСписка() > 0 Тогда ВыбранноеЗначение = СЗКонтрагент.ПолучитьЗначение(СЗКонтрагент.ТекущаяСтрока()); ОткрытьФорму(ВыбранноеЗначение.ТекущийЭлемент()); КонецЕсли; КонецПроцедуры //========================================================= Процедура СЗКонтрагент_ДобавитьЗначение() Спр = СоздатьОбъект("Справочник.Контрагенты"); Если Спр.Выбрать("Выберите элемент", "Основная") = 1 Тогда СЗКонтрагент.ДобавитьЗначение(Спр.ТекущийЭлемент()); КонецЕсли; КонецПроцедуры //========================================================= Процедура СЗКонтрагент_УдалитьЗначение() Если СЗКонтрагент.ТекущаяСтрока() > 0 Тогда СЗКонтрагент.УдалитьЗначение(СЗКонтрагент.ТекущаяСтрока()); КонецЕсли; КонецПроцедуры //========================================================= Процедура СЗКонтрагент_УдалитьВсе() СЗКонтрагент.УдалитьВсе(); КонецПроцедуры //========================================================= Процедура СЗКонтрагент_МножественныйВыбор() ОткрытьПодбор("Справочник.Контрагенты", "Основная",,1); КонецПроцедуры //========================================================= Процедура ОбработкаПодбора(ВыбЗначение) Если ТипЗначенияСтр(ВыбЗначение) = "Справочник" Тогда СЗКонтрагент.ДобавитьЗначение(ВыбЗначение.ТекущийЭлемент()); СЗКонтрагент.ТекущаяСтрока(СЗКонтрагент.РазмерСписка()); КонецЕсли; КонецПроцедуры //========================================================= Процедура СЗКонтрагент_ЗначениеВверх() Если СЗКонтрагент.ТекущаяСтрока() > 1 Тогда СЗКонтрагент.СдвинутьЗначение(-1, СЗКонтрагент.ТекущаяСтрока()); КонецЕсли; КонецПроцедуры //========================================================= Процедура СЗКонтрагент_ЗначениеВниз() Если (СЗКонтрагент.ТекущаяСтрока() > 0) И (СЗКонтрагент.ТекущаяСтрока() < СЗКонтрагент.РазмерСписка()) Тогда СЗКонтрагент.СдвинутьЗначение(1, СЗКонтрагент.ТекущаяСтрока()); КонецЕсли; КонецПроцедуры //******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Фирма = Регистр.ОстаткиТМЦ.Фирма; |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура; |Склад = Регистр.ОстаткиТМЦ.Склад; //|Регистр.ОстаткиТМЦ.ТекущийДокумент.Реализация.Склад, //| Регистр.ОстаткиТМЦ.ТекущийДокумент.РеализацияРозница.Склад, //| Регистр.ОстаткиТМЦ.ТекущийДокумент.ПоступлениеТМЦ.Склад, //| Регистр.ОстаткиТМЦ.ТекущийДокумент.ВозвратОтПокупателя.Склад; |ТекущийДокумент = Регистр.ОстаткиТМЦ.ТекущийДокумент.Реализация.ТекущийДокумент, | Регистр.ОстаткиТМЦ.ТекущийДокумент.РеализацияРозница.ТекущийДокумент, | Регистр.ОстаткиТМЦ.ТекущийДокумент.ПоступлениеТМЦ.ТекущийДокумент, | Регистр.ОстаткиТМЦ.ТекущийДокумент.ВозвратОтПокупателя.ТекущийДокумент; |Количество = Регистр.ОстаткиТМЦ.Количество; |Контрагент = Регистр.ОстаткиТМЦ.ТекущийДокумент.Реализация.Контрагент, Регистр.ОстаткиТМЦ.ТекущийДокумент.РеализацияРозница.Контрагент, Регистр.ОстаткиТМЦ.ТекущийДокумент.ПоступлениеТМЦ.Контрагент, Регистр.ОстаткиТМЦ.ТекущийДокумент.ВозвратОтПокупателя.Контрагент, Регистр.ОстаткиТМЦ.ТекущийДокумент.ВозвратПоставщику.Контрагент; |ЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод; |Функция НачОстат = НачОст(Количество); |Функция КоличествоРасход = Расход(Количество) когда(((ТекущийДокумент.Вид()=""Реализация"")и (не(Контрагент в СЗКонтрагент)))или((ТекущийДокумент.Вид()=""РеализацияРозница"")и (не(Контрагент в СЗКонтрагент)))); |Функция КоличествоРасходФилиалы = Расход(Количество) когда(((ТекущийДокумент.Вид()=""Реализация"")и (Контрагент в СЗКонтрагент))или((ТекущийДокумент.Вид()=""РеализацияРозница"")и (Контрагент в СЗКонтрагент))); |Функция КоличествоПриход = Приход(Количество)когда(ТекущийДокумент.Вид()=""ПоступлениеТМЦ""); |Функция ВозвратИЗРозн = Приход(Количество)когда((ТекущийДокумент.Вид()=""ВозвратОтПокупателя"")и (не(Контрагент в СЗКонтрагент))); |Функция ВозвратВнутри = Приход(Количество)когда((ТекущийДокумент.Вид()=""ВозвратОтПокупателя"")и (Контрагент в СЗКонтрагент)); |Функция КонОстат = КонОст(Количество); |Группировка Фирма; |Группировка Склад; |Группировка Номенклатура без групп; // |Группировка Контрагент без групп; |Условие(Фирма в ВыбФирма); |Условие(Номенклатура в ВыбНоменклатура); /// |Условие(Склад.РозничныйСклад=0); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Фирма //Таб.ВывестиСекцию("Фирма"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей Склад //Таб.ВывестиСекцию("Склад"); Пока Запрос.Группировка(3) = 1 Цикл // Заполнение полей Номенклатура //Таб.ВывестиСекцию("Номенклатура"); // Пока Запрос.Группировка(4) = 1 Цикл // Заполнение полей Контрагент Попытка печАдрес=Запрос.Контрагент.ЮрФизЛицо.ФактАдрес; Исключение печАдрес=Запрос.Контрагент.ОсновнойДоговор; КонецПопытки; Таб.ВывестиСекцию("Контрагент"); // КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; // Заполнение полей "Итого" //Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры 3 Часа моей работы. По меркам маленького города. | |||
| 2
    
        ASV 08.02.07✎ 13:10 | 
        уже не возьмешь, ты его бесплатно отдал всем     | |||
| 3
    
        Эльниньо 08.02.07✎ 13:11 | 
        (0) А сколько заплатишь за анализ твоей нетленки?     | |||
| 4
    
        ASV 08.02.07✎ 13:11 | 
        (0) он работает вообще??     | |||
| 5
    
        Ёпрст2 08.02.07✎ 13:12 | 
        (0) Имхо, как бы еще и самому доплачивать не пришлось бы ...     | |||
| 6
    
        Magic74 08.02.07✎ 13:12 | 
        Чтобы не парится 1строка - 1 минута, а там исходя из стоимости часа в городе - достаточно честно     | |||
| 7
    
        Midaw 08.02.07✎ 13:13 | 
        Страна, Край?     | |||
| 8
    
        колодина 08.02.07✎ 13:13 | 
        (6) ничего себе расчет....     | |||
| 9
    
        Ёпрст2 08.02.07✎ 13:14 | 
        +5 Особенно порадовало двигать значения в списке для фильтра ... вот только накуа ?
  И зачем писать ТекущийДокумент нужных видов....? | |||
| 10
    
        mikecool 08.02.07✎ 13:15 | 
        (0) возьми с полки пирожок... (с) не помню откуда :-)     | |||
| 11
    
        Magic74 08.02.07✎ 13:15 | 
        (8) Я не утверждаю, что это идеал :))))
  Ес-но не стоит это озвучивать клиенту ибо некоторые 100 строк стоят дороже другой 1000 | |||
| 12
    
        КонецЦикла 08.02.07✎ 13:16 | 
        (6) Под столом     | |||
| 13
    
        Midaw 08.02.07✎ 13:17 | 
        (6) тогда надо добавить ещё комментов! )     | |||
| 14
    
        КонецЦикла 08.02.07✎ 13:17 | 
        (0) Возьми 15-20 баксов
  Непонятна цель отчета вообще... | |||
| 15
    
        Magic74 08.02.07✎ 13:19 | 
        (12)Ну ладно Вам набросились - я просто предложил самую простую схему которую видел - согласен не идеал, но иногда проще пользоваться ей     | |||
| 16
    
        Midaw 08.02.07✎ 13:20 | 
        (14) называется из области, надо ) а чё скажу, то и надо.. ну будет значит! ) падумаешь ещё "один" отчетик нарисую красивый )     | |||
| 17
    
        Advan 08.02.07✎ 13:20 | 
        (0)Бери больше!     | |||
| 18
    
        fabrikant 08.02.07✎ 13:21 | 
        (6)  Я сегодня весь день голову ломал над одной проблемой. Итог 78 строк рабочего кода. Значит я никуа не заработал?
  Может пустых циклов накуячить? | |||
| 19
    
        Ирен 08.02.07✎ 13:21 | 
        500 рублей     | |||
| 20
    
        DrShad 08.02.07✎ 13:22 | 
        (0) а он тока адреса выдает?     | |||
| 21
    
        Midaw 08.02.07✎ 13:22 | 
        (19) как можно округлять в меньшую сторону.. (: или там тарелка супа умножается на три часа?     | |||
| 22
    
        zaimon 08.02.07✎ 13:22 | 
        (19) 500 рублей, да наш бывший хапуга 1Сник по совместительству все 3000 взял бы. Даже жако.     | |||
| 23
    
        Midaw 08.02.07✎ 13:24 | 
        (22) а знаешь почему жалко? потому что взялся за некчомную задачу, неоценённую по реальной стоимости )     | |||
| 24
    
        Ирен 08.02.07✎ 13:25 | 
        (22) ну дак и ты 3000 тогда возьми. кто мешает то?     | |||
| 25
    
        Advan 08.02.07✎ 13:27 | 
        (22)ТОгда ты бери 3500!!!     | |||
| 26
    
        Midaw 08.02.07✎ 13:30 | 
        кстати, с некоторых пор я знаю как определяют стоимость работы 1с-ника. тот чувак сделал за 3000, а этот гад с меня берёт 6000. мне сегодня сказал один человек, что программу писать четыре месяца.. из той же области ) а я то парусь с вычислениями..     | |||
| 27
    
        zaimon 08.02.07✎ 13:33 | 
        Боюсь что потом кто нибудь скажет вот хапуга! Ваще обнаглел. Я просто никогда этим не занимался, на дяденьку все работаю.     | |||
| 28
    
        Ирен 08.02.07✎ 13:34 | 
        (27) это знакомые или нет? еще и от этого цена зависит иногда:)     | |||
| 29
    
        mergan 08.02.07✎ 13:37 | 
        два пенса... и не пенсем больше     | |||
| 30
    
        zaimon 08.02.07✎ 13:39 | 
        (28) Нет!     | |||
| 31
    
        Ц_У 08.02.07✎ 13:41 | 
        Бери больше кидай дальше...(с)     | |||
| 32
    
        Ирен 08.02.07✎ 13:42 | 
        (30) все зависит от того, сколько за это готовы они заплатить. реально отчет стоит 1000-1500.. не больше.. но если они привыкли 3000 платить, то это уже решать тебе.     | |||
| 33
    
        Advan 08.02.07✎ 13:43 | 
        (27)Ну и? - пусть говорят - они просто завидуют.     | |||
| 34
    
        Эльниньо 08.02.07✎ 13:44 | 
        (6)
  Если А = Б Тогда ... и так далее. | |||
| 35
    
        Magic74 08.02.07✎ 13:47 | 
        (18) см (11) у меня тоже такое было - зависит от сложности задачи, можно еще коэффициент ввести на который умножать кол-во строк, который будет отображать сложность)))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |