Если план счетов не отображается в документе - скорее всего не загружен справочник корректных проводок.
Создал чистую базу в новой папке на основе только одного md-файла - все прекрасно работает, план счетов есть.
Цитата(elenanestere @ 29.09.11, 11:13)
Такой вопрос. Создала базу данных чистую, только теперь при вносе данных, например, в банковкую выписку отсутствует план счетов. Что это может быть? Спасибо за ответ.
А вообще план счетов присутствует? Из меню Операции->План счетов он вызывается?
Конфигурация 1с бухгалтерия 7.7 релиз 287. Создавала папку, потом через Конфигуратор - Загрузить изменённую конфигурацию и указала расположение файла конфигурации уже существующей базы 1cv7.md
Это "лечится" следующим образом: сворачивается окно 1с предприятия, и тогда окно отладчика все время активное. Но иногда, особенно в самом начале отладки, окно отладчика все равно не активно, и приходится в него "переходить" мышкой. Но через 7-10 итераций все нормализуется.
Классная у вас Фирма! И Юристы есть и даже Администраторы 1С!!!11 А пару строк кода проверки дублей контрагентов написать некому Пичалька
Вот извлечение из глобального модуля для проверки ввода повторных контрагентов:
Перем ТаблКА Экспорт; Перем Хвосты;
Функция БезХвостов(Стр) Ст=СокрЛП(Стр); Для К=1 По Хвосты.РазмерСписка() Цикл Хвост=Хвосты.ПолучитьЗначение(К); П=Найти(Ст,Хвост); Если П>0 Тогда Ст=Лев(Ст,П-1)+Сред(Ст,П+СтрДлина(Хвост)); КонецЕсли; КонецЦикла; Возврат Ст; КонецФункции
Процедура ЗаменитьСимволы(Стр, Что, НаЧто) Пока Найти(Стр, Что) > 0 Цикл Стр = СтрЗаменить(Стр, Что, НаЧто); КонецЦикла; КонецПроцедуры
Функция Нормализация(Стр) Какашки="`~!@#$%^&*()_+|\/;:""№?{}[]-,"; // Уберем хвосты Ст=СокрЛП(БезХвостов(НРег(Стр))); // Уберем какашки Для Инд=1 По СтрДлина(Какашки) Цикл Какашка = Сред(Какашки, Инд, 1); ЗаменитьСимволы(Ст, Какашка, ""); КонецЦикла; // Оставим по одному пробелу между словами ЗаменитьСимволы(Ст, " ", " "); ЗаменитьСимволы(Ст, " .", "."); Возврат Ст; КонецФункции
Функция ПоСловам(Стр) Сп=СоздатьОбъект("СписокЗначений"); Слово=""; Для К=1 По СтрДлина(Стр) Цикл С=Сред(Стр,К,1); Если С=" " Тогда Сп.ДобавитьЗначение(Слово); Слово=""; Иначе Слово=Слово+С; КонецЕсли; КонецЦикла; Если Слово<>"" Тогда Сп.ДобавитьЗначение(Слово); КонецЕсли; Возврат Сп; КонецФункции //ПоСловам
Процедура глВнестиКонтрагента(Контр) Экспорт Назв=Нормализация(Контр.Наименование); Если Назв="" Тогда Возврат; КонецЕсли; П=0; Сп=ПоСловам(Назв); Если ТаблКА.НайтиЗначение(Контр,П,"Контрагент") = 1 Тогда ТаблКА.ПолучитьСтрокуПоНомеру(П); Сп.Выгрузить(ТаблКА.Список); Иначе ТаблКА.НоваяСтрока(); ТаблКА.Контрагент=Контр; ТаблКА.Список=Сп; КонецЕсли; ТаблКА.Краткое=Назв; КонецПроцедуры
Процедура ЗагрузитьКонтрагентов(Табл) Состояние("Загрузка справочника контрагентов..."); Контр= СоздатьОбъект("Справочник.Контрагенты"); Контр.ВыбратьЭлементы(); П=0; ПП=100; Пока Контр.ПолучитьЭлемент()=1 Цикл П=П+1; Если П>=ПП Тогда Состояние("Загрузка справочника контрагентов ("+Строка(ПП)+")..."); ПП=ПП+100; КонецЕсли; Если Контр.ЭтоГруппа()=1 Тогда Продолжить; КонецЕсли; Назв=Нормализация(Контр.Наименование); Если Назв="" Тогда Продолжить; КонецЕсли; Сп=ПоСловам(Назв); Табл.НоваяСтрока(); Табл.Контрагент=Контр.ТекущийЭлемент(); Табл.Краткое=Назв; Табл.Список=Сп; КонецЦикла; КонецПроцедуры
Функция СравнитьСписки(Наим1,Сп1,Наим2,Спп2,Т,Сп) Т.УдалитьСтроки(); Сп2=Спп2; Наим11=Наим1; Наим22=Наим2; Если ПустоеЗначение(Сп1)=0 Тогда Для К=1 По Сп1.РазмерСписка() Цикл Слово1=Сп1.ПолучитьЗначение(К); Слово=""; Дл=0; П=0; Дл1=СтрДлина(Слово1); Если ПустоеЗначение(Сп2)=0 Тогда Для Л=1 По Сп2.РазмерСписка() Цикл Слово2=Сп2.ПолучитьЗначение(Л); Дл2=СтрДлина(Слово2); Если СтрДлина(Слово1)<СтрДлина(Слово2) Тогда Если Лев(Слово2,Дл1)=Слово1 Тогда Если Дл<Дл1 Тогда Дл=Дл1; П=Л; Слово=Слово2; КонецЕсли; КонецЕсли; Иначе Если Лев(Слово1,Дл2)=Слово2 Тогда Если Дл<Дл2 Тогда Дл=Дл2; Слово=Слово2; П=Л; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; Если Дл>0 Тогда Т.НоваяСтрока(); Т.Слово1=Слово1; Т.Слово2=Слово; Т.Длина=Дл; КонецЕсли; КонецЦикла; КонецЕсли; Т.Сортировать("-Длина,+Слово1"); Сп.УдалитьВсе(); БылСлово=""; Т.ВыбратьСтроки(); Пока Т.ПолучитьСтроку()=1 Цикл Если Т.Слово1=БылСлово Тогда Продолжить; КонецЕсли; Если Сп.НайтиЗначение(Т.Слово2)>0 Тогда Продолжить; КонецЕсли; БылСлово=Т.Слово1; П=Найти(Наим11,Т.Слово1); Если П>0 Тогда Наим11=Лев(Наим11,П-1)+Сред(Наим11,П+СтрДлина(Т.Слово1)); КонецЕсли; П=Найти(Наим22,Т.Слово2); Если П>0 Тогда Наим22=Лев(Наим22,П-1)+Сред(Наим22,П+СтрДлина(Т.Слово2)); КонецЕсли; КонецЦикла; Кол=0; Для К=1 По СтрДлина(Наим11) Цикл С=Сред(Наим11,К,1); П=Найти(Наим22,С); Если П>0 Тогда Кол=Кол+1; Наим22=Лев(Наим22,П-1)+Сред(Наим22,П+1); КонецЕсли; КонецЦикла; Возврат Макс(СтрДлина(Наим11)-Кол,СтрДлина(Наим22)); КонецФункции
Функция глПоискПовторенийВСправочнике(Наим, Эл="") Экспорт Если ПустоеЗначение(ТаблКА)=1 Тогда ТаблКА.НоваяКолонка("Контрагент","Справочник.Контрагенты"); ТаблКА.НоваяКолонка("Краткое","Строка"); ТаблКА.НоваяКолонка("Список"); ЗагрузитьКонтрагентов(ТаблКА); КонецЕсли; Гран=0.005; //! Граница чуствительности числа одинаковых символов СпКА=СоздатьОбъект("СписокЗначений"); Назв=Нормализация(Наим); Сп1=ПоСловам(Назв); К=0; КК=50; ТТТ=СоздатьОбъект("ТаблицаЗначений"); ТТТ.НоваяКолонка("Слово1","Строка"); ТТТ.НоваяКолонка("Слово2","Строка"); ТТТ.НоваяКолонка("Длина","Число"); Спп=СоздатьОбъект("СписокЗначений"); Шаг=Окр(ТаблКА.КоличествоСтрок()/30,0,1); КК=Шаг; ТаблКА.ВыбратьСтроки(); Пока ТаблКА.ПолучитьСтроку()=1 Цикл К=К+1; Если К>=КК Тогда Состояние("Поиск "+КК+" из "+ТаблКА.КоличествоСтрок()+" ..."); КК=КК+Шаг; КонецЕсли; Если Эл<>"" Тогда Если Эл=ТаблКА.Контрагент Тогда Продолжить; КонецЕсли; КонецЕсли; Сп2=ТаблКА.Список; Р=СравнитьСписки(Назв,Сп1,ТаблКА.Краткое,Сп2,ТТТ,Спп); Если Р=0 Тогда В=1; Иначе М=Мин(СтрДлина(Назв),СтрДлина(ТаблКА.Краткое)); В=?(?(М=0,100,Р/М)<=Гран,1,0); КонецЕсли; Если В=1 Тогда СпКА.ДобавитьЗначение(ТаблКА.Контрагент); КонецЕсли; КонецЦикла; Если СпКА.РазмерСписка()>0 Тогда Сп=СоздатьОбъект("СписокЗначений"); Сп.ДобавитьЗначение(СпКА,"Список"); Сп.ДобавитьЗначение(Наим,"Наименование"); ОткрытьФормуМодально("Обработка.ПовторенияКонтрагентов",Сп); Если Число(Сп.Получить("Отменено"))=1 Тогда Возврат 0; КонецЕсли; КонецЕсли; Возврат 1; КонецФункции //ПоискПовторенийВСправочнике ... // В конце гл.модуля ТаблКА= СоздатьОбъект("ТаблицаЗначений"); Хвосты=СоздатьОбъект("СписокЗначений"); Хвосты.ДобавитьЗначение("ооо"); Хвосты.ДобавитьЗначение("аозт"); Хвосты.ДобавитьЗначение("гоао"); Хвосты.ДобавитьЗначение("чп"); Хвосты.ДобавитьЗначение("ч.п."); Хвосты.ДобавитьЗначение("муп"); Хвосты.ДобавитьЗначение("атп"); Хвосты.ДобавитьЗначение("оао"); Хвосты.ДобавитьЗначение("имнс"); Хвосты.ДобавитьЗначение("гни"); Хвосты.ДобавитьЗначение("пни"); Хвосты.ДобавитьЗначение("зао"); Хвосты.ДобавитьЗначение("ч/п"); Хвосты.ДобавитьЗначение("ч.п"); Хвосты.ДобавитьЗначение("предприниматель"); Хвосты.ДобавитьЗначение("предпринимат"); Хвосты.ДобавитьЗначение("предприн"); Хвосты.ДобавитьЗначение("предпр"); Хвосты.ДобавитьЗначение("предп");
В модуле формы справочника Контрагенты, в процедуре ПриЗаписи(), добавляем фрагмент:
Эл=?(Выбран()=1,ТекущийЭлемент(),""); Если глПоискПовторенийВСправочнике(Наименование, Эл)=0 Тогда СтатусВозврата(0); Возврат; КонецЕсли; Записать(); глВнестиКонтрагента(ТекущийЭлемент());
Переводчик http://translate.yandex.ru/, перевожу слово "нижеподписавшиеся", ошибочно задал направление перевода Украинский->Русский. Перевел как сергеевна
Зачем так сложно - копировать строки документа в цикле. Я так понял - нужно создать точную копию исходного документа? Используйте ВыгрузитьТабличнуюЧасть(..), ЗагрузитьТабличнуюЧасть(..). PS: Использование ДокОснование.ПолучитьСтрокуПоНомеру(стр); в начале циклов Для а=стр по ДокОснование.КоличествоСтрок() Цикл лишено смысла. Условие внутри цикла Пока ДокОснование.ПолучитьСтроку()=1 Цикл не совсем прозрачное для стороннего взгляда, нужно пройтись отладчиком на реальных данных. Лучше ставьте отладочные сообщения в этом цикле, и помотрите, сколько на самом деле копируется строк в новый документ. Но все эти "выкрутасы" с циклами не совсем понятны, если цель - ввести точно такой-же документ на основании.
Добавил в стандартную Бухгалтерию для семерки документ ИзменениеПараметровНеоборАктивов (взято из ПУБа): http://webfile.ru/5345093 При обновлении конфигурации выбрать только документ ИзменениеПараметровНеоборАктивов. Можно также отметить и справочник НеоборотныеАктивы, если он у вас не отличается от стандартного. Иначе нужно в справочнике НеоборотныеАктивы, в свойствах атрибута НормаАмортизацииПоНалоговомуМетоду, на вкладке Дополнительно, отметить галочкой поле "Изменяется документом". Это нужно для того, чтобы сохранять значение нового значения НормаАмортизацииПоНалоговомуМетоду с помощью вызова УстановитьРеквизитСправочника(..) в модуле проведения. Также можно добавить в глобальном модуле, в процедуре ПриНачалеРаботыСистемы(), добавить строку ПрефиксАвтонумерации("Документ.ИзменениеПараметровНеоборАктивов","ИПН-"). Это по желанию.
Подскажите, пожалуйста, как добавить уже работающую "новую" фирму со справочниками и всеми документами к уже существующей? Это нужно для консолидации двух и более (до семи) фирм в одну базу.
IgorBMW правильно поставленный вопрос - это половина ответа. Можно я попробую перефразировать ваш вопрос в более понятный? Спасибо. Итак, требуется объединить несколько работающих баз 1С конфигурвции "Бухучет для Украины" в одну. Правильно? Если "ДА" - то поехали. 1. Для чего? Единственное преимущество от этого - получение бухгалтерских отчетов отдельно по предприятию или по всем вместе. Т.е. будет как-бы консолидированная отчетность. У Вас Холдинг? Тогда нужно смотреть в сторону российских конфигураций. Если "чтобы все было в одной базе", то не стоит овчинка выделки. 2. Смотрю тупо на строку Это нужно для консолидации двух и более (до семи) фирм в одну базу. Все таки холдинг, и все таки нужно. Тогда будем собирать минусы не в пользу решения оставить все в текущей конфигурации. 3. Конфигурации должны быть однотипными. Вы точно знаете, что все семь фирм работают в "Бухучет для Украины"? Может одна работает с ТиС, другая с ПУБ? 4. Конфигурации должны быть идентичными. Это даже не обсуждается. 5. Константы. Здесь можут возникнуть камень преткновения. Если все семь баз "слить" в одну базу, то значения констант будут действовать для всех фирм одинаково. Нельзя будет задать для одной фирмы константу "Кто выписывает налоговую накладную" Петрова В.В., а для другой фирмы - Сидорова А.А. Это касается и других констант, особенно из группы "Валовые доходы/расходы". А если у фирм, которые вы хотите консолидировать, разные значения констант "Использовать счета расходов", "Метод партионного учета", то при консолидации вы просто поломаете их учет. 6. Еще один очень неприятный, на мой взгляд, момент - префиксы нумерации документов. При одной фирме, т.е. когда не активирован разделитель учета, каждый документ имеет свой префикс, по которому его легко быстро выделить в общем журнале. "Оказание услуг" - ОУ-000001, "Банковская выписка" - БВ-000001, и т.д. При включении разделителя учета Фирма, префикс нумерации будет тот, который задан для каждой фирмы в справочнике Фирмы. Например, если для фирмы Добро задан префикс ДО, то, для уже приведенных примеров, "Оказание услуг" - ДО-000001, "Банковская выписка" - ДО-000001. 7. Обработок для выполнения такой работы нет. Единственная вменяемая, которую я встречал - Univero 2.7 (Universal 2.7). Но автор давно забросил ее, а жаль. На дисках ИТС есть "Конвертация данных". Думаю, с помощью ее можно сделать такую работу, но на изучение самой "Конвертации данных" нужно потратить до пол-года. Так что вам лучше обратиться к серьезному франчайзи. За 5 копеек такую работу не выполнишь, если вы конечно еще не передумали.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!