Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Расходная накладная (при проведении проверить...)          
bodka Подменю пользователя
сообщение 24.05.11, 19:28
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 76
Спасибо сказали: 36 раз
Рейтинг: 0

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

Процедура ОбработкаПроведения(Отказ, Режим)
    
    Если Количество > ТекСтрокаТовары.Количество Тогда
        Сообщить ( Количество - ТекСтрокаТовары);
        Отказ = Истина;
    Иначе
    
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        // регистр ОстаткиТовара Расход
        Движение = Движения.ОстаткиТовара.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТовары.Товар;
        Движение.Склад = Склад;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЦикла;
    КонецЕсли;
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры



Вот ошибкаи:
{Документ.РасходнаяНакладная(4,14)}: Переменная не определена (Количество)
Сообщить ( <<?>>Количество - ТекСтрокаТовары);
{Документ.РасходнаяНакладная(3,20)}: Переменная не определена (ТекСтрокаТовары)
Если Количество > <<?>>ТекСтрокаТовары.Количество Тогда
{Документ.РасходнаяНакладная(4,27)}: Переменная не определена (ТекСтрокаТовары)
Сообщить ( Количество - <<?>>ТекСтрокаТовары);

Подскажите пожалуйста где нужно исправить?

Ardi Подменю пользователя
сообщение 24.05.11, 19:35
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(bodka @ 24.05.11, 20:28) *
Подскажите пожалуйста где нужно исправить?

В ДНК.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Спасибо сказали: bodka,

bodka Подменю пользователя
сообщение 24.05.11, 19:44
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 76
Спасибо сказали: 36 раз
Рейтинг: 0

x
Причина редактирования: http://pro1c.org.ua/index.php?showtopic=2284

mister-x Подменю пользователя
сообщение 24.05.11, 19:55
Сообщение #4

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата
если не можешь помочь
У нас звертаються на Ви.
Платформа сама каже: в стрічці
Сообщить ( Количество - ТекСтрокаТовары);

Цитата
Переменная не определена (Количество)
Цитата
Переменная не определена (ТекСтрокаТовары)



Сообщить ( Количество - ТекСтрокаТовары);
від кількості (як так думаю тут це малось на увазі) віднімати цілу стрічку в результаті отримаємо уявну величину 12201689.gif

Ardi Подменю пользователя
сообщение 24.05.11, 20:16
Сообщение #5

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(bodka @ 24.05.11, 20:44) *
если не можешь помочь, то зачем вообще писать ...

Я на самом деле очень хочу помочь и откровенно указываю где проблема - в ДНК.

Сообщение отредактировал Ardi - 24.05.11, 20:16


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Batchir Подменю пользователя
сообщение 25.05.11, 6:42
Сообщение #6

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

bodka, может ну его это программирование и в отпуск на море пиво пить?

А если серьёзно, то что Вы добавили при проверке синтаксиса вообще должно было сносить конфигуратор 1С и автоматом убивать право пользователя на конфигурирование, ну или по меньшей мере 1С должна была выдать другое сообщение с ошибками типа:
АЛАРМ !!! АЛАРМ !!! ФАТАЛЬНАЯ ОШИБКА ПРИ КОМПИЛЯЦИИ КОДА ...

logist Подменю пользователя
сообщение 25.05.11, 11:05
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Процедура ОбработкаПроведения(Отказ, Режим)
    Для Каждого ТекСтрокаТовары Из Товары Цикл
    Если Количество > ТекСтрокаТовары.Количество Тогда
        Сообщить ( Количество - ТекСтрокаТовары);
        Отказ = Истина;
    Иначе
        // регистр ОстаткиТовара Расход
        Движение = Движения.ОстаткиТовара.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТовары.Товар;
        Движение.Склад = Склад;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЕсли;
    КонецЦикла;
КонецПроцедуры


Только это все равно работать не будет, т.к. нужно в "Количество" запихнуть таки остаток. А поскольку Вы этого не предусмотрели изначально, то соглашусь с Ardi, программирование это не Ваше.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

bodka Подменю пользователя
сообщение 25.05.11, 13:56
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 76
Спасибо сказали: 36 раз
Рейтинг: 0

Большое спасибо за ответ. А по поводу моих способностей - все мы когда-то начинали, у всех были ошибки. И конечно же остануться "издеватели" над новичками. Такой менталитет наверное...
И куда запихнуть таки остаток? Если можно, то объясните пожалуйста
П.С. Я только начал заниматься по книге (Практическое пособие разработчика)

logist Подменю пользователя
сообщение 25.05.11, 14:06
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(bodka @ 25.05.11, 13:56) *
все мы когда-то начинали, у всех были ошибки.

Все начинали по разному. И по ошибкам можно сделать выводы как человек к этому относится.

Цитата(bodka @ 25.05.11, 13:56) *
И куда запихнуть таки остаток? Если можно, то объясните пожалуйста

Я то объясню но вот как Вы будете это реализовывать....
В начале процедуры надо написать запрос (используя две таблицы) который выберет остатки по нужным товарам в одну таблицу и сведет с таблицей товаров в самом документе. А дальше уже имеющийся цикл нужно закурить на проверку таблицы документа и таблицы остатков на предмет наличия остатков... Как-то так


Signature
Личные бесплатные консультации не даю, для этого есть форум!

meverikxp Подменю пользователя
сообщение 25.05.11, 14:21
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 334
Из: Ровно
Спасибо сказали: 10 раз
Рейтинг: 0

Цитата(bodka @ 25.05.11, 13:56) *
Большое спасибо за ответ. А по поводу моих способностей - все мы когда-то начинали, у всех были ошибки. И конечно же остануться "издеватели" над новичками. Такой менталитет наверное...
И куда запихнуть таки остаток? Если можно, то объясните пожалуйста
П.С. Я только начал заниматься по книге (Практическое пособие разработчика)

Если я правильно понял ваша конфигурация далеко не стандартная, а только начальные наброски.
Посоветую Вам просмотреть обучающие видео Павла Чистова вот ссылка:
[необходимо зарегистрироваться для просмотра ссылки]
По поводу остатков и количества описываются в видео уроке" Подготовка к сертификации 1С:Специалист по платформе 8", но могу и ошибаться давно смотрел.


Также просмотрите уроки от spec8.ru [необходимо зарегистрироваться для просмотра ссылки]


Signature
Самая нелюбимая пословица сапёров: одна нога здесь, другая там...

Спасибо сказали: bodka,

Batchir Подменю пользователя
сообщение 25.05.11, 14:28
Сообщение #11

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

С этого нужно было начинать. Мы всё-таки не уравнения здесь решаем, а реальные проблемы и задачи.

Для контроля остатков напишите отдельную функцию
Функция должна быть общедоступной, т.к. мало ли в каком документе ещё будете выполнять контроль, поэтому функцию желательно описать в модуле самого регистра (можете поглянуть в типовые решения).

Сами остатки получайте с помощью запроса только сразу по всем товарам, а не по каждой строке документа и уже потом контролируйте остатки

mister-x Подменю пользователя
сообщение 25.05.11, 19:02
Сообщение #12

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата
П.С. Я только начал заниматься по книге (Практическое пособие разработчика)
мабуть ви пропустили дещо, оскільки механізм перевірки залишків товару на складі у цій книзі пояснюється

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.04.24, 23:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!