Версия для печати темы (https://pro1c.org.ua/index.php?s=aa264af19be5f1472bc3b8f241ed07cb&showtopic=2964)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Налоговая накладная, 2011

Автор: yfrf111 17.02.11, 12:47

Пожалуста помогите!
Немогу понять, как прописать в модуле, форму накладной. Например, порядковий номер, автоматически заполнялся, или номер телефона. Работоспособный код, как написать? Открыть конфигурацию для Украины с новыми бланками, там обнаружил в клеточках формулы, Сред(НомерДокумента,1,1) …… Сред(ФирмаТелефоны,1,1) как объявить переменные и прописать в модуле, не знаю.(
Да, скажите, да это легко, а вот пока, не знаю как!

Автор: Ziam 17.02.11, 14:14

В модуле формы посмотрите процедуру Печать2011(). Она вроде во всех конфах на 7.7 так называется. Там свои переменные найдете, и как они объявляются и что с ними делают. Плюс сможете разобраться как осуществляется печать документа в 1С 7.7

Автор: yfrf111 17.02.11, 19:50

Цитата(Ziam @ 17.02.11, 15:14) *
В модуле формы посмотрите процедуру Печать2011(). Она вроде во всех конфах на 7.7 так называется. Там свои переменные найдете, и как они объявляются и что с ними делают. Плюс сможете разобраться как осуществляется печать документа в 1С 7.7

Да, это я и знаю, что для Украины, там все есть, с моего вопроса это и так понятно. Там просто, все переменные в куче, что где и как не пойму! (Простой пример, на дате или телефонах был, бы достаточно. А для конфигурации, А4 БТР, не пойму. Самой фирмы А4 уже нет, не у кого спросить! 1С консультация, не смогла помочь, сказала что обратиться к разработчикам.(

Автор: Vofka 17.02.11, 20:00

В модуле формы (скорей всего) ищите переменную НомерДокумента, посмотрите где она устанавливается

Автор: Ziam 18.02.11, 7:35

З.Ы, Переменные в 1С объявляются в момент присваивания им какого-нибудь значения.

НомерДокумента = "";

Вот вам пример объявления переменной. Если вас именно эта переменная интересует позже смогу сказать строчку модкля, где она объявляется.

Автор: yfrf111 18.02.11, 12:17

Цитата(Ziam @ 18.02.11, 8:35) *
З.Ы, Переменные в 1С объявляются в момент присваивания им какого-нибудь значения.
НомерДокумента = "";

Вот вам пример объявления переменной. Если вас именно эта переменная интересует позже смогу сказать строчку модкля, где она объявляется.

Неплохо, полностью работающий код, написать! На примере с датой или телефонами. Я так понимаю, дальше все по аналогии, примера сделано, только менять имена переменых?

Автор: Ziam 18.02.11, 14:16

Чото я запутался, что вам надо.
Вам надо подключить к какой-то базе новую форму НН ?
У вас есть типовая конфа в которой есть эта форма и вы там не можете разобраться как она подключена? Или у вас нет типовой конфы с этой формой? Или у вас есть только макет? (сейчас у меня именно такое чувство. У вас есть макет, но нет кода, который его заполняет).

Ибо фраза

Цитата
Неплохо, полностью работающий код, написать!
мне ни о чем не говорит. Я вам написал полностью работающий код. Можно его в модуль вставлять и он будет работать. Только я так понимаю, он делает не совсем то, что вы хотели. А я до сих пор не могу понять, чего вы хотите.

Автор: alex040269 18.02.11, 14:28

Цитата(yfrf111 @ 18.02.11, 13:17) *
Неплохо, полностью работающий код, написать! На примере с датой или телефонами. Я так понимаю, дальше все по аналогии, примера сделано, только менять имена переменых?

Например, НомерДокумента должен содержать 10 знаков и віравниваться по правому краю:

НомерДокумента = Прав("          "+НомерДокумента,10);


На форме в каждой клетке:

Сред(НомерДокумента,1,1)
Сред(НомерДокумента,2,1)
Сред(НомерДокумента,3,1)

и т.д.

Автор: yfrf111 18.02.11, 15:30

Цитата(Ziam @ 18.02.11, 15:16) *
Чото я запутался, что вам надо.
Вам надо подключить к какой-то базе новую форму НН ?
У вас есть типовая конфа в которой есть эта форма и вы там не можете разобраться как она подключена? Или у вас нет типовой конфы с этой формой? Или у вас есть только макет? (сейчас у меня именно такое чувство. У вас есть макет, но нет кода, который его заполняет).

Ибо фраза мне ни о чем не говорит. Я вам написал полностью работающий код. Можно его в модуль вставлять и он будет работать. Только я так понимаю, он делает не совсем то, что вы хотели. А я до сих пор не могу понять, чего вы хотите.

Имено так и есть! Мне надо подключить к какой-то базе, новую форму НН!
У меня есть, типовая конфа в которой есть эта форма, и я там не могу разобраться как она подключена! Половину уже потключил, то что по шаблону, а дальше пошло программированье, Дата, Номер документа, телефоны, и.т.д., то что, должно быть в квардратиках.

Автор: Flexy 18.02.11, 15:43

Так что мешает глянуть как в Типовой заполняется эта форма?
Или вы думаете, что тут все Телепаты и помогут вам прикрутить новую форму НН к вашей НеТиповой Конфе?

Автор: yfrf111 18.02.11, 15:48

Цитата(alex040269 @ 18.02.11, 15:28) *
Например, НомерДокумента должен содержать 10 знаков и віравниваться по правому краю:

НомерДокумента = Прав("          "+НомерДокумента,10);


На форме в каждой клетке:

Сред(НомерДокумента,1,1)
Сред(НомерДокумента,2,1)
Сред(НомерДокумента,3,1)

и т.д.

Спасибо, ясней не куда, обьяснили!

Автор: yfrf111 18.02.11, 17:11

Цитата(alex040269 @ 18.02.11, 15:28) *
Например, НомерДокумента должен содержать 10 знаков и віравниваться по правому краю:

НомерДокумента = Прав("          "+НомерДокумента,10);


На форме в каждой клетке:

Сред(НомерДокумента,1,1)
Сред(НомерДокумента,2,1)
Сред(НомерДокумента,3,1)

и т.д.

С датой и номером документа, все прошло гладко, застрял на телефонах
Написал ДтФирма = Прав(ДтФирма.Телефон+ДтФирма,10); и в ячейках Прав(ДтФирма.Телефон,1,1) и.т.д В самой один 1С запускаю все что с переменой ДтФирма пропало, и ругаеться Прав(ДтФирма.Телефон,1<<?>>,1) Ожидается символ ')'

Автор: Ziam 18.02.11, 19:03

Полный код, пожалуйста. А то мы до Пасхи гадать будем.

Автор: yfrf111 18.02.11, 19:22


Автор: 5_kopeek 19.02.11, 0:46

Почему

ДтФирма = Прав(ДтФирма.Телефон+ДтФирма,10);

Насколько я понимаю, ДтФирма -- это фирма, зачем ее прибавлять к номеру телефона? Попробуйте так
ТелФирмы = Прав(ДтФирма.Телефон,10);

А на это
Прав(ДтФирма.Телефон,1<<?>>,1)

правильно ругается: функция Прав имеет 2 параметра (в отличие от функции Сред), а Вы ей даете 3 параметра. Попробуйте так
Сред(ТелФирмы,1,1)
Сред(ТелФирмы,2,1)
Сред(ТелФирмы,3,1)

и т.д.

Автор: yfrf111 19.02.11, 12:10

Цитата(5_kopeek @ 19.02.11, 1:46) *
Почему
ДтФирма = Прав(ДтФирма.Телефон+ДтФирма,10);

Насколько я понимаю, ДтФирма -- это фирма, зачем ее прибавлять к номеру телефона? Попробуйте так
ТелФирмы = Прав(ДтФирма.Телефон,10);

А на это
Прав(ДтФирма.Телефон,1<<?>>,1)

правильно ругается: функция Прав имеет 2 параметра (в отличие от функции Сред), а Вы ей даете 3 параметра. Попробуйте так
Сред(ТелФирмы,1,1)
Сред(ТелФирмы,2,1)
Сред(ТелФирмы,3,1)

и т.д.

Ошибок в 1С нет, но и не работает, не высвечивает телефон! Ваш вариант, неверен.

Автор: 5_kopeek 19.02.11, 12:24

Цитата(yfrf111 @ 19.02.11, 13:10) *
Ошибок в 1С нет, но и не работает, не высвечивает телефон! Ваш вариант, неверен.

Вставьте после ТелФирмы = ... строку
Сообщить("Тел фирмы ="+ТелФирмы+"=");

и скажите, что напишет при формировании печатной формы.

Автор: yfrf111 19.02.11, 21:31

Цитата(5_kopeek @ 19.02.11, 13:24) *
Вставьте после ТелФирмы = ... строку
Сообщить("Тел фирмы ="+ТелФирмы+"=");

и скажите, что напишет при формировании печатной формы.

ТелФирмы = Сообщить<<?>>("Тел фирмы ="+ТелФирмы+"=");
{Документ.НалоговаяНакладнаяРасходная.Форма.Модуль(89)}: Процедура вызывается как функция (Сообщить)

Автор: logist 19.02.11, 21:45

Цитата(yfrf111 @ 19.02.11, 21:31) *
ТелФирмы = Сообщить<<?>>("Тел фирмы ="+ТелФирмы+"=");
{Документ.НалоговаяНакладнаяРасходная.Форма.Модуль(89)}: Процедура вызывается как функция (Сообщить)

Напишите просто
Сообщить("Тел фирмы ="+ТелФирмы+"=");

"ТелФирмы =" не надо.

Автор: 5_kopeek 19.02.11, 21:48

Вы не правильно трактовали мою просьбу (каюсь, надо было подробно писать). Следовало писать так:

ТелФирмы = Прав(ДтФирма.Телефон,10);
Сообщить("Тел фирмы ="+ТелФирмы+"=");

Исправьте и сообщите, что напишет.

Автор: yfrf111 20.02.11, 11:12

Цитата(5_kopeek @ 19.02.11, 22:48) *
Вы не правильно трактовали мою просьбу (каюсь, надо было подробно писать). Следовало писать так:
ТелФирмы = Прав(ДтФирма.Телефон,10);
Сообщить("Тел фирмы ="+ТелФирмы+"=");

Исправьте и сообщите, что напишет.

После многих, подсказок получился верный симбиоз. Верное решение такое, в модуле пишем ТелФирмы = Прав(ДтФирма.Телефон,10); а в ячейках Сред(ДтФирма.Телефон,1,1) Сред(ДтФирма.Телефон,2,1) и .т.д и заработало всем спасибо!

Автор: Vofka 20.02.11, 11:39

yfrf111, вы б плюсанули тем, кто помагал wink.gif

Автор: yfrf111 20.02.11, 12:54

Дошол до" Вид цивільно-правового договору " и застопорился, там где нужно вбить в ячейки від и № По какой формуле, в ячейки вбивать и как обьявлять?

Автор: yfrf111 21.02.11, 13:14

"Включно до ЄРПН" как записать в модуле? Чтобы когда в форме, нажимаешь на флажок, ставилось не "1" а "Х"

Автор: 5_kopeek 21.02.11, 13:42

Цитата(yfrf111 @ 21.02.11, 14:14) *
"не "1" а "[b]Х"

ЕРПН = ?(ЕРНН = 1, "Х","");

При условии, что этот реквизит в Вашей базе имеет такой же идентификатор.
Не ленитесь посмотреть, как реализован тот или иной момент в конфигурации 281 релиза. Большинство вопросов отпадет.

Автор: yfrf111 21.02.11, 14:16

Цитата(5_kopeek @ 21.02.11, 14:42) *
ЕРПН = ?(ЕРНН = 1, "Х","");

При условии, что этот реквизит в Вашей базе имеет такой же идентификатор.
Не ленитесь посмотреть, как реализован тот или иной момент в конфигурации 281 релиза. Большинство вопросов отпадет.

Я смотрю для Укаины Релиз 035 Б+Т+С+З+К

Для Страница = 1 По 2 Цикл //////////наверно для переключений, между страницами?
        Таб.ВывестиСекцию( "Пробел" ); ////Секция пробел
        Если Страница = 1 Тогда/////// Если страница 1 тогда будет
            Оригинал = ?(Оставляем = 1, "","Х");;
            Копия = "";
            ЕРПН = ?(ЕРНН = 1, "Х","");  /////ЕРПН в флажке формы, формула нужна?
            ОстаетсяПеч = ?(Оставляем = 1, "Х","");  
        ИначеЕсли Страница = 2 Тогда /////Если страница 2, тогда будет условие
            Копия = "Х";
            Оригинал = "";
            ТипПричиныПеч = "";
            ЕРПН = "";
            ОстаетсяПеч = "";  
        КонецЕсли;

Вроде все просто, только индефикаторы поменять. НО У МЕНЯ КОНФИГУРАЦИЯ а4: БТР РЕЛИЗ 3.22/99 ТАМ ВСЕ НЕ ТАК, КАК В ОСТАЛЬНЫХ СТАНДАРТНЫХ КОНФИГУРАЦИЯХ!

ЕРПН в флажке формы, формула нужна?
а4: БТР РЕЛИЗ 3.22/99 И где форма диалога, накладной, может прятаться? С таблицей Диалог просто выбор времени, и большая, кнопка Сформировать, а диалога Таблицы нет, при проверки, берет диалог бо зна от куда.
Этот пример, у меня не работает!

Автор: yfrf111 22.02.11, 11:31

Всем спасибо! Налоговую накладную, 2011 я, с вашей помощью сделал!

Автор: roman457 05.05.11, 12:44

Доброго времени суток форумчане. прочитал сообщения в этой ветке и столкнулся с похожим случаем. но требуется некоторые объяснения.
вопрос по нал.накл. в частности только касательно строки с номером свидетельства.
1. есть контрагенты у которых свидетельство начитаеться с "0" . в моём варианте данное поле было представлено как числовое .(соответственно оно режит первые ноли и я его за это не веню.)
НО не могу строковое выражение разделить по каждой клеточке.
КАК сделать строковое выражение чтобы оно отображалось по клеточкам и при этом справа на лево.(в строковом отображении он игнорирует предп исание прав

КонтрагентНомСвид1 = ?(ПустоеЗначение(Контрагент.НомерСвидетельства)=1,  "0", Контрагент.НомерСвидетельства);
КонтрагентНомСвид =прав("         "+КонтрагентНомСвид1,10);

------------------------------------------------------------------------
в чём моя ошибка

Автор: Ardi 05.05.11, 18:12

КонтрагентНомСвид =прав("         "+СокрЛП(КонтрагентНомСвид1),10);

Автор: lucenko-uri 10.05.11, 13:05

Помогите пожалуйста! Очень надо, чтобы в налоговой накладной номер договора был смещен вправо (т.е. пустые клетки в номере были слева). Что прописать в модуле и в самой форме. Заранее благодарен.

?

Автор: Vofka 10.05.11, 13:16

Надоело. Тема закрыта.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua