К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

О сколько нам открытий чудных готовят дятлы 1С...

Гость
0 - 03.02.2012 - 08:25
Бояню, нет?

Если ((ПустоеЗначение(ДатаНомерСчетаФактуры) = 1) и (Выбран() = 1))
или (((ПустоеЗначение(ДатаСчетаФактуры) = 1) или (ПустоеЗначение(НомерСчетаФактуры) = 1)) и (Выбран() = 1)) Тогда
СчетФактураПредъявлен = 0;


У меня только один вопрос - ну сколько можно-то, а???



1 - 03.02.2012 - 09:07
Ну... еще вполне терпимо...
Если Выбран() * (ПустоеЗначение(ДатаНомерСчетаФактуры) + ПустоеЗначение(ДатаСчетаФактуры) + ПустоеЗначение(НомерСчетаФактуры)) > 0 Тогда
СчетФактураПредъявлен = 0;
Так понятнее? :)
Гость
2 - 03.02.2012 - 09:10
2-bma1 > Да тут даже не про тупость самого кода. И, кстати, твой вариант по логике работы не совпадает с тем, что написали тупни из 1С. Твой - правильный.
А вот хочется мне посмотреть на то, как 1С-кий дятел будет объяснять, как же пользователь должен заполнить документ, что бы эта галка все-таки выставилась при открытии.
Гость
3 - 03.02.2012 - 09:13
Ну не знают таджики, что логические операции это тоже сложение и умножение. Не сажать же на поддержку клюшек адекватных специалистов - они все заняты написанием ТОС к УПП 2.0. Моя пятая точка ощущает, что это будет феерия превосходящая причину недовольства (0) на многие порядки...
101
4 - 03.02.2012 - 09:18
все логично , это код автоподстава ...
Гость
5 - 03.02.2012 - 09:20
а вот разве нельзя что-либо для людей сотворить: либо делают жалкую тупню, либо феерический прорыв/срыв башки экзальтированных консультеров;-)
Гость
6 - 03.02.2012 - 09:24
Народ...
Зачистите константу НачалоПримененияИсправленныхСчетовФактур и откройте любой из записанных документов, например, УслугиСтороннихОрганизаций, где стояла эта галка...
Гость
7 - 03.02.2012 - 09:25
Кстати, константу можно даже не зачищать. Просто, старый документ откройте.
Гость
8 - 03.02.2012 - 09:28
не продолжай... мне уже страшно!:-(((
Гость
9 - 03.02.2012 - 09:31
Это противоречивость и непонятность законодательных актов последнего времени так влияет на моск постановщиков и далее кодеров..)
Гость
10 - 03.02.2012 - 09:32
Кому нужна эта типовая 7.7? Кто сидит на самописках - им и обновления не нужны, и на другие платформы рыпаться не будет.
Кто сидел на типовых 7.7 - давно прыгнули на 8.2.
А картины потенциального покупателя нового внедрения на типовой 7.7 вообще не представляю.
Гость
11 - 03.02.2012 - 09:33
(6) Видимо нельзя. Такое ощущение, что там две группировки - неисправимые дебилы и такие же неисправимые гении. Первые не делают ничего, кроме изменений законодательства и делают "на от...тесь", а вторые в своей мании величия клепают УТ 11 и иже с нею. Даже БП и ту запустили - Фогель поди 3ю редакцию вылизывает, текучку делают какие-то раздолбаи...
Гость
12 - 03.02.2012 - 09:33
11-Lexusss > "Кто сидел на типовых 7.7 - давно прыгнули на 8.2" - вот только фигню пороть не надо, а?
Гость
13 - 03.02.2012 - 09:37
13-Sadovnikov >Мы тоже не прыгнули. А что там с константой? это вообще-то здравое решение в рамках неопределенности. Даже странно, как они додумались.
14 - 03.02.2012 - 09:37
2(11) Кто сидел на типовых 7.7 - давно прыгнули на 8.2.
К сожалению, нет. Лично вчера обновлял клиенту 7 баз базовой бух-ии. В каждой по по полторы проводки...
Гость
15 - 03.02.2012 - 09:38
У меня на самом деле тоже зла не хватает. Файл конфигурации комплексной за год вырос со 100 до 170 мегабайт. Обновление нетиповых превратилось в пытку, накат очередного релиза занимает минимум 8 часов, на которые работы максимум час. Остальное время пофигуратор сравнивает конфигурации, сохраняет конфигурацию, реструктуризует БД, помещает изменения в гнобилище и формирует файлы поставки...
Гость
16 - 03.02.2012 - 09:40
14-zaic > С константой - это я протупил. В данном случае она не при чем.
Она будет "при чем", если, допустим, обновились 1-го февраля, а константу выставили в 24-е января. И открыли существующий документ за, допустим, 25-е января. Шок буху обеспечен.
Гость
17 - 03.02.2012 - 10:03
1, это ещё что... Вот как вам там же:

ПечДатаПлатРасчДок = Формат(ДатаПлатРасчДок ,"Д (0)ДДММММГГГГ");

...

ПечДатаПлатРасчДок = ?(ДатаЧисло(ПечДатаПлатРасчДок)=0,ПустойПоказатель ,ПечДатаПлатРасчДок);
Гость
18 - 03.02.2012 - 10:05
18-aab > Я, вот, думаю, может, они таким образом готовятся свою улицу переименовать? Тоже пернатый, но клюв повнушительнее...
Гость
19 - 03.02.2012 - 11:00
обращение к дебилам и дятлам - песателям типовых

[img]
http://e-cheb.ru/files/S_853cff84034f0e3187bcd6c86b62cb4c.jpg[/img]
Гость
20 - 03.02.2012 - 11:00
Гость
21 - 03.02.2012 - 14:08
11-Lexusss >
Цитата:
Сообщение от Lexusss Посмотреть сообщение
Кто сидел на типовых 7.7 - давно прыгнули на 8.2
Ошибаешься. И проводок не мало, и переходить на 8.2 нихотят
Гость
22 - 03.02.2012 - 14:35
(22) это мечты снеговиков-идиотов и столбиков
23 - 03.02.2012 - 21:21
Уж да....., намутили, ну очень.... :-)
В принципе, чтобы всё работало, можно сделать так.
В модуле ПриОткрытии(), добавить вызов процедуры ПриПредъявленииСчетаФактуры(), остальное - всё, что касается СчетФактураПредъявлен - вычистить, чтобы не мешало...

Кроме того, чтобы видеть, что было до нововведения, можно на форму дока поставить маааленький флажок с командой Показать(), а сами модули Показать() и ПриПредъявленииСчетаФактуры(), прописать так:


Процедура Показать_()
Если Показать=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 - 03.02.2012 - 21:26
- это был пример из дока ПоступлениеТоваров, потому прилепилось дополниетльное условие - КодВидаПоступления... :-)
25 - 03.02.2012 - 21:46
24-perpetum >+
Да, ещё.... -
В режиме Показать_() - можно производить в любом из показываемых окон, исправления..., если в этом есть необходимость... - ведь не очень удобно для исправлений бегать в константы и откатывать дату начала применения новой счета-фактуры туда-сюда....
banned
26 - 04.02.2012 - 01:57
КГ/АМ

Читать (и писать) вниматочно сюдыть: Идиотизм программистов ЗАО "1С"
banned
27 - 04.02.2012 - 02:00
(0): "Бояню, нет?"
Увы, это баян, камрад...
28 - 04.02.2012 - 04:25
да, 535 релиз готовили откровенно небрежно

Гость
29 - 04.02.2012 - 06:43
24-perpetum > Извини, конечно, но не надо учиться программировать на примерах туповых...
Зачем эти пары?
Форма.ДатаСчетаФактуры.Видимость(0);
Форма.ДатаСчетаФактуры.Доступность(0);

Зачем вообще эти километры кода, когда реквизиты лежат на разных слоях?
Гость
30 - 04.02.2012 - 06:44
На днях мне рассказали про "товарищча", который озвучивает стоимость работ в "2 рубля за букву".
Интересно, почему я про это сейчас вспомнил? :)
31 - 04.02.2012 - 15:50
На днях разбирал (правда в восьмёрке) код товарища из очень крупного местного франча, который у клиента до меня был, тоже порадовался:

Если НайденнаяСтрока.Количество > Разница и Разница <> 0 И Разница > 0 Тогда
....
ИначеЕсли Разница <> 0 И Разница > 0 И НайденнаяСтрока.Количество <> 0 Тогда
32 - 04.02.2012 - 15:52
ещё там же

НоваяТаблицаТоваров = Новый ТаблицаЗначений;
НоваяТаблицаТоваров = Товары.ВыгрузитьКолонки();

Для Каждого Строка Из Товары Цикл
НоваяТаблицаТоваров.Добавить();
КонецЦикла;

Для Каждого Колонка Из НоваяТаблицаТоваров.Колонки Цикл
Если Колонка.Имя <> "КлючСтроки" И Колонка.Имя <> "НомерСтроки" Тогда
НоваяТаблицаТоваров.ЗагрузитьКолонку(Товары.Выгруз итьКолонку(Колонка.Имя), Колонка.Имя);
КонецЕсли;
КонецЦикла;
banned
33 - 04.02.2012 - 15:54
32-reanimator > Нормальный код. Ничего не трогай. Это редкостный вариант, когда франчи - НЕ позор 1С.
banned
34 - 04.02.2012 - 15:56
33-reanimator > Ой да ладно тебе придираться...

В типовой Бухгалтерии уж 10 лет как написано вот так в модуле документа "Амортизация ОС":

Начать цикл по всем элементам справочнега ОС

- Создать Объект "Бухгалтерские Итоги типа"

- Чё-то там расчитать в итогах

- Конец Цикла по справочнику ОС.
banned
35 - 04.02.2012 - 15:59
И вообще - для темы сабжа - для тех, кто в танке - своевременно была создана соответствующая ветка:

http://forums.kuban.ru/showthread.ph...B8%D0%B7%D0%BC
Гость
36 - 04.02.2012 - 16:10
36-DeiMos > Нда... Пьяный DeiMos - существенно хуже пьяного Гены...
Гость
37 - 04.02.2012 - 16:40
Угу, Геннадий Яныч обычно одну ветку выбирает для вывода всех на чистую воду, а вот DeiMos как американец - ковровыми бонбардировками балуецца.
38 - 04.02.2012 - 17:16
34-DeiMos > Не, это неправильный код... там же проверка только на 0, но нет проверки на -1, -2, -3...
39 - 04.02.2012 - 17:19
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;//Показать Новую Форму
Показать_();
КонецЕсли;
КонецЕсли;
/////
...
Может есть и другие варианты, у себя оставил так.
:-)


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены