Обработка в 1С 7.7

  • Автор темы Espanol
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

Espanol

#1
Нужно сделать обработку, помогите
Задача:
У документов реализации в строках которых есть товары с кодом (код товара 10,19 товар с подчеркиванием АМ10,18) в поле коминент надо установить определенное значение.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#2
Что не получается? Сделайте милость, сформулируйте вопрос...
 
E

Espanol

#3
Как вообще это написать, я в 1С не силен, подскажите как эту обрабоку написать, задача написанна...помогите чем можете
 
M

ModusPonens

#4
Давайте сначала уточним, что же Вам все-таки нужно.

Как я понял из Вашей формулировки задания, нужно написать обработку. Сразу возникает вопрос:
1) Какая у Вас конфигурация? (Бухгалтерия, Торговля и склад, Зарплата и кадры, Комплексная, ...);

Далее, обработка должна работать с документами. И тут уже второй вопрос:
2) Документы какого типа? (Расходная накладная, Розничная накладная, Реализация из розницы, ...);

Из фразы "У документов реализации в строках которых есть товары с кодом" делаем логический вывод, что не у всех товаров заполнено поле "Код товара" и обработка должна проверять все строки (а точнее товары в строках) каждого документа на предмет заполнения данного реквизита. И в случае нахождения хотя бы одного товара с кодом, заполнять в документе "поле коминент", "определенным значением".
 
E

Espanol

#5
Конфигурация Торговля и склад, вы правильно меня поняли из моей фразы, совершенно верно, извините за сыр бор что я написал. Подскажите мне что за обработку мне нужно написать, если можно напишите её здесь.
 
M

ModusPonens

#6
Что-то такое (! В скобках <> нужно подставлять Ваши значения) :

Код:
Док = СоздатьОбъект("Документ.<ТипДокумента>");
Док.ВыбратьДокументы(Дата1,Дата2); //Дата1 и Дата2 - реквизиты формы обработки - дата начала и конца периода обработки

// перебираем документы
Пока Док.ПолучитьДокумент()=1 Цикл
ТекДок=Док.ТекущийДокумент();
// перебираем строки
ТекДок.ВыбратьСтроки();
Пока ТекДок.ПолучитьСтроку()=1 Цикл
// проверяем наличие кода товара
Если СокрЛП(ТекДок.<Реквизит товара>.<Реквизит кода>) != "" Тогда
ТекДок.Коминент=<Определенное значение>; //записываем значение в документ
ТекДок.Записать();
Прервать; // останавливаем цикл перебора строк документа и переходим к следующему, но ТОЛЬКО в том случае ,если реквизит Коминент принадлежит шапке документа. Если же этот реквизит принадлежит таблице, то команду "Прервать" не нужно писать.
КонецЕсли;
КонецЦикла;
КонецЦикла;
 
Статус
Закрыто для дальнейших ответов.