![]() | [1] [2] |
О сколько нам открытий чудных готовят дятлы 1С... Бояню, нет? Если ((ПустоеЗначение(ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1)) или (((ПустоеЗначение(ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1)) Тогда СчетФактураПредъявлен = 0; У меня только один вопрос - ну сколько можно-то, а??? |
Ну... еще вполне терпимо... Если Выбран() * (ПустоеЗначение(ДатаНомерСчетаФактуры) + ПустоеЗначение(ДатаСчетаФактуры) + ПустоеЗначение(НомерСчетаФактуры)) > 0 Тогда СчетФактураПредъявлен = 0; Так понятнее? :) |
2-bma1 > Да тут даже не про тупость самого кода. И, кстати, твой вариант по логике работы не совпадает с тем, что написали тупни из 1С. Твой - правильный. А вот хочется мне посмотреть на то, как 1С-кий дятел будет объяснять, как же пользователь должен заполнить документ, что бы эта галка все-таки выставилась при открытии. |
Ну не знают таджики, что логические операции это тоже сложение и умножение. Не сажать же на поддержку клюшек адекватных специалистов - они все заняты написанием ТОС к УПП 2.0. Моя пятая точка ощущает, что это будет феерия превосходящая причину недовольства (0) на многие порядки... |
все логично , это код автоподстава ... |
а вот разве нельзя что-либо для людей сотворить: либо делают жалкую тупню, либо феерический прорыв/срыв башки экзальтированных консультеров;-) |
Народ... Зачистите константу НачалоПримененияИсправленныхСчетовФактур и откройте любой из записанных документов, например, УслугиСтороннихОрганизаций, где стояла эта галка... |
Кстати, константу можно даже не зачищать. Просто, старый документ откройте. |
не продолжай... мне уже страшно!:-((( |
Это противоречивость и непонятность законодательных актов последнего времени так влияет на моск постановщиков и далее кодеров..) |
Кому нужна эта типовая 7.7? Кто сидит на самописках - им и обновления не нужны, и на другие платформы рыпаться не будет. Кто сидел на типовых 7.7 - давно прыгнули на 8.2. А картины потенциального покупателя нового внедрения на типовой 7.7 вообще не представляю. |
(6) Видимо нельзя. Такое ощущение, что там две группировки - неисправимые дебилы и такие же неисправимые гении. Первые не делают ничего, кроме изменений законодательства и делают "на от...тесь", а вторые в своей мании величия клепают УТ 11 и иже с нею. Даже БП и ту запустили - Фогель поди 3ю редакцию вылизывает, текучку делают какие-то раздолбаи... |
11-Lexusss > "Кто сидел на типовых 7.7 - давно прыгнули на 8.2" - вот только фигню пороть не надо, а? |
13-Sadovnikov >Мы тоже не прыгнули. А что там с константой? это вообще-то здравое решение в рамках неопределенности. Даже странно, как они додумались. |
2(11) [em]Кто сидел на типовых 7.7 - давно прыгнули на 8.2.[/em] К сожалению, нет. Лично вчера обновлял клиенту 7 баз базовой бух-ии. В каждой по по полторы проводки... |
У меня на самом деле тоже зла не хватает. Файл конфигурации комплексной за год вырос со 100 до 170 мегабайт. Обновление нетиповых превратилось в пытку, накат очередного релиза занимает минимум 8 часов, на которые работы максимум час. Остальное время пофигуратор сравнивает конфигурации, сохраняет конфигурацию, реструктуризует БД, помещает изменения в гнобилище и формирует файлы поставки... |
14-zaic > С константой - это я протупил. В данном случае она не при чем. Она будет "при чем", если, допустим, обновились 1-го февраля, а константу выставили в 24-е января. И открыли существующий документ за, допустим, 25-е января. Шок буху обеспечен. |
1, это ещё что... Вот как вам там же: ПечДатаПлатРасчДок = Формат(ДатаПлатРасчДок ,"Д (0)ДДММММГГГГ"); ... ПечДатаПлатРасчДок = ?(ДатаЧисло(ПечДатаПлатРасчДок)=0,ПустойПоказатель,ПечДатаПлатРасчДок); |
18-aab > Я, вот, думаю, может, они таким образом готовятся свою улицу переименовать? Тоже пернатый, но клюв повнушительнее... |
обращение к дебилам и дятлам - песателям типовых [img] http://e-cheb.ru/files/S_853cff84034f0e3187bcd6c86b62cb4c.jpg[/img] |
[img]http://e-cheb.ru/files/S_853cff84034f0e3187bcd6c86b62cb4c.jpg[/img] |
11-Lexusss >[quote=Lexusss;23075963]Кто сидел на типовых 7.7 - давно прыгнули на 8.2[/quote] Ошибаешься. И проводок не мало, и переходить на 8.2 нихотят |
(22) это мечты снеговиков-идиотов и столбиков |
Уж да....., намутили, ну очень.... :-) В принципе, чтобы всё работало, можно сделать так. В модуле ПриОткрытии(), добавить вызов процедуры ПриПредъявленииСчетаФактуры(), остальное - всё, что касается СчетФактураПредъявлен - вычистить, чтобы не мешало... Кроме того, чтобы видеть, что было до нововведения, можно на форму дока поставить маааленький флажок с командой Показать(), а сами модули Показать() и ПриПредъявленииСчетаФактуры(), прописать так: Процедура Показать_() Если Показать=1 Тогда Форма.ДатаНомерСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Видимость(0); Форма.НомерСчетаФактуры.Видимость(0); Форма.ДатаНомерСчетаФактуры.Доступность(1); Форма.ДатаСчетаФактуры.Доступность(0); Форма.НомерСчетаФактуры.Доступность(0); Иначе Форма.ДатаНомерСчетаФактуры.Видимость(0); Форма.ДатаНомерСчетаФактуры.Доступность(0); Форма.ДатаСчетаФактуры.Видимость(1); Форма.НомерСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Доступность(1); Форма.НомерСчетаФактуры.Доступность(1); КонецЕсли; КонецПроцедуры // Процедура ПриПредъявленииСчетаФактуры() Если Выбран()=1 Тогда Если ((ПустаяСтрока(ДатаНомерСчетаФактуры)=1) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) > 0)) ИЛИ (КодВидаПоступления = 3) Тогда СчетФактураПредъявлен = 0; Если (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма Форма.ДатаНомерСчетаФактуры.Видимость(1); Форма.ДатаНомерСчетаФактуры.Доступность(1); Форма.ДатаСчетаФактуры.Видимость(0); Форма.ДатаСчетаФактуры.Доступность(0); Форма.НомерСчетаФактуры.Видимость(0); Форма.НомерСчетаФактуры.Доступность(0); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма Форма.ДатаНомерСчетаФактуры.Видимость(0); Форма.ДатаНомерСчетаФактуры.Доступность(0); Форма.ДатаСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Доступность(1); Форма.НомерСчетаФактуры.Видимость(1); Форма.НомерСчетаФактуры.Доступность(1); КонецЕсли; ИначеЕсли (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма СчетФактураПредъявлен = 1; Форма.ДатаНомерСчетаФактуры.Видимость(1); Форма.ДатаНомерСчетаФактуры.Доступность(1); Форма.ДатаСчетаФактуры.Видимость(0); Форма.ДатаСчетаФактуры.Доступность(0); Форма.НомерСчетаФактуры.Видимость(0); Форма.НомерСчетаФактуры.Доступность(0); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма СчетФактураПредъявлен = 1; Форма.ДатаНомерСчетаФактуры.Видимость(0); Форма.ДатаНомерСчетаФактуры.Доступность(0); Форма.ДатаСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Доступность(1); Форма.НомерСчетаФактуры.Видимость(1); Форма.НомерСчетаФактуры.Доступность(1); КонецЕсли; Иначе СчетФактураПредъявлен = 0; Если (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма Форма.ДатаНомерСчетаФактуры.Видимость(1); Форма.ДатаНомерСчетаФактуры.Доступность(1); Форма.ДатаСчетаФактуры.Видимость(0); Форма.ДатаСчетаФактуры.Доступность(0); Форма.НомерСчетаФактуры.Видимость(0); Форма.НомерСчетаФактуры.Доступность(0); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма Форма.ДатаНомерСчетаФактуры.Видимость(0); Форма.ДатаНомерСчетаФактуры.Доступность(0); Форма.ДатаСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Доступность(1); Форма.НомерСчетаФактуры.Видимость(1); Форма.НомерСчетаФактуры.Доступность(1); КонецЕсли; КонецЕсли; // // ещё что-то // КонецПроцедуры ....................... И тогда всё работает! - всегда можно подсмотреть, что было, ничего не удаляется, а новые и старые формы живут себе в параллель.... |
- это был пример из дока ПоступлениеТоваров, потому прилепилось дополниетльное условие - КодВидаПоступления... :-) |
24-perpetum >+ Да, ещё.... - В режиме Показать_() - можно производить в любом из показываемых окон, исправления..., если в этом есть необходимость... - ведь не очень удобно для исправлений бегать в константы и откатывать дату начала применения новой счета-фактуры туда-сюда.... |
КГ/АМ Читать (и писать) вниматочно сюдыть: [url]http://forums.kuban.ru/showthread.php?t=2011166&highlight=%D0%B8%D0%B4%D0%B8%D0%BE%D1%82%D0%B8%D0%B7%D0%BC[/url] |
(0): "Бояню, нет?" Увы, это баян, камрад... [img]http://proplay.ru/images/users/gallery/24842/162508_m.jpg[/img] |
[b]да, 535 релиз готовили откровенно небрежно[/b] [img]http://s017.radikal.ru/i424/1202/f2/2484fede8025.jpg[/img] |
24-perpetum > Извини, конечно, но не надо учиться программировать на примерах туповых... Зачем эти пары? Форма.ДатаСчетаФактуры.Видимость(0); Форма.ДатаСчетаФактуры.Доступность(0); Зачем вообще эти километры кода, когда реквизиты лежат на разных слоях? |
На днях мне рассказали про "товарищча", который озвучивает стоимость работ в "2 рубля за букву". Интересно, почему я про это сейчас вспомнил? :) |
На днях разбирал (правда в восьмёрке) код товарища из очень крупного местного франча, который у клиента до меня был, тоже порадовался: Если НайденнаяСтрока.Количество > Разница и Разница <> 0 И Разница > 0 Тогда .... ИначеЕсли Разница <> 0 И Разница > 0 И НайденнаяСтрока.Количество <> 0 Тогда |
ещё там же НоваяТаблицаТоваров = Новый ТаблицаЗначений; НоваяТаблицаТоваров = Товары.ВыгрузитьКолонки(); Для Каждого Строка Из Товары Цикл НоваяТаблицаТоваров.Добавить(); КонецЦикла; Для Каждого Колонка Из НоваяТаблицаТоваров.Колонки Цикл Если Колонка.Имя <> "КлючСтроки" И Колонка.Имя <> "НомерСтроки" Тогда НоваяТаблицаТоваров.ЗагрузитьКолонку(Товары.ВыгрузитьКолонку(Колонка.Имя), Колонка.Имя); КонецЕсли; КонецЦикла; |
32-reanimator > Нормальный код. Ничего не трогай. Это редкостный вариант, когда франчи - НЕ позор 1С. |
33-reanimator > Ой да ладно тебе придираться... В типовой Бухгалтерии уж 10 лет как написано вот так в модуле документа "Амортизация ОС": Начать цикл по всем элементам справочнега ОС - Создать Объект "Бухгалтерские Итоги типа" - Чё-то там расчитать в итогах - Конец Цикла по справочнику ОС. |
И вообще - для темы сабжа - для тех, кто в танке - своевременно была создана соответствующая ветка: [url]http://forums.kuban.ru/showthread.ph...B8%D0%B7%D0%BC[/url] |
36-DeiMos > Нда... Пьяный DeiMos - существенно хуже пьяного Гены... |
Угу, Геннадий Яныч обычно одну ветку выбирает для вывода всех на чистую воду, а вот DeiMos как американец - ковровыми бонбардировками балуецца. |
34-DeiMos > Не, это неправильный код... там же проверка только на 0, но нет проверки на -1, -2, -3... |
30-Sadovnikov > Спасибо :-) - да я удивился, когда увидел такое, но лень обуяла - скопипастил кусок исходного код от 1С и не удалил лишнее... ... Собственно, работает :-) - а убрав лишнее, получается компактнее так: ///// Процедура Показать_() Если Показать=1 Тогда Форма.ДатаНомерСчетаФактуры.Видимость(1); Форма.ДатаСчетаФактуры.Видимость(0); Форма.НомерСчетаФактуры.Видимость(0); Иначе Форма.ДатаНомерСчетаФактуры.Видимость(0); Форма.ДатаСчетаФактуры.Видимость(1); Форма.НомерСчетаФактуры.Видимость(1); КонецЕсли; КонецПроцедуры ///// Процедура ПриПредъявленииСчетаФактуры() Если Выбран()=1 Тогда Если ((ПустаяСтрока(ДатаНомерСчетаФактуры)=1) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) > 0)) Тогда СчетФактураПредъявлен = 0; Если (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма Показать=1;//Показать Старую Форму Показать_(); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма Показать=0;//Показать Новую Форму Показать_(); КонецЕсли; ИначеЕсли (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма СчетФактураПредъявлен = 1; Показать=1;//Показать Старую Форму Показать_(); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма СчетФактураПредъявлен = 1; Показать=0;//Показать Новую Форму Показать_(); КонецЕсли; Иначе СчетФактураПредъявлен = 0; Если (ДатаДок<Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустаяСтрока(ДатаНомерСчетаФактуры)=0) Тогда //Старая форма Показать=1;//Показать Старую Форму Показать_(); ИначеЕсли (ДатаДок>=Константа.НачалоПримененияИсправленныхСчетовФактур) и (ПустоеЗначение(ДатаСчетаФактуры)+ПустаяСтрока(НомерСчетаФактуры) = 0) Тогда //Новая форма Показать=0;//Показать Новую Форму Показать_(); КонецЕсли; КонецЕсли; ///// ... Может есть и другие варианты, у себя оставил так. :-) |
Текущее время: 18:12. Часовой пояс GMT +3. | [1] [2] |