Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Документ с двумя таблицами печатных форм
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Aisha12
Здравствуйте, Всем! Очень нужна помощь, я новичок в программировании, а мне тут дали работать с 1C:Предприятие 7.7 .
Имеется 2 базы, в одну базу надо сделать 2 таблицы печатной формы в одном документе: одну оставить старую, а вторую из документа 2 базы. Платформа 1C:Предприятие 7.7 сетевая версия) Бухучет, ред 3.0, та в которую надо перенести, та из которой берем: 1C:Предприятие 7.7 (сетевая версия) Бухучет, ред 2.5. Я сделала выпадающее меню по кнопке Подбор на форме и прописала
Меню=СоздатьОбъект("СписокЗначений");
Меню.ДобавитьЗначение(1,"Старая форма");
Меню.ДобавитьЗначение(2,"Типовая форма Доверенности");

Выбор=0;
Если Меню.ВыбратьЗначение(Выбор,"",0,,1)=0 Тогда
возврат;
КонецЕсли;



 i 

Выделяйте код
 


Дальше у меня идет код , если выбираем 1 печатную форму, теперь как создать 2 таблицу я не пойму, и таблицу создала вроде, но все равно ругается. И вот собственно вопрос: как правильно сделать условие выбора таблиц печатных форм документа?
vadim007
Дали поработать в 1С:Предприятие 7.7, а документацию не дали почитать? 47046430.gif
Vofka
vadim007, та ладно, все когда-то такие были wink.gif . Подскажите, если знаете.
sava1
Если Выбор=1 Тогда
   Таб.ИсходнаяТаблица("Таблица1");
Иначе Если Выбор=2 Тогда
   Таб.ИсходнаяТаблица("Таблица2");
....
КонецЕсли
Aisha12
Цитата(vadim007 @ 01.08.13, 15:48) необходимо зарегистрироваться для просмотра ссылки
Дали поработать в 1С:Предприятие 7.7, а документацию не дали почитать? 47046430.gif


Документацию к 8.2 и дали и собственно 1 задание дали на 8.2 разрабатывать, а это вот второе, и что то я немного привыкающая к 8.2 не могу привыкнуть к 7.7((
vadim007
Цитата(Aisha12 @ 01.08.13, 10:39) необходимо зарегистрироваться для просмотра ссылки
Здравствуйте, Всем! Очень нужна помощь, я новичок в программировании, а мне тут дали работать с 1C:Предприятие 7.7 .
Имеется 2 базы, в одну базу надо сделать 2 таблицы печатной формы в одном документе: одну оставить старую, а вторую из документа 2 базы.

Делаем следующее:
1. Запускаем два конфигуратора, в одном открываем 1 базу, во втором 2 базу.
2. Открываем нужные документы в режиме Редактирования формы.
3. В документе 1 базы создаем новую таблицу, переходим во 2 базу, отрываем нужную таблицу, выделяем (нажать мышкой левый верхний квадратик), скопировать выделенное в буфер обмена, перейти в 1 базу, в только что созданную таблицу, и вставить содержимое буфера обмена.
4. Задать имя новой таблице.
5. А дальше, вам уже привели пример выбора из двух таблиц.
Удачи.
Aisha12
Цитата(sava1 @ 01.08.13, 15:56) необходимо зарегистрироваться для просмотра ссылки
Если Выбор=1 Тогда
   Таб.ИсходнаяТаблица("Таблица1");
Иначе Если Выбор=2 Тогда
   Таб.ИсходнаяТаблица("Таблица2");
....
КонецЕсли


Спасибо!! Вот попробовала, выходит теперь:
Таб=СоздатьОбъект("Таблица1");   
{Документ.Доверенность.Форма.Модуль(76)}: Неудачная попытка создания объекта (Таблица1)

Значит условие верно и я неправильно прописываю создание таблицы? Я просто беру и вставляю код для кнопки печать для второй таблицы
Процедура Печать(СразуНаПринтер = 0,КолЭкз = 1)
    
    Таб = СоздатьОбъект("Таблица");
    
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn.mxl";
    Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
    Иначе
        Таб.ИсходнаяТаблица("Таблица");
    КонецЕсли;
    

    РНН_БИН                 = Организация.ИдентификационныйНомер;
        
    Паспорт      = " серии " + ?(ПустаяСтрока(СокрЛП(Сотрудник.ДокументСерия))=0, СокрЛП(Сотрудник.ДокументСерия), "_____________") +
                   " № " + ?(ПустаяСтрока(СокрЛП(Сотрудник.ДокументНомер))=0, СокрЛП(Сотрудник.ДокументНомер), "_____________") +
                   " от " + ?(ПустоеЗначение(Сотрудник.ДокументДатаВыдачи)=0, СтрЗаменить(Формат(Сотрудник.ДокументДатаВыдачи,"Д(0)ДДММММГГГГ"), "г.", "года"), """_____"""+"______________________ 20___ года");
    ПаспортВыдан = "выдан " + СокрЛП(Сотрудник.ДокументКемВыдан) + ?(ПустоеЗначение(Сотрудник.ДокументДатаВыдачи)=0, ", " + Формат(Сотрудник.ДокументДатаВыдачи,"Д ДДММГГГГ") + " года", "");
    
    Таб.ВывестиСекцию("Шапка");
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    
    Таб.ВывестиСекцию("Подвал");
    Таб.Опции(0,0,0,0, "ОпцииДоверенность");
    глЗащитаТаблицы(Таб);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Печать доверенности","");
    
КонецПроцедуры

Что неправильного?

Цитата(vadim007 @ 01.08.13, 16:37) необходимо зарегистрироваться для просмотра ссылки
Делаем следующее:
1. Запускаем два конфигуратора, в одном открываем 1 базу, во втором 2 базу.
2. Открываем нужные документы в режиме Редактирования формы.
3. В документе 1 базы создаем новую таблицу, переходим во 2 базу, отрываем нужную таблицу, выделяем (нажать мышкой левый верхний квадратик), скопировать выделенное в буфер обмена, перейти в 1 базу, в только что созданную таблицу, и вставить содержимое буфера обмена.
4. Задать имя новой таблице.
5. А дальше, вам уже привели пример выбора из двух таблиц.
Удачи.



Я так и сделала до этого, теперь вот не знаю как правильно расписать 2 таблицу в модуль
sava1
Вторая таблица "Таблица" должна быть в конфигураторе или использовать вторую внешнюю форму (аналогично первой)
Aisha12
Цитата(sava1 @ 01.08.13, 16:58) необходимо зарегистрироваться для просмотра ссылки
Вторая таблица "Таблица" должна быть в конфигураторе или использовать вторую внешнюю форму (аналогично первой)

Нет, нет мне нужно, чтоб обе таблицы были в Конфигураторе, то есть встроенными, При процедуре печать, которую я расписала получается, что таблица выбирается из внешнего источника, как сделать, чтоб наоборот она выбиралась из конфигуратора
vadim007
Цитата(Aisha12 @ 01.08.13, 13:10) необходимо зарегистрироваться для просмотра ссылки
Нет, нет мне нужно, чтоб обе таблицы были в Конфигураторе, то есть встроенными, При процедуре печать, которую я расписала получается, что таблица выбирается из внешнего источника, как сделать, чтоб наоборот она выбиралась из конфигуратора

Ну я же Вам все написал!
Aisha12
Цитата(vadim007 @ 01.08.13, 17:36) необходимо зарегистрироваться для просмотра ссылки
Ну я же Вам все написал!

ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn.mxl";
    Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);

Вот вместо этого что надо написать?
sava1
Если Выбор=1 Тогда
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn.mxl";

   //Таб.ИсходнаяТаблица("Таблица1");
Иначе Если Выбор=2 Тогда
   ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn_2.mxl";
   //Таб.ИсходнаяТаблица("Таблица2");
....
КонецЕсли

Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
Aisha12
Цитата(sava1 @ 01.08.13, 17:52) необходимо зарегистрироваться для просмотра ссылки
Если Выбор=1 Тогда
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn.mxl";

   //Таб.ИсходнаяТаблица("Таблица1");
Иначе Если Выбор=2 Тогда
   ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn_2.mxl";
   //Таб.ИсходнаяТаблица("Таблица2");
....
КонецЕсли

Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);


Вот что я сделала:
Процедура Печать()               
    
    Меню=СоздатьОбъект("СписокЗначений");
    Меню.ДобавитьЗначение(1,"Старая форма");
    Меню.ДобавитьЗначение(2,"Типовая форма Доверенности");
    
    Выбор=0;
    Если Меню.ВыбратьЗначение(Выбор,"",0,,1)=0 Тогда
        возврат;
    КонецЕсли;          
    
    Таб=СоздатьОбъект("Таблица");
    Таб=СоздатьОбъект("Таблица1");  
    
    
    Если Выбор=1 Тогда
        Таб.ИсходнаяТаблица("Таблица");
    Иначе
        Если Выбор=2 Тогда
            Таб.ИсходнаяТаблица("Таблица1");
    КонецЕсли;

и после этого я прописываю Если Выбор=1 Тогда то есть пишу код для 1 таблицы, потом пишу Иначе и вторую табл, я правильно делаю??
sava1
Таб=СоздатьОбъект("Таблица"); 
Если Выбор=1 Тогда
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\[u]prfdvn[/u].mxl";


Иначе Если Выбор=2 Тогда
   ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\[u]prfdvn_2[/u].mxl";

....
КонецЕсли

Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);


// далее манипулируем объектом ТАб
// Если есть разница в печ. формах - используем Если Выбор=х
// Если нет - просто выводим секции
Aisha12
Цитата(sava1 @ 01.08.13, 18:33) необходимо зарегистрироваться для просмотра ссылки
Таб=СоздатьОбъект("Таблица"); 
Если Выбор=1 Тогда
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\[u]prfdvn[/u].mxl";


Иначе Если Выбор=2 Тогда
   ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\[u]prfdvn_2[/u].mxl";

....
КонецЕсли

Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);


далее манипулируем объектом ТАб
// Если есть разница в печ. формах - используем Если Выбор=х
// Если нет - просто выводим секции

простите, зачем Вы мне пишите про внешние печатные формы? мне нужно чтоб они были встроенные. Вот это меня устраивает, это же указывает на то, что они встроенные да?:
Если Выбор=1 Тогда
        Таб.ИсходнаяТаблица("Таблица");
    Иначе
        Если Выбор=2 Тогда
            Таб.ИсходнаяТаблица("Таблица1");
    КонецЕсли;

// далее манипулируем объектом ТАб
// Если есть разница в печ. формах - используем Если Выбор=х
// Если нет - просто выводим секции - значит я правильно делаю, спасибо! посмотрю, что из этого выйдет
sava1
Цитата(Aisha12 @ 01.08.13, 15:24) необходимо зарегистрироваться для просмотра ссылки
    ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\prfdvn.mxl";


Ну не я первый начал.
А вообще-то - нет разницы с чем работать.
vadim007
Цитата(sava1 @ 01.08.13, 15:53) необходимо зарегистрироваться для просмотра ссылки
Ну не я первый начал.
А вообще-то - нет разницы с чем работать.

Браво!!!
Aisha12
Цитата(sava1 @ 01.08.13, 19:53) необходимо зарегистрироваться для просмотра ссылки
Ну не я первый начал.
А вообще-то - нет разницы с чем работать.

Спасибо, спасибо огромное!! Все работает!!!! это я просто с условиями запуталась
vadim007
Цитата(Aisha12 @ 02.08.13, 11:07) необходимо зарегистрироваться для просмотра ссылки
Спасибо, спасибо огромное!! Все работает!!!! это я просто с условиями запуталась

Не пропало еще желание "поработать в 1с"?
Все вздохнули облегченно 32542460.gif
Aisha12
Цитата(vadim007 @ 02.08.13, 17:22) необходимо зарегистрироваться для просмотра ссылки
Не пропало еще желание "поработать в 1с"?
Все вздохнули облегченно 32542460.gif

нет не пропало, и не пропадет, я только начинаю осваивать, мне это интересно)
vadim007
Цитата(Aisha12 @ 02.08.13, 14:39) необходимо зарегистрироваться для просмотра ссылки
нет не пропало, и не пропадет, я только начинаю осваивать, мне это интересно)

Тогда выскажу свое imho: семерка скоро перестанет поддерживаться. Не стоит тратить молодость на освоение обреченной на умирание платформы. Лучше начать осваивать сразу восьмерку. Восьмерка сейчас прет по полной. Это видно даже по этому сайту - количество тем по семерке несравненно мало по отношению к восьмерке. Думаю, через год vofka вообще закроет семерочный раздел. Удачи.
mister-x
Цитата(vadim007 @ 02.08.13, 14:11) необходимо зарегистрироваться для просмотра ссылки
Думаю, через год vofka вообще закроет семерочный раздел. Удачи.

через рік, підозрюю, що 77 ще буде сяк-так підтримуватись 47046430.gif
Aisha12
Цитата(vadim007 @ 02.08.13, 19:11) необходимо зарегистрироваться для просмотра ссылки
Тогда выскажу свое imho: семерка скоро перестанет поддерживаться. Не стоит тратить молодость на освоение обреченной на умирание платформы. Лучше начать осваивать сразу восьмерку. Восьмерка сейчас прет по полной. Это видно даже по этому сайту - количество тем по семерке несравненно мало по отношению к восьмерке. Думаю, через год vofka вообще закроет семерочный раздел. Удачи.

с семеркой приходится работать только из-за 2-3 компаний, не хотят 8 ставить, а так вообще работаем на 8.2. 8.2 вот и осваиваю)
mister-x
Цитата(Aisha12 @ 02.08.13, 14:52) необходимо зарегистрироваться для просмотра ссылки
с семеркой приходится работать только из-за 2-3 компаний

вам ще везе, в нас тих компаній 30 с копійками 47046430.gif
Aisha12
Цитата(mister-x @ 02.08.13, 19:56) необходимо зарегистрироваться для просмотра ссылки
вам ще везе, в нас тих компаній 30 с копійками 47046430.gif

надо их переключить на 8)) а то совсем отстанут от жизни)
Домовик
Цитата(Aisha12 @ 05.08.13, 4:10) необходимо зарегистрироваться для просмотра ссылки
надо их переключить на 8))


всего делов то smile.gif тридцать компаний
sava1
Цитата(Aisha12 @ 05.08.13, 8:10) необходимо зарегистрироваться для просмотра ссылки
надо их переключить на 8)) а то совсем отстанут от жизни)


А может сначала спросить - хотят-ли Они переходить на 8 ?
mister-x
Цитата(Aisha12 @ 05.08.13, 7:10) необходимо зарегистрироваться для просмотра ссылки
надо их переключить на 8)) а то совсем отстанут от жизни)

так не хочуть 47046430.gif, до останнього будуть чекати
Vofka
Цитата(mister-x @ 05.08.13, 12:03) необходимо зарегистрироваться для просмотра ссылки
так не хочуть 47046430.gif , до останнього будуть чекати

За счет своей фирмы переводите, я думаю, клиенты будут не против.
mister-x
Цитата(Vofka @ 05.08.13, 11:20) необходимо зарегистрироваться для просмотра ссылки
За счет своей фирмы переводите, я думаю, клиенты будут не против.

там ще питання по навчанню - не має часу для навчання, ІМХО - то все лінощі та не бажання вчитись чомусь новому
Vofka
Цитата(mister-x @ 05.08.13, 12:29) необходимо зарегистрироваться для просмотра ссылки
то все лінощі та не бажання вчитись чомусь новому

То всё деньги, в первую очередь, и геморой с франчами-переводчиками.
mister-x
Цитата(Vofka @ 05.08.13, 11:35) необходимо зарегистрироваться для просмотра ссылки
То всё деньги, в первую очередь

не без цього smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.