Подскжите по регистру сведений!!!

Форум 1С: Одинэс.Ру

Найти!

Подскжите по регистру сведений!!!

Antidot
25.06.2009 - 02:35
Здравствуйте! понятно почему проблема, но не понятно как делать в таком случае правильно. вот ситуация:
документ приходная делает запись в регистр сведений "Цены", где измерение Номенклатура и ресурс Цена.
вот, т.е. при проведении приходной, в регистре сведений хранится цена на только что поступивший товар, а когда вводишь в одном и том же документе 2 одинаковые строки, то выходит сообщение: Запись с такими ключевыми полями уже существует.
вот скажите как традиционно такой момент реализуется?
спасибо!
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
29.03.2024 - 09:18
Смотри также:
Как сделать элемент формы активным?
Тех задание.
Сайт для поиска\предложения удаленной и постоянной работы по 1С

Re: Подскжите по регистру сведений!!!

Мымра
1 - 25.06.2009 - 02:52
а зачем две одинаковые строки вводить?
1. не вводить одинаковые строки
2. в обработке проведения обрабатывать одинаковые строки, приводя к одной проводке

Re: Подскжите по регистру сведений!!!

Antidot
2 - 25.06.2009 - 03:15
ну то что 2 строки вводить не нужно это понятно, имеется ввиду, если всетаки пользователь введет? хотя он не может 2 цены одному и тому же товару задать

Re: Подскжите по регистру сведений!!!

Мымра
3 - 25.06.2009 - 03:21
тогда надо запретить проводить доки с одинаковыми строками

Re: Подскжите по регистру сведений!!!

Antidot
4 - 25.06.2009 - 03:23
Подскажите пожалуйста еще, почему этот код не работает:
в форме документа при открытии:
в самом верху модуля создал переменную
Перем ТекСтрока;
затем процедура приОткрытии:
ТекСтрок = ЭлементыФормы.Товары.ТекущиеДанные;
    ТекСтрока = ЭлементыФормы.Товары.ТекущиеДанные;
Если ТекСтрока.СтавкаНДС = Перечисления.ВариантыНДС.НДС10 Тогда
СтавкаНДС = 10
ИначеЕсли
ТекСтрока.СтавкаНДС = Перечисления.ВариантыНДС.НДС20 Тогда
СтавкаНДС = 20;
ИначеЕсли
ТекСтрока.СтавкаНДС = Перечисления.ВариантыНДС.БезНДС Тогда
СтавкаНДС =0;
КонецЕсли;
затем процедура
ценаПриИзменении:
ТекСтрока = ЭлементыФормы.Товары.ТекущиеДанные;
ТекСтрока.СуммаНДС = ТекСтрока.Сумма/100*СтавкаНДС;
 
пишет: ставкаНДС не является значением объектного типа
скажите где ошибка?

Re: Подскжите по регистру сведений!!!

Мымра
5 - 25.06.2009 - 03:36
ТекСтрока.СтавкаНДС =   - это что?

Интересные темы

odines.ru
29.03.2024 - 09:18
Смотри также:
v8: Конфигурация "Самопал"
КАК СДЕЛАТЬ НУМЕРАЦИЮ ТОРГ12 8.0 ?
УТ Дата документа не соответствует текущей дате или дате последнего оперативно проведенного документа.

Re: Подскжите по регистру сведений!!!

Antidot
6 - 25.06.2009 - 03:43
в тч есть колонка СтавкаНДС, типа перечисление
текСтрока.СтавкаНДС - должно быть значение из ТЧ, этой колонки

Re: Подскжите по регистру сведений!!!

Мымра
7 - 25.06.2009 - 03:47
а имя колонки какое?

Re: Подскжите по регистру сведений!!!

Мымра
8 - 25.06.2009 - 03:49
-(7)не так.
тогда что такое
СтавкаНДС = 20;
СтавкаНДС = 10

Re: Подскжите по регистру сведений!!!

Antidot
9 - 25.06.2009 - 04:04
ну это и имя колонки тоже, такое же
ну когда выражение:
ТекСтрока.Количеству*ТекСтрокаСумма то программа не ругается, а
вот на СтавкаНДС ругается

Re: Подскжите по регистру сведений!!!

Мымра
10 - 25.06.2009 - 04:14
еще вопрос
а в процедуре ценаПриИзменении где определена СтавкаНДС?

Re: Подскжите по регистру сведений!!!

Мымра
11 - 25.06.2009 - 04:20
и вообще, ничего не поняла.
СтавкаНДС - это тип перечисление или число, почему в одном месте ТекСтрока.СтавкаНДС, а в другом просто СтавкаНДС
 

Re: Подскжите по регистру сведений!!!

Мымра
12 - 25.06.2009 - 04:20
водном месте сравниваешь с перечислением, а в другом присваиваешь числовое значение

Re: Подскжите по регистру сведений!!!

Antidot
13 - 25.06.2009 - 04:26
у меня в табличной части документа есть поле: ставкаНДС и СуммаНДС, мне нужно при изменении цены делать такую формулу (сумма/100*СтавкаНДС) а затем результат присвоить полю СуммаНДС.
но, т.к. ставкаНДС не числовой тип, а перечисление, то я при открытии формы хочу чтобы определенная переменная уже содержала значение поля СтавкаНДС, но и тип чтобы был число, чтобы на него умножить можно было.
to (10) - она и должна определиться при открытии формы, ну т.е. уже быть числом 10, 20 или 0

Re: Подскжите по регистру сведений!!!

Мымра
14 - 25.06.2009 - 04:33
13-Antidot >Если у тебя переменная определена в процедуре "ПриОткрытии", это вовсе не значит, что она будет определена во всем модуле.
Ты ее в модуле объявил?
Или ты думаешь, что "Перем ТекСтрока;" - этого достаточно?
А в отладчике не пробовал смотреть типы своих переменных?
 
И еще
У тебя в одном документе могут быть разные ставки НДС?
И еще
хочу ответ на (12)

Re: Подскжите по регистру сведений!!!

Antidot
15 - 25.06.2009 - 04:40
1. еще ниже всех модулей у меня есть строчка инициализации переменной:
   ТекСтрока = ЭлементыФормы.Товары.ТекущиеДанные;
2. в отладчике смотрел - система отправляет сразу в конфигуратор :-(
3. да в одном документе на разные товары может быть разная ставка НДС
4. На 12: сравниваю с перечислением ТекСтрока.СтавкаНДС - оно имеет значение перечисления, а присваиваю значение простой переменной СтавкаНДС
или я не прав?

Re: Подскжите по регистру сведений!!!

Мымра
16 - 25.06.2009 - 04:49
у меня предложение тебе
Сделай в т.ч. еще один столбец, типа число, назови его СтНДС и сделай ТекСтрока.СтНДС = ?(ТекСтрока.СтавкаНДС= Перечисления.ВариантыНДС.НДС20,20,.... )
И еще не поняла, зачем тебе ТекСтрока и ТекСтрок

Re: Подскжите по регистру сведений!!!

Antidot
17 - 25.06.2009 - 05:14
Конечно так можно сделать, но это же не красиво, да и наверняка есть какой то традиционный способ? как это реализовано в типовых ?
ТекСтрок - это лишняя строка, пробовал подругому
А можно ваше мнение Мымра?
вот мне нужно в итоге потом построить отчет примерно такого вида:
-------------------------------------------------------
приходная №1, дата, суммаПрихода, НДС10, НДС20, БезНДС
-------------------------------------------------------
вот под это дело я создал регистр накопления "НДС"
вопрос: как правильней его спроектировать, либо :
Вариант 1
Измерение: Номенклатура, СтавкаНДС,
Ресурс: Сумма
либо
Вариант 2
Измерение: Номенклатура
Ресурс: Сумма10, Сумма20, СуммаБезНДС?
я создал вариант 1, но при построении через СКД сталкнулся с такой проблемой, нужно вывести в отчет те суммы с ндс где он есть, если его нет, то 0, т.е. если в приходной №1 есть одна строка в ТЧ пришел товар по ставке 10, то и в отчете будет:
-------------------------------------------------------
приходная №1, дата, суммаПрихода, СуммаНДС, 0, 0
-------------------------------------------------------
Но как это получить при реализации структуры регистра по варианту 1????
пробовал:
ВЫБОР
КОГДА РегистрНакопленияНДС.Обороты.СтавкаНДС = &Ставка10 ТОГДА
   РегистрНакопленияНДС.Обороты.Сумма
-------
не получилось :-(
К списку тем 1 > К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Нумерация доков v8: Проблема в производительности »
© 2009 Форум 1С: Одинэс.Ру