Имя: Пароль:
1C
1С v8
Переделка обработки из 7 в 8.2
0 mulder_mulder
 
07.02.12
09:59
Добрый день. Простите меня если что.
Приходилось ковырять семёрку, а теперь посадили за восьмёрку, и сказали,что в ней конфигурировать легче, и я разберусь.

Вчера просидел весь рабочий день, в решении проблемы. Ночью снились функции. Сегодня утром понял, что меня обманули :).

Я переделываю гарантийный талон из обработки от 7.7 в 8.2 управление тоговлей (10).

По похожести, удалось воссоздать общий вид обработки. Но встрял с модулем. Все команды, которые я знал, оказались мусором здесь. А какие аналоги комманд здесь, я не знаю :(

Буду рад, всем, кто сможет оказать спонтанную помощь.

Вот текст модуля от 7.7

Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
   
   //ИсхТабл = СоздатьОбъект("Таблица");
   ИсхТабл = ИсхТабл СоздатьЗаголовокТаблицы("Таблица");

   НачПовт = 0; КонПовт = 0;
   
   // Секция Шапка таблицы
   Поставщик = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование) + " " + глПредставлениеАдреса(Докум.Фирма.ЮрЛицо.ЮрАдрес) + " " + СокрЛП(Докум.Фирма.ЮрЛицо.Телефоны);
   ИсхТабл.ВывестиСекцию("Шапка");
   
   // выводим табличную часть
   НомСтроки = 0;
   Докум.ВыбратьСтроки();
   
   Пока Докум.ПолучитьСтроку() = 1 Цикл
       Если Докум.Номенклатура.Гарантия = 1 Тогда
           НомСтроки    = НомСтроки + 1;
           СрокГарантии = Докум.Номенклатура.СрокГарантии;
           ИсхТабл.ВывестиСекцию("Строка");                  
       КонецЕсли;
   КонецЦикла;
       
   // секция Подвал
   ИсхТабл.ВывестиСекцию("Подвал");

   Если Устройство = 0 Тогда
       ИсхТабл.Опции(0,0,0,0,"ОпцииПечатиГарантийныйТалон");
       //Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда
       //    ИсхТабл.ТолькоПросмотр(1);
       //Иначе
           ИсхТабл.ТолькоПросмотр(0);
       //КонецЕсли;
       ИсхТабл.Показать(глНазваниеДокументаВжурнале(Докум),"");  
   Иначе    
       ИсхТабл.ПараметрыСтраницы(1,,,10,5,5,5,,,1,,);
       ИсхТабл.КоличествоЭкземпляров(КолвоКопий);
       ИсхТабл.Напечатать(0);
   КонецЕсли;
   
КонецПроцедуры // Печать()  

Процедура ПоКнопкеПечать(Элемент)
   
//******************************************************************************
// ПоКнопкеПечать()
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//
   Если Док.Выбран() = 0 Тогда
       Предупреждение("Не выбран документ!", 60);
       Возврат;
   КонецЕсли;
   
   Печать(Док);
   
КонецПроцедуры // ПоКнопкеПечать()

Процедура ПриОткрытии(Элемент)    
   
//    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

   Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

       
       Докум      = Форма.Параметр.Получить("Контекст");
       Устройство = Форма.Параметр.Получить("Устройство");
       КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
                                                                   
       Печать(Докум, Устройство, КолвоКопий);
       Статусвозврата(0);
       Возврат;          
   КонецЕсли;
   
   
КонецПроцедуры // ПриОткрытии()  


Ругается на следующие слова.
{Форма.Печать_гарантийного_талона.Форма(4,12)}: Переменная не определена (Таблица)
   ИсхТабл = <<?>>Таблица.СоздатьЗаголовокТаблицы("Таблица"); (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(9,66)}: Процедура или функция с указанным именем не определена (глПредставлениеАдреса)
   Поставщик = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование) + " " + <<?>>глПредставлениеАдреса(Докум.Фирма.ЮрЛицо.ЮрАдрес) + " " + СокрЛП(Докум.Фирма.ЮрЛицо.Телефоны); (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(34,20)}: Процедура или функция с указанным именем не определена (глНазваниеДокументаВжурнале)
       ИсхТабл.Показать(<<?>>глНазваниеДокументаВжурнале(Докум),"");   (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(69,7)}: Процедура или функция с указанным именем не определена (ПустоеЗначение)
   Если <<?>>ПустоеЗначение(Форма.Параметр) = 0 Тогда (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(77,3)}: Процедура или функция с указанным именем не определена (Статусвозврата)
       <<?>>Статусвозврата(0); (Проверка: Толстый клиент (обычное приложение))

Ещё заметил, что переменные, обзываются в 8.2 в реквезитах, а Табличную часть пришлось делать в макетах. Что ж, может быть такой переворот с ног на голову и лучше. Развивается абстрактное мешление :)
1 mulder_mulder
 
07.02.12
10:01
Странно, часть слов не влезло, Наверное это глюк эксплорера.
2 filh
 
07.02.12
10:01
думаю, что вот это
>>{Форма.Печать_гарантийного_талона.Форма(9,66)}: Процедура или функция с указанным именем не определена (глПредставлениеАдреса)
хоть на 7.7 хоть на 8.х понятна.
3 Fish
 
07.02.12
10:04
(2) Да тут, ИМХО, и так всё понятно, судя по: "Ещё заметил, что переменные, обзываются в 8.2 в реквезитах, а Табличную часть пришлось делать в макетах" :)))
4 МастерВопросов
 
07.02.12
10:08
Сделаю свой маленький вклад:

"Пока Докум.ПолучитьСтроку() = 1 Цикл"

В 1С8 документ может иметь несколько таб.частей, поэтому надо писать что то вроде:

"Для каждого СтрокаТЧ Из Док.ИмяТабличнойЧасти Цикл"
5 МастерВопросов
 
07.02.12
10:11
Компа под рукой нет, так бы выложил пример как с макетами работать.
6 Рэйв
 
07.02.12
10:15
(0)>>сказали,что в ней конфигурировать легче

В 8.х не легче и не сложнее. В ней  -ПОДРУГОМУ.

Так что садись за книжки. Кавалерийским наскоком тут не делу не поможешь.  Логика программирования сильно отличается.

Один раз может и помогут на мисте, но если все равно работать с 8, то лучше сразу начинать нормально изучать. Раньше начнешь- раньше закончишь.
7 МастерВопросов
 
07.02.12
10:15
http://www.sky1c.ru/node/190

вот пример работы с макетом
8 mulder_mulder
 
07.02.12
10:17
(2) На мисте, есть отлицный самоучитель по созданию обработок под 7.7
А где мне найти подобный мануал, по созданию обработок под 8...
Я чувствую, что пока я непойму как это сделать, пока не пойму, как это делать, и зачем.
(глПредставлениеАдреса)Её тоже надо объявлять? но как, каким типом. Я теряюсь пока в
8-ке. Она ведь у меня не действительно, нет её определения.

(3) А гарантийник  сделать прищлось действительно в макетах, и тут смешного нет.
9 Рэйв
 
07.02.12
10:20
>>глПредставлениеАдреса

Обычно все переменные с префиксом "гл" - это глобальные переменные, определенные при старте системы. Так что если у  тебя в 77 оно гдето определялось, то надо это повторить в 8-ке. Иначе она ее не опознает естественно
10 Рэйв
 
07.02.12
10:21
+(9)...или функции
11 mulder_mulder
 
07.02.12
10:25
(7) Благодарю, полезный кирпичик
(9-10) Повторять в 8-ке где надо, в реквизитах, или  для 8.. надо вместо "гл" писать "глв", "глав", "main" :)
12 МастерВопросов
 
07.02.12
10:26
" (глПредставлениеАдреса)Её тоже надо объявлять? но как, каким типом"

ой блииин. Аднака зря я ввязался помогать.
13 mulder_mulder
 
07.02.12
10:27
(12) видно зря, дайте ссылок, а я сам.
14 МастерВопросов
 
07.02.12
10:28
(11) пиши везде вместо "глПредставлениеАдреса" = "СокрЛП" и не рви мозг.
15 Рэйв
 
07.02.12
10:28
(11)Вообщето в 77 глПредставлениеАдреса  -это просто экспортная функция в глобальом модуле. Она могла называться называться как угодно.хоть и  mainПредставлениеАдреса()
:-)

Это не платформенная функция. В 8-ке ее тоже придется писать если хочешь чтобы работало. Но тебе будет проще достать представление адреса самому и не городить огород
16 Рэйв
 
07.02.12
10:33
17 СвинТуз
 
07.02.12
10:38
это Вы из 7.7 кусок кода в 8.2 вставили ? как есть?
18 СвинТуз
 
07.02.12
10:39
могу наняться репетитором ... если Вы в москве
19 МастерВопросов
 
07.02.12
10:41
(13)  может поможет чем:
v8: Надо срочно выучить 8.2. Спасайте.
20 МастерВопросов
 
07.02.12
10:45
(16) ему сейчас больше пригодится "простые приемы разработки". Там для 1С81, но зато кратко и по делу (Радченко за пару дней не освоишь), у меня она долго на рабочем столе выложена была...
21 Рэйв
 
07.02.12
10:47
(20)Тогда вот таких ему ссылок:-)

там есть и простыее примеры и всего много еще..
http://yandex.kz/yandsearch?text=ЕСИС+%2Bскачать&clid=40795&lr=162
22 mulder_mulder
 
07.02.12
10:51
(17) Только код модуля, теперь стоит вопрос в замене имён функций и переменных на словестные идентификаторы, определяемые в системе 8. как правильные.

(16,21) Благодарю, :) бум рыть .

А есть информация о аналогах системных переменных 7-8. ?
Мне ещё три переменные восьмёрке разжевать, а потом мелкая работа напильником, и можно ко второй обработке переходить. там проще, её я сам делал гола три назад. :)

{Форма.Печать_гарантийного_талона.Форма(36,20)}: Процедура или функция с указанным именем не определена (глНазваниеДокументаВжурнале)
       ИсхТабл.Показать(<<?>>глНазваниеДокументаВжурнале(Докум),"");   (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(71,7)}: Процедура или функция с указанным именем не определена (ПустоеЗначение)
   Если <<?>>ПустоеЗначение(Форма.Параметр) = 0 Тогда (Проверка: Толстый клиент (обычное приложение))
{Форма.Печать_гарантийного_талона.Форма(79,3)}: Процедура или функция с указанным именем не определена (Статусвозврата)
       <<?>>Статусвозврата(0); (Проверка: Толстый клиент (обычное приложение))
23 Рэйв
 
07.02.12
10:54
(2)Ты так и не понял ничего.

8-ка от 7-ки отличается не только тем, что у нее те же методы прописаны подругому.

Тебе придется практически весь код 77 выкинуть и написать заново.
24 mulder_mulder
 
07.02.12
11:12
(23) Сори ноут вырубился. :( Можно начинать с читсого листа.
Я всё понял. Суть обработки есть, внешняя печатная форма. Гарантийник, который берёт из документа-родителя Список купленных ТМЦ, дату, и контрагента, и всталяет в генерируемую таблицу, (Как я понял из шаплонов), а потом выводит на печать.

Но вся проблема в том, что я в 8, как скорпион в море, тут нет общего с паскалем, бейсиком, на который так была похожа  семёрка, от сюда и комплекс. Извините.
25 BuHu
 
07.02.12
11:16
(24) давай мыло , вышлю книжку
26 mulder_mulder
 
07.02.12
11:20
27 BuHu
 
07.02.12
11:41
(26) ушло
28 mulder_mulder
 
07.02.12
11:47
(27) ещё идёт.
29 mulder_mulder
 
07.02.12
11:50
Пришла. Большое благодарю.
30 mulder_mulder
 
07.02.12
11:57
Большое благодарю всем за ссылки и файлы. У меня появился багаж, с которым я
поплыву дальше.

Выражаю всем глубокую благодарность за помощь, успехов вам и всего наилучшего.

P.S.
Побеспокою вас позже, но уже более грамотно :)
31 mulder_mulder
 
07.02.12
16:26
Ну всё получилось почти. :)
Кто знает, где мне найти список параметров справочника.

"РеализацияТоваровУслуг"

Копаясь в документах понял, что есть

РеализацияТоваровУслуг.Номер,
РеализацияТоваровУслуг.Дата

А что ещё есть?
Ведь при установке точки, ничего не вылетает? было бы делфи, давно бы узнал, что там ешё :)
32 mulder_mulder
 
07.02.12
16:28
Да, почти закончил, осталось придумать цикл внесения списка приобретённых ТМЦ из дочернего документа.
33 mulder_mulder
 
07.02.12
16:30
Всё нашёл в Документы.РеализацияТоваровУслуг
34 mulder_mulder
 
08.02.12
14:49
Радченко объясняет с начала хорошо, а потом как с бывалым. Скачет с термина на термин.
А работу с запросами так поставил, что я могу с ней работать только в примерах его-же,с его же базой. А для себя ничего полезного сделать не могу.

Мне надо сейчас получить список проданных товаров, а точнее сотворить цикл чтения таблицы по строкам. Если бы она лежала в одном уровне с датой,

РеализацияТоваровУслуг.Дата

проблем нет, а тут

РеализацияТоваровУслугТовары.Номенклатура.Наименование

Здесь я пытался получить наименование, из вложенного в товары и услуги массива номенклатура.

И вообще, в 8-ке можно бойтись без запросов, ну вообще оградили человечество от кода, всё через GUI :(

Можно вообше такое сделать

Пока РеализацияТоваровУслугТовары.Номенклатура.строка = правда ТО
a:=РеализацияТоваровУслугТовары.Номенклатура.строка.наименование


Ничего не получается вылетает ошибка, Поле объекта не обнаружено (Номенклатура)

//Заполняем список ТМЦ
Сообщить(строка.Номенклатура.Наименование);
и так пробовал
Сообщить(строка.Наименование);

А запрос такой:
Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Номер,
   |    РеализацияТоваровУслуг.Дата,
   |    РеализацияТоваровУслугТовары.Номенклатура.Наименование
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
   |ГДЕ
   |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
   |    И РеализацияТоваровУслугТовары.Номенклатура = &ТекущийДокум"          ;
   
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); //используем в качетсве параметра реквизит обработки СсылкаНаОбъект
   Запрос.УстановитьПараметр("ТекущийДокум", СсылкаНаОбъект); //используем в качетсве параметра реквизит обработки СсылкаНаОбъект
35 FIXXXL
 
08.02.12
15:05
в запрос тяни ТЧ нужную, у нее есть Ссылка, через которую получишь реквизиты самого дока
типа:

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка.Номер,
   РеализацияТоваровУслугТовары.Ссылка.Дата,
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Сумма
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
36 mulder_mulder
 
08.02.12
15:20
(35) Нету через конструктор Количества, суммы, и кучи всего остального.
Они внутри номенклатуры, из которой я немогу ничего вытянуть.
Сейчас попробую в тупую вбить, пому что уже идей своих нет. но думаю что не мопожет.
37 FIXXXL
 
08.02.12
15:24
(36) скопируй мой пример в конструктор и посмотри внимательно: там заюзана табли ТЧ Товары, а не таблица Документа, а вот доступ до реквизитов документа уже через Ссылка
38 mulder_mulder
 
08.02.12
15:27
Попробовал.
Прошло, только пришлось удалить строку    РеализацияТоваровУслугТовары.Номенклатура,
Не принял он её. Но почему через конструктор такого нет?
39 mulder_mulder
 
08.02.12
15:28
Сумма отобразилась корректно, а Количесвто у меня 5 Но выдало 1, я так понял, программа мне говорит, что количесво есть.
40 FIXXXL
 
08.02.12
15:29
(38) чего нет через конструктор? попробуй документ "распахнуть" через +, все там есть
41 mulder_mulder
 
08.02.12
15:46
Ага получилось, я забыл обновить обработку.
Это что получается, я могу прям из корня, после точки любую переменную вызывать, что далее лежит?

Что такое ТЧ?

Я после новшеств в сокращениях путаюсь.

как мне получить доступ к спискам наименований, можно это сделать без запросов, по старому, например:

а = РодительскийОбъект.номенклатура.количество;
for d:=0 to a do
begin
массив[d]=РодительскийОбъект.номенклатура[d];
end;

так же проще.
42 FIXXXL
 
08.02.12
15:58
(41) да, через точку можешь вытащить любой реквизит "шапки" документа
но следует помнить, что любое обращение через точку - это дополнительная нагрузка

ТЧ - Табличная Часть

лучше изучай запросы :)
можно в принципе писать после получения ссылки на документ
для каждого стр из "НужнаяТЧ" цикл

   .....

конеццикла

в 8 в отличии от 7 у документа может быть несколько ТЧ, хранятся они в отдельных таблицах
поэтому - запрос наше все
43 mulder_mulder
 
08.02.12
16:00
Понял. Буду изучать :)
Наше всё :).
44 mulder_mulder
 
08.02.12
16:50
Не допру что то я.
Вот, я сделал запрос

"ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Номер,
   |    РеализацияТоваровУслуг.Дата,
   |    РеализацияТоваровУслуг.Товары.(
   |        Количество
   |    )
   |ИЗ
   |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |ГДЕ
   |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"          ;
   


Вот я сделал код

//Заполняем шапку
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ОбластьМакета.Параметры.Гарантийный_талон_с_номером_и_датой_продажи = "ГАРАНТИЙНЫЙ ТАЛОН № " + Шапка.Номер + " от " + Шапка.Дата;
   ТабДокумент.Вывести(ОбластьМакета);
   //*******************************
   
   
   //Заполняем список ТМЦ
   
   ОбластьМакета = Макет.ПолучитьОбласть("Строка");
   
       
       ОбластьМакета.Параметры.ИмяТМЦ = Шапка.Товары.Количество;    
   
   
       ТабДокумент.Вывести(ОбластьМакета);  

Вылетает ошибка:

Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Количество)

С вложением проблема.
и как мне её обойти понять не могу, что ей надо блин.
45 FIXXXL
 
08.02.12
16:51
(44) запрос делай к ТЧ, а не к документу
46 FIXXXL
 
08.02.12
16:53
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка.Номер,
   РеализацияТоваровУслугТовары.Ссылка.Дата,
   РеализацияТоваровУслугТовары.Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
47 FIXXXL
 
08.02.12
16:54
кароч, так как ты делаешь в результат количество не выташишь по простому
в результате запроса ты получишь ЦЕЛИКОМ ТЧ Товары как одно из полей результата запроса, а не количество
48 FIXXXL
 
08.02.12
16:56
РеализацияТоваровУслуг - выбираешь из документа
РеализацияТоваровУслугТовары - выбираешь из ТЧ Товары, у которого Ссылка - это ссылка на таблицу документа без ТЧ
49 FIXXXL
 
08.02.12
16:57
ты лезешь "сверху" от документа к ТЧ, а тебе надо "снизу" от ТЧ к документу :)
50 mulder_mulder
 
12.02.12
10:17
А где тогда логика,
Вот у меня папка, в ней бумажка, в бумажке, ТЧ, в ней Колонки, в колонках цифры.
А надо на оборот.

Чтобы найти документ номер ....8 надо найти все документы с ячейками, который есть таблица, который на бумажке, который в папке.

Это как : - "ну помнишь, там ещё кофе был уголок забрызган"
- "А, точно, щас найду". :)

Интересная логика, не нашенская, ну что ж поделать. Если разбирать двигатель, то только через выхлопную трубу. :)

Попробуем. :)
51 mulder_mulder
 
12.02.12
11:22
Ага. Чуток понимать стал.
Это как игра. Все знают кто украл, а надо ещё доказать.

Значит есть у нас данные табличной части. Мы туда лезем, и запросом, вытаскиваем массивы данных из  корня, и из вложений. А если надо получить данные из родительских объектов, мы пользуемся ссылками.
52 MishaD
 
12.02.12
12:02
(51) Ощущение, что в 7-ке никогда из подчиненного справочника элементы запросом не выбирал, вместе с владельцем. Тоже самое.
53 mulder_mulder
 
12.02.12
12:09
(52) По службе не приходилось. Только вносил.

"ВЫБРАТЬ
    |    РеализацияТоваровУслугТовары.Ссылка.Номер,
    |    РеализацияТоваровУслугТовары.Ссылка.Дата,
    |    РеализацияТоваровУслугТовары.Количество,
    |    РеализацияТоваровУслугТовары.Номенклатура.Наименование,
    |    РеализацияТоваровУслугТовары.Номенклатура.Гарантия,
    |    РеализацияТоваровУслугТовары.Номенклатура.Срок__Гарантии
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |    РеализацияТоваровУслугТовары.Ссылка = &ТекущийДокумент";

..................

  а = Шапка.Количество();    //Получаем количество позиций в документе
      в = 0;
  Для б=0 По а-1 Цикл
   сообщить(б);
   
   в = в+1;
   ОбластьМакета.Параметры.НомерСтроки = в;
   ОбластьМакета.Параметры.Номенклатура_Наименование = Шапка.Номенклатура.Наименование;
   ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;

Теперь упёрся вот во что. Как мне получить  элемент списка РеализацияТоваровУслугТовары.Номенклатура.Наименование

Пробовл по разному
Шапка.Номенклатура.Наименование
Шапка.Наименование
Наименование

Шапка.Номенклатура.Наименование[0];
.....

Каккую команду надо применить?
Взять(Шапка.Наименование)
Шапка.получить(Наименование)?
54 mulder_mulder
 
12.02.12
12:12
Кажется не туда полез. Надо мне копать в товарах.
55 mulder_mulder
 
12.02.12
12:13
РеализацияТоваровУслугТовары...
От туда брать значения наименования
56 mulder_mulder
 
12.02.12
12:19
РеализацияТоваровУслугТовары.НомерСтроки через неё выбирать строку данных таблицы
Правильно угадал?
57 mulder_mulder
 
12.02.12
12:23
Наверное не правильно, потому как номер строки недоступен для записи.
Тогда какой функцией назначить номер строки?
58 mulder_mulder
 
12.02.12
12:38
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
      а = Шапка.Количество();    //Получаем количество позиций в документе
      в = 0;
  Для б=0 По а-1 Цикл
   сообщить(б);
   
   в = в+1;
   ОбластьМакета.Параметры.НомерСтроки = в;        //Вносим порядковый номер в документе
   
   Документы.РеализацияТоваровУслуг.НайтиПоНомеру(в);
   ОбластьМакета.Параметры.Номенклатура_Наименование = Шапка.НоменклатураНаименованиеПолное;

Получилось так. Но почему-то в печатной форма отображается одно и тоже наимнование товара первое. Хотя я назначая каждый раз новые номера.
59 mulder_mulder
 
12.02.12
12:50
Ага понял.
Шапка.НайтиСледующий(в);
   сообщить(Шапка.Номерстроки);


Такой хороший форум, все так помогают, аж душе приятно.:)
60 mulder_mulder
 
12.02.12
13:50
Как узнать "Количество позиции" в документе РеализацияТоваровУслуг

В конструкторе такой переменной нет, ни в номенклатуре ни в товаре
61 mulder_mulder
 
12.02.12
14:24
Всё нашёл. Был глюк в 1с перезагрузил программу, стало показывать
62 mulder_mulder
 
12.02.12
15:35
ВСё. Закончил. Осталась мелочь. Печатная форма генерируется, а изменить я там ничего не могу, все ячейки в режиме "только чтение". Кто знает, как их сделать редактируемыми. В 1с 7,7 можно редактировать. тут нет.
63 mulder_mulder
 
12.02.12
15:40
Всё. Отпадает. Разобрался. Надо было снять защиту с ячейки. :)
Ну вот видите, каких-то 7 дней прошло и всё получилось:)

Благодарю всех за помощь. Без вас, бы я ещё долго колупался.

Рад, что не всё отличается от 7,7.
Начинаю вставать в колею, как говорится, у страха глаза велики, а руки делают. :)
64 MaxS
 
12.02.12
16:15
Те, кто перешел из 7-ки в 8-ку часто пишут код как в 7-ке.
Это видно по стилю. В 7-ке все данные обрабатываются в таблицах значений.
В 8-ке многое можно сделать запросами, но программисты эти запросы используют для извлечения данных в... таблицу значений.  И потом по тысячи раз в цикле  одной ТЗ цикл по другой ТЗ и т.п. перебирают данные, между делом извлекая из ссылок дополнительные данные через точку. Становится страшно за базу данных после таких наездов на неё. ;)
65 mulder_mulder
 
12.02.12
22:30
(64) Что же теперь поделать, это как инстинкты выработанные после военных действий.
66 zif
 
12.02.12
22:39
(0) Книжки спасут ОРД.

Мне помогали вначале:
С. А. Митичкин "Разработка в системе «1С:Предприятие 8.0»"
А.П. Габец, Д.И. Гончаров "1С:Предприятие 8.0 Простые примеры разработки"
67 zavsom
 
13.02.12
01:42
нихера себе вот вы тут даете - чел даже Радченко не соизволил прочитать для начала каких то 800 страниц , а ему уже 65 постов кода накидали - халявщику.
68 МастерВопросов
 
13.02.12
06:05
(66) Вот бесплатные курсы от Чистова, даже читать ничего не надо:
http://easyedu.ru/category/prog82/step1/
2 + 2 = 3.9999999999999999999999999999999...