1С:Торговля и Склад - ошибка во всех релизах, При использовании нескольких фирм и префиксов номеров документов.

04.11.11

Разработка - Механизмы типовых конфигураций

Собственно сегодня обнаружил ошибку, которая присутствует во всех релизах конфигурации Торговля и Склад 7.7 вплоть до текущего 7.70.969, при использовании нескольких фирм и префиксов документов для некоторых из них.

Собственно сегодня обнаружил ошибку, которая присутствует во всех релизах конфигурации Торговля и Склад 7.7 вплоть до текущего 7.70.969, при использовании нескольких фирм и префиксов документов для некоторых из них. Возьмем для примера демонстрационную базу, которая ставится по-умолчанию вместе в новой конфигурацией. В базе определено несколько фирм, в том числе:

1. Торговый дом "Комплексный" (Магазин) - Префикс "СТ"
2. Торговый дом "Новый" (Офис) - Префикс "ТН"

По-умолчанию для них выставлены префиксы документов СТ и ТН соответственно. Допустим для первой фирмы (Комплексный) нам не требуется использовать префикс номеров документов. Заходим в справочник фирмы и убираем его. Т.о. получаем, для ТД Комплексный префикс фирмы не используется, а для ТД Новый - префикс ТН. Далее создаем документ реализации от фирмы ТД "Новый". При выборе фирмы префикс документа автоматически меняется на ТН, как и должно быть. Сохраняем документ (табличную часть и прочие реквизиты можно не заполнять). Затем оформляем документ "Продажа собственной фирме" от ТД Комплексный к ТД Новый и заполняем чем-нибудь табличную часть, шапка документа должна выглядеть вот так:

После нажатия кнопки "Выполнить" должно быть создано два документа:

1. Реализация товара ТД Комплексный -> ТД Новый.
2. Поступление товара ТД Комплексный -> ТД Новый.

Причем согласно установленным нами префиксам первый документ (реализация, оформленный фирмой ТД Комплексный) должен быть без префикса, а второй документ (оформленной фирмой ТД Новый) должен иметь префикс ТН. Нажимаем кнопку выполнить и наблюдаем следующее:

Оба документа оформились с префиксом ТН, хотя первый из них принадлежит абсолютно другой (!) фирме и должен быть без префикса. Ошибка кроется в процедуре СкопироватьРеквизитыШапки модуля формы документа быстрая продажа, а именно в строке:

 

ДокКуда.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + СокрЛП(Фирма.ЮрЛицо.ПрефиксНомеровДокументов));

 

Вместо этого там должно быть:

 

ДокКуда.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ?(СокрЛП(Фирма.ЮрЛицо.ПрефиксНомеровДокументов)="","0",СокрЛП(Фирма.ЮрЛицо.ПрефиксНомеровДокументов)));

Аналогичная ситуация возможна и в других местах конфигурации (документ "Продажа собственной фирме", вернее "Быстрая продажа" был рассмотрен в качестве примера), т.е. во всех процедурах где используется установка нового номера документа с использованием префикса через метод УстановитьНовыйНомер, а таких мест в конфигурации около 30. Их можно найти поиском по всем текстам по шаблону:

.ПрефиксНомеровДокументов

 

 

См. также

Как получить номер и дату договора из наименования справочника договоров?

Механизмы типовых конфигураций Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

В типовых конфигурациях платформы "1С:Предприятие 7.7" часто номер и дата договора указаны в самом наименовании договора. Что создает сложности в тех случаях, когда эти реквизиты надо знать, например, при конвертации данных в конфигурации платформы "1С:Предприятие 8", где номер и дата договора - отдельные реквизиты.

1 стартмани

24.09.2015    28433    2    SiAl    7    

7

Исправление и проведение документов

Универсальные функции Механизмы типовых конфигураций Бухгалтерский учет 7.7 1С:Производство+Услуги+Бухгалтерия Россия Бесплатно (free)

Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.

23.07.2012    14243    BorisBelov    11    

6

Взаимозачет по партиям для регистра "ПартииНаличие"

Логистика, склад и ТМЦ Механизмы типовых конфигураций Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет Абонемент ($m)

В процессе работы с конфигурацией ТИС, в разрезе одной номенклатуры могут накапливаться как положительные так и отрицательные остатки по различным партиям. Данная обработка содержит модуль проведения регламентного документа, который можно было бы создать в конфигурации и условно назвать "КорректировкаПартий", посредством которого можно провести взаимозачёт таких партий.

1 стартмани

02.01.2012    14813    124    Digo65    19    

12
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 1с2с 53 06.11.11 00:32 Сейчас в теме
(0) эта "особенность" известна давно...
самое простое решение:
не оставлять значение префикса пустым, а устанавливать в качестве него тот самый "0"...,
что есть идентично по результату вашему варианту...
mosAdm; Масянечка; +2 Ответить
3. Масянечка 06.11.11 13:46 Сейчас в теме
(1) и (2) спасибо, вот я об этой особенности узнала, к сожалению, недавно(((
4. warenic 109 07.11.11 17:14 Сейчас в теме
Ну, в (1), собсно, уже ответили... Это не ошибка, это бага такая. УстановитьНовыйНомер() не поддерживает пустое значение.
2. TrinitronOTV 14 06.11.11 09:36 Сейчас в теме
спасибо за информацию
5. legioner 164 10.11.11 02:43 Сейчас в теме
Да. Сталкивался с этой "особенностью" не раз. Если несколько фирм - префикс не должен оставаться пустым
6. ninch 51 11.11.11 07:06 Сейчас в теме
Да уж. Это действительно особенность 1с. Причем даже и в восьмерке. Если уже начали использовать префиксы то они должны быть определены для всех и каждого. Тоже самое и в обменах с распределенными базами:)
7. Иваныч 23 08.11.13 15:36 Сейчас в теме
Спасибо автору, я честно говоря, ни разу не делал Продажу собст. фирме, посему и не замечал такого. Еще раз спасибо. Плюс поставил
Оставьте свое сообщение